
:root{
  --bg:#0B1F24; --bg2:#123038; --cream:#F6F3EC; --lime:#C9E64A; --ink:#0F1B1F;
  --muted:#CAD4D7; --line:rgba(255,255,255,.12); --line-light:#d8d3c8;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Manrope",system-ui,sans-serif}
a{text-decoration:none;color:inherit}
.container{max-width:1240px;margin:0 auto;padding:0 28px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border-radius:8px;font-weight:700;transition:all .2s ease}
.btn .arrow{transition:transform .2s ease} .btn:hover .arrow{transform:translateX(4px)}
.btn-primary{background:var(--lime);color:var(--bg)}
.btn-outline{border:1px solid #bcc7cb;color:var(--ink);background:transparent}
.logo{font-size:28px;font-weight:800;letter-spacing:-.04em;color:#fff} .logo .dot{color:var(--lime)}
.nav{position:sticky;top:0;z-index:50;background:rgba(11,31,36,.92);backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between}
.nav-links{display:flex;align-items:center;gap:28px;color:#d6e1e4} .nav-links a{font-size:15px;font-weight:600} .nav-links a:hover{color:#fff}

.hero{
  position:relative;color:#fff;overflow:hidden;
  background:
    linear-gradient(90deg, rgba(11,31,36,.90) 0%, rgba(11,31,36,.76) 24%, rgba(11,31,36,.58) 42%, rgba(11,31,36,.42) 58%, rgba(11,31,36,.24) 100%),
    linear-gradient(180deg, rgba(11,31,36,.24), rgba(11,31,36,.20)),
    url("../img/hero-la-trama.png") center/cover no-repeat;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 12% 22%, rgba(20,53,62,.36), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0) 25%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:2;min-height:620px;display:flex;align-items:center;padding:54px 0 56px}
.hero-copy{max-width:640px}
.eyebrow{color:var(--lime);letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:700;margin-bottom:16px}
h1{margin:0 0 18px;font-size:72px;line-height:.98;font-weight:650;letter-spacing:-.045em;max-width:720px}
h1 .accent{color:var(--lime)}
.lead{font-size:20px;line-height:1.65;max-width:620px;color:var(--muted);margin-bottom:26px}

.section{padding:96px 0}
.section-dark{background:linear-gradient(180deg,var(--bg2),#102830);color:#fff}
.section-light{background:var(--cream);color:var(--ink)}
.section h2{margin:0 0 14px;font-size:46px;line-height:1.02;font-weight:650;letter-spacing:-.04em}
.section .intro{font-size:19px;line-height:1.6;max-width:720px}

.services-list{border-top:1px solid rgba(255,255,255,.12);margin-top:32px}
.service{display:grid;grid-template-columns:100px 1.2fr 1fr auto;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.num{font-size:14px;font-weight:700;letter-spacing:.12em;color:#93a1a5}
.service .title{font-size:38px;line-height:1.05;font-weight:650;letter-spacing:-.03em;display:inline-flex;gap:.04em}
.service .dot{color:var(--lime);opacity:0;transform:translateX(-4px);transition:all .2s ease}
.service .desc{font-size:17px;line-height:1.55;color:#c8d2d5}
.service .arr{font-size:22px;color:#d0dade;transition:transform .2s ease}
.service:hover .dot{opacity:1;transform:none} .service:hover .arr{transform:translateX(4px);color:#fff}

.why{display:grid;grid-template-columns:1fr 1.06fr;gap:76px;align-items:start}
.why-copy{display:flex;flex-direction:column}
.why-title{font-size:76px;line-height:.98;font-weight:650;letter-spacing:-.05em;margin:0 0 18px;max-width:550px}
.manual-highlight{position:relative;display:inline;z-index:1;padding:0 .04em}
.manual-highlight:after{content:"";position:absolute;left:-.03em;right:-.04em;bottom:.08em;height:.42em;background:var(--lime);z-index:-1;transform:rotate(-.8deg);border-radius:1px 6px 2px 5px}
.why-text{font-size:20px;line-height:1.65;max-width:520px;color:#56656a;margin:0 0 34px}
.why-list{display:flex;flex-direction:column;border-top:1px solid var(--line-light)}
.why-item{display:grid;grid-template-columns:64px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--line-light)}
.why-item h3{margin:0 0 8px;font-size:26px;line-height:1.05;font-weight:650;letter-spacing:-.03em}
.why-item p{margin:0;font-size:17px;line-height:1.65;color:#536166}
.why-band{margin-top:64px;background:linear-gradient(90deg,#021820,#042631);border-radius:14px;color:#fff;display:grid;grid-template-columns:1fr auto;align-items:center;padding:28px 32px;gap:20px}
.why-band h4{margin:0 0 8px;font-size:20px;line-height:1.15;font-weight:700} .why-band p{margin:0;color:#d2dde0;font-size:16px}
.circle-btn{width:46px;height:46px;border-radius:999px;background:var(--lime);display:flex;align-items:center;justify-content:center;color:var(--bg);font-size:22px;flex:0 0 auto}

.about{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:start}
.about h2 .lime{color:var(--lime)}
.about-lead{font-size:20px;line-height:1.65;max-width:520px;color:#c7d2d5}
.signature{margin-top:38px;display:inline-flex;align-items:flex-end;gap:2px;line-height:1}
.signature .lt{font-size:36px;font-weight:800;letter-spacing:-.05em;color:#fff;display:block;line-height:.9}
.signature .dot{font-size:36px;line-height:.9;font-weight:800;color:var(--lime);display:block;transform:translateY(-1px)}
.about-list{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.12)}
.about-item{display:grid;grid-template-columns:64px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.about-item h3{margin:0 0 8px;font-size:26px;line-height:1.05;font-weight:650;letter-spacing:-.03em}
.about-item p{margin:0;font-size:17px;line-height:1.65;color:#c5d0d3}

.cta-lime{background:var(--lime);color:var(--bg);padding:90px 0}
.cta-lime .eyebrow{color:rgba(11,31,36,.72)} .cta-lime .text{font-size:20px;line-height:1.65;max-width:760px;margin-top:14px}
.footer{background:var(--bg);color:#fff;padding:20px 0;border-top:1px solid rgba(255,255,255,.06)}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.footer .small{font-size:14px;color:#b8c5c9;line-height:1.65} .footer-links{display:flex;gap:14px;flex-wrap:wrap}

@media (max-width:1100px){ .why,.about{grid-template-columns:1fr} .why-title{font-size:60px} .hero-inner{min-height:520px} }
@media (max-width:980px){ h1{font-size:56px} .service{grid-template-columns:1fr auto;gap:14px 18px} .service .num,.service .desc{grid-column:1/-1} .section h2{font-size:40px} .why-title{font-size:52px} }
@media (max-width:720px){ .container{padding:0 20px} .nav-links a.hide-mobile{display:none} h1{font-size:44px} .hero-inner{min-height:460px;padding:42px 0} .section{padding:72px 0} .why-title{font-size:44px} .why-band{grid-template-columns:1fr;justify-items:start} .signature .lt,.signature .dot{font-size:32px} .footer-inner{flex-direction:column} }



/* V9 — ajustes revisados (el resto de estilos es heredado íntegramente de V8) */
.eyebrow{
  font-family:"Manrope",system-ui,sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.5;
  text-transform:uppercase;
  margin-bottom:16px;
}
.about-lead-second{margin-top:14px}
.footer{padding:0;background:var(--bg);border-top:1px solid rgba(255,255,255,.08)}
.footer-v9-top{
  min-height:116px;display:grid;grid-template-columns:1.18fr 1fr 1fr;
  align-items:center;gap:0;padding:24px 0;
}
.footer-v9-block{min-width:0;display:flex;flex-direction:column;justify-content:center}
.footer-v9-brand{padding-right:36px}
.footer-v9-logo{display:inline-block;width:max-content;font-family:"Manrope",system-ui,sans-serif;
 font-size:27px;font-weight:800;line-height:1;letter-spacing:-.04em;color:#fff}
.footer-v9-logo .dot{color:var(--lime)}
.footer-v9-descriptor{color:#b8c5c9;letter-spacing:.16em;font-size:10px;margin-top:8px;font-weight:500}
.footer-v9-nav,.footer-v9-legal{
 border-left:1px solid rgba(185,201,205,.20);
 padding:2px 34px;gap:9px;align-self:stretch;
}
.footer-v9-block a:not(.logo){font-size:13px;line-height:1.35;color:#d6e1e4;transition:color .2s ease;width:max-content}
.footer-v9-block a:hover{color:var(--lime)}
.footer-v9-legal a{color:#b8c5c9!important}
.footer-v9-legal a:hover{color:var(--lime)!important}
.footer-v9-bottom{
 border-top:1px solid rgba(185,201,205,.12);
 padding:13px 0 15px;text-align:center;
 color:#91a5aa;font-size:11px;line-height:1.4
}
@media (max-width:720px){
 .footer-v9-top{grid-template-columns:1fr 1fr;row-gap:26px;padding:28px 0 23px}
 .footer-v9-brand{grid-column:1/-1;padding-right:0}
 .footer-v9-nav{border-left:0;padding:0 14px 0 0}
 .footer-v9-legal{padding:0 0 0 18px}
 .footer-v9-bottom{font-size:10px}
 .about-lead-second{margin-top:12px}
}



/* Responsive review, V9: mobile/tablet refinements, no desktop design changes */
@media (max-width: 1100px) {
  .hero-copy{max-width:min(100%,680px)}
  .hero{background-position:60% center}
  .why,.about{gap:46px}
}
@media (min-width:721px) and (max-width: 1100px){
  .hero h1{font-size:clamp(46px,5.5vw,65px);line-height:1.03}
  .service{grid-template-columns:52px minmax(195px, .9fr) minmax(220px,1fr) 24px;gap:16px}
  .service .title{font-size:clamp(26px,3.1vw,34px)}
}
@media (max-width:720px){
 .hero{background-position:66% center;
 background-blend-mode:normal;
 }
 .hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,31,36,.45),rgba(11,31,36,.18)),linear-gradient(0deg,rgba(11,31,36,.30),transparent);pointer-events:none}
 .hero-inner{min-height:540px;display:flex;align-items:center;padding:62px 0 66px}
 .hero-copy{width:100%;max-width:100%}
 .hero h1{font-size:clamp(34px,8vw,48px);letter-spacing:-.05em;line-height:1.08}
 .hero .lead{font-size:16px;line-height:1.6;max-width:540px;color:#e0e8e9}
 .hero .btn{font-size:14px;padding:14px 16px;max-width:100%}
 .section{padding:64px 0}
 .section h2{font-size:clamp(30px,7vw,42px);line-height:1.12}
 .section .intro{font-size:16px}
 .service{grid-template-columns:minmax(0,1fr) 24px;gap:10px 14px;padding:20px 0}
 .service .num{grid-column:1/-1}
 .service .title{font-size:30px;overflow-wrap:anywhere}
 .service .desc{grid-column:1/-1;font-size:15px}
 .service .arr{grid-column:2;grid-row:2;justify-self:end}
 .why,.about{gap:36px}
 .why-title{font-size:clamp(37px,8vw,50px);line-height:1.05}
 .why-text,.about-lead{font-size:17px;line-height:1.65}
 .why-item,.about-item{grid-template-columns:34px 1fr;gap:12px;padding:21px 0}
 .why-item h3,.about-item h3{font-size:22px;line-height:1.18}
 .why-item p,.about-item p{font-size:15px}
 .why-band{margin-top:42px;padding:24px;gap:18px}
 .cta-lime{padding:68px 0}
 .cta-lime .text{font-size:17px}
 .footer-v9-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media(max-width:380px){
 .hero h1{font-size:clamp(30px,8.2vw,34px)}
 .nav-inner{gap:12px}
 .nav .logo{font-size:24px}
 .nav-links{gap:8px}
 .nav-links .btn{font-size:12px;padding:10px 11px}
 .why-item h3,.about-item h3{font-size:20px}
 .footer-v9-nav,.footer-v9-legal{padding-right:6px}
}



/* V9 móvil: aire real en el hero (antes la regla padding:62px 0
   anulaba los márgenes laterales del contenedor). */
@media(max-width:720px){
 .hero .hero-inner{padding:70px 26px 76px;min-height:560px}
 .hero .hero-copy{width:100%;max-width:100%}
 .hero h1{font-size:clamp(30px,7.8vw,44px);line-height:1.13;letter-spacing:-.045em;margin-bottom:22px;overflow-wrap:normal}
 .hero .lead{font-size:16px;line-height:1.72;margin-bottom:28px}
 .nav-inner{gap:12px}
 .nav-links{margin-left:auto}
 .nav-links .btn{white-space:nowrap}
 .mobile-menu-toggle{display:flex!important}
}
@media(max-width:380px){
 .hero .hero-inner{padding-left:24px;padding-right:24px}
 .hero h1{font-size:clamp(29px,7.9vw,34px)}
 .nav .logo{font-size:23px}
 .nav-links .btn{font-size:12px;padding:10px 12px}
}
.mobile-menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:42px;height:42px;background:transparent;border:1px solid rgba(255,255,255,.22);border-radius:8px;cursor:pointer;padding:0;flex:none}
.mobile-menu-toggle span{width:18px;height:2px;background:#F6F3EC;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.mobile-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}
.mobile-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.mobile-menu[hidden]{display:none!important}
.mobile-menu{display:none;background:#0B1F24;border-top:1px solid rgba(255,255,255,.12);padding:12px 26px 20px;box-shadow:0 16px 24px rgba(0,0,0,.18)}
.mobile-menu a{display:block;padding:13px 3px;font-size:16px;color:#F6F3EC;border-bottom:1px solid rgba(255,255,255,.10)}
.mobile-menu a:last-child{border-bottom:0}
.mobile-menu a:hover{color:#C9E64A}
@media(max-width:720px){.mobile-menu:not([hidden]){display:block}}



/* Solo prueba opcional V9 — animación de entrada del titular. */
.hero-word{display:inline-block;white-space:nowrap;vertical-align:baseline}
.hero-char{display:inline-block;animation:tramaReveal .63s cubic-bezier(.22,.7,.18,1) both;animation-delay:calc(0.16s + var(--char-order)*26ms);will-change:transform,opacity,filter}
@keyframes tramaReveal{from{opacity:0;transform:translateY(.44em);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.nav .logo .dot{display:inline-block;transform-origin:50% 75%;animation:tramaDot .7s ease-out 1.65s both}
@keyframes tramaDot{0%{opacity:.7;transform:scale(.7)}60%{opacity:1;transform:scale(1.19)}100%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.hero-char,.nav .logo .dot{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}}

/* LA TRAMA V9 — Cabecera móvil más compacta */
@media (max-width: 720px) {

  .nav-inner {
    min-height: 66px;
    gap: 10px;
  }

  .nav-links .btn {
    font-size: 13px;
    padding: 11px 14px;
    white-space: nowrap;
  }

  .mobile-menu-toggle {
    width: 42px;
    height: 42px;
  }

}

@media (max-width: 380px) {

  .nav-inner {
    gap: 8px;
  }

  .nav-links .btn {
    font-size: 12px;
    padding: 10px 11px;
  }

}

/* LA TRAMA V9 — Hero móvil más compacto */
@media (max-width: 720px) {
  .hero .hero-inner {
    min-height: 500px;
    padding: 52px 26px 58px;
  }
}

@media (max-width: 380px) {
  .hero .hero-inner {
    padding-left: 24px;
    padding-right: 24px;
  }
}




/* LA TRAMA — Proyectos seleccionados V1: bloque aislado del resto */
html{scroll-padding-top:88px}
.portfolio-section{background:#0d2024;color:#f6f3ec;position:relative;overflow:hidden}
.portfolio-section::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 85% 5%,rgba(201,230,74,.075),transparent 42%);pointer-events:none}
.portfolio-container{position:relative;z-index:1}
.portfolio-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:end;gap:40px;margin-bottom:44px}
.portfolio-heading .portfolio-eyebrow{font-size:11px;letter-spacing:.18em;margin-bottom:22px}
.portfolio-heading :is(h1,h2){margin:0;font-size:clamp(44px,6vw,78px);line-height:1.03;letter-spacing:-.055em;font-weight:650}
.portfolio-heading :is(h1,h2) span{color:var(--lime)}
.portfolio-heading p{color:#b8c9ca;font-size:17px;line-height:1.75;max-width:360px;margin:0 0 6px}
.portfolio-feature{display:block;border:1px solid rgba(255,255,255,.17);border-radius:16px;overflow:hidden;background:#132b30;transition:border-color .25s ease,transform .25s ease}
.portfolio-feature:hover{border-color:rgba(201,230,74,.55);transform:translateY(-3px)}
.portfolio-feature:focus-visible{outline:3px solid var(--lime);outline-offset:5px}
.portfolio-visual{height:clamp(360px,48vw,570px);position:relative;overflow:hidden;background:#dce7dd}
.portfolio-browser{height:38px;position:absolute;left:0;right:0;top:0;z-index:4;background:#eef2ec;display:flex;align-items:center;gap:7px;padding:0 18px}
.portfolio-browser span{width:7px;height:7px;border-radius:50%;background:#a7bbb0}
.portfolio-browser small{position:absolute;left:50%;transform:translateX(-50%);color:#587264;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700}
.portfolio-image{position:absolute;inset:38px 0 0;background:url('../img/numa-cover.jpg') center 58%/cover no-repeat;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.portfolio-feature:hover .portfolio-image{transform:scale(1.04)}
.portfolio-image-gradient{position:absolute;inset:38px 0 0;background:linear-gradient(90deg,rgba(246,248,242,.97) 0%,rgba(246,248,242,.9) 24%,rgba(246,248,242,.38) 56%,transparent 90%)}
.portfolio-image-copy{position:absolute;z-index:2;left:6%;top:23%;color:#254739}
.numa-mark{font-size:34px;letter-spacing:-.05em;font-weight:800;margin-bottom:34px}
.numa-mark span{color:#769a7d}
.portfolio-image-copy strong{display:block;letter-spacing:-.065em;font-size:clamp(38px,5.1vw,76px);line-height:1.07;font-weight:800}
.portfolio-image-copy em{color:#668d71;font-style:normal}
.numa-caption{margin-top:27px;font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:#446b54;font-weight:700}
.portfolio-preview-tag{position:absolute;right:18px;bottom:18px;z-index:2;padding:9px 12px;background:rgba(246,248,242,.9);color:#345546;border-radius:999px;font-size:11px;font-weight:700}
.portfolio-feature-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 36px 36px}
.portfolio-feature-meta{min-width:0}
.portfolio-project-index{font-size:11px;color:var(--lime);font-weight:700;letter-spacing:.14em}
.portfolio-feature-bottom h3{font-size:clamp(25px,3vw,39px);line-height:1.2;letter-spacing:-.035em;margin:10px 0 8px;font-weight:650}
.portfolio-feature-bottom p{font-size:15px;line-height:1.65;color:#b9c9c9;max-width:600px;margin:0}
.portfolio-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.portfolio-tags span{font-size:11px;border:1px solid rgba(255,255,255,.2);color:#cfdddc;border-radius:99px;padding:6px 10px}
.portfolio-visit{width:58px;height:58px;border-radius:50%;background:var(--lime);color:var(--bg);display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:transform .25s ease}
.portfolio-feature:hover .portfolio-visit{transform:rotate(45deg)}
.portfolio-outro{display:flex;align-items:center;gap:10px;color:#aebec0;font-size:13px;line-height:1.6;margin:22px 0 0}
.portfolio-outro-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);flex:0 0 auto}
@media(max-width:760px){
 .portfolio-heading{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
 .portfolio-heading :is(h1,h2){font-size:clamp(43px,8vw,60px)}
 .portfolio-heading p{font-size:15px;max-width:520px}
 .portfolio-visual{height:430px}
 .portfolio-image{background-position:61% center}
 .portfolio-image-gradient{background:linear-gradient(90deg,rgba(246,248,242,.97),rgba(246,248,242,.85) 45%,rgba(246,248,242,.12) 100%)}
 .portfolio-image-copy{left:7%;top:26%}
 .portfolio-image-copy strong{font-size:clamp(38px,7vw,55px)}
 .numa-mark{font-size:26px;margin-bottom:24px}
 .portfolio-feature-bottom{padding:25px 22px 28px}
 .portfolio-feature-bottom p{font-size:13px}
 .portfolio-visit{width:44px;height:44px}
 .portfolio-visit svg{width:19px;height:19px}
}
@media(max-width:390px){.portfolio-image-copy strong{font-size:36px}.portfolio-visual{height:400px}.portfolio-browser small{font-size:8px}.portfolio-feature-bottom{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){.portfolio-feature,.portfolio-image,.portfolio-visit{transition:none}}

/* PROYECTOS V2 — escala visual homogénea y marca NUMA fiel al proyecto. */
.portfolio-heading :is(h1,h2){font-size:46px;line-height:1.02;letter-spacing:-.04em;font-weight:650}
.portfolio-heading .portfolio-eyebrow{font-family:"Manrope",system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;line-height:1.5;text-transform:uppercase;margin-bottom:16px}
.numa-mark{display:flex;align-items:center;gap:12px;margin-bottom:30px;color:#294b3b}
.numa-logo-symbol{width:50px;height:50px;flex:0 0 50px;display:block}
.numa-logo-wordmark{display:flex;flex-direction:column;gap:3px;letter-spacing:normal}
.numa-logo-wordmark strong{font-family:"Plus Jakarta Sans","Manrope",sans-serif;letter-spacing:-.06em;font-size:31px;line-height:1;font-weight:800}
.numa-logo-wordmark small{font-family:"Plus Jakarta Sans","Manrope",sans-serif;font-size:9px;letter-spacing:.22em;line-height:1.4;font-weight:500}
@media(max-width:980px) and (min-width:721px){.portfolio-heading :is(h1,h2){font-size:40px}}
@media(max-width:720px){.portfolio-heading :is(h1,h2){font-size:clamp(30px,7vw,42px);line-height:1.12}.numa-mark{margin-bottom:24px;gap:9px}.numa-logo-symbol{width:38px;height:38px;flex-basis:38px}.numa-logo-wordmark strong{font-size:24px}.numa-logo-wordmark small{font-size:7.5px}}


/* Proyectos V3: pausa editorial entre la sección clara y el estudio azul petróleo.
   Carbón cálido para distinguir ambos bloques oscuros sin variar la identidad de La Trama. */
.portfolio-section{background:#20231f}
.portfolio-section::before{background:radial-gradient(ellipse at 83% 8%,rgba(201,230,74,.085),transparent 45%)}
.portfolio-section .portfolio-container{position:relative;z-index:1}


/* Proyectos V4: presentación fiel al hero real de NUMA, no captura literal. */
.portfolio-visual{background:#f7f8f2;min-height:460px;height:clamp(460px,44vw,610px);isolation:isolate;}
.numa-preview-topbar{position:absolute;top:0;left:0;right:0;background:#294b39;color:white;height:25px;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:.13em;font-weight:700;z-index:4}
.numa-preview-header{position:absolute;top:25px;left:0;right:0;height:78px;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(25px,5vw,75px);gap:16px;color:#244537;background:rgba(248,249,242,.94)}
.numa-preview-brand{display:flex;align-items:center;gap:9px;flex-shrink:0}
.numa-preview-brand svg{width:43px;height:43px;display:block}
.numa-preview-brand div{display:flex;flex-direction:column;gap:2px}
.numa-preview-brand strong{font:800 29px/1 'Plus Jakarta Sans','Manrope',sans-serif;letter-spacing:-.07em}
.numa-preview-brand small{font:600 8px/1.4 'Plus Jakarta Sans','Manrope',sans-serif;letter-spacing:.19em}
.numa-preview-nav{white-space:pre-wrap;font:600 11px/1.5 'Plus Jakarta Sans','Manrope',sans-serif;color:#516a59;text-align:center}
.numa-preview-contact{font:700 11px/1.3 'Plus Jakarta Sans','Manrope',sans-serif;white-space:nowrap;border:1px solid #b6c8ba;border-radius:6px;padding:12px 15px}
.numa-preview-image{position:absolute;inset:103px 0 0;background:url('../img/numa-cover.jpg') center 58%/cover no-repeat;transition:transform .7s ease}
.portfolio-feature:hover .numa-preview-image{transform:scale(1.015)}
.numa-preview-image::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,249,242,.97) 0%,rgba(248,249,242,.92) 31%,rgba(248,249,242,.2) 67%,transparent 100%)}
.numa-preview-copy{position:absolute;top:calc(103px + 13%);left:clamp(25px,6vw,86px);z-index:2;max-width:53%;color:#243d32;font-family:'Plus Jakarta Sans','Manrope',sans-serif}
.numa-preview-overline{font-size:10px;font-weight:700;letter-spacing:.15em;margin-bottom:20px;color:#5e7c66}
.numa-preview-headline{display:block;font-size:clamp(37px,4.7vw,70px);letter-spacing:-.06em;line-height:1.07;font-weight:800}
.numa-preview-headline em{font-style:normal;color:#698b75}
.numa-preview-copy p{font-size:clamp(11px,1.2vw,14px);line-height:1.7;margin:19px 0 20px;max-width:390px}
.numa-preview-btn{display:inline-flex;padding:13px 16px;background:#254634;color:white;font-size:11px;font-weight:700;border-radius:5px;letter-spacing:0}
.portfolio-preview-tag{font-size:10px}
@media(max-width:900px){.numa-preview-nav{display:none}.numa-preview-header{height:65px}.numa-preview-image{top:90px}.numa-preview-copy{top:calc(90px + 10%)}}
@media(max-width:720px){
.portfolio-visual{height:390px;min-height:0}
.numa-preview-topbar{font-size:7px;letter-spacing:.07em;height:21px}
.numa-preview-header{top:21px;height:53px;padding:0 17px}
.numa-preview-brand svg{width:32px;height:32px}
.numa-preview-brand strong{font-size:23px}
.numa-preview-brand small{font-size:6px}
.numa-preview-contact{font-size:9px;padding:8px 10px}
.numa-preview-image{inset:74px 0 0;background-position:60% center}
.numa-preview-image::after{background:linear-gradient(90deg,rgba(248,249,242,.96),rgba(248,249,242,.88) 40%,rgba(248,249,242,.12) 95%)}
.numa-preview-copy{top:100px;left:20px;max-width:67%}
.numa-preview-overline{font-size:8px;letter-spacing:.1em;margin-bottom:15px}
.numa-preview-headline{font-size:clamp(31px,7.4vw,43px)}
.numa-preview-copy p{font-size:10px;line-height:1.6;margin:12px 0 16px;max-width:260px}
.numa-preview-btn{font-size:9px;padding:11px 12px}
.portfolio-preview-tag{right:9px;bottom:9px;font-size:8px;padding:7px 9px}
}
@media(max-width:380px){.portfolio-visual{height:365px}.numa-preview-copy{max-width:72%}.numa-preview-headline{font-size:30px}.numa-preview-copy p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.numa-preview-image{transition:none}}

/* V5: Convertimos la banda existente en un enlace completo; sin cambiar su diseño. */
a.why-band-link { text-decoration:none; cursor:pointer; color:#fff; }
a.why-band-link:visited { color:#fff; }
a.why-band-link .circle-btn { transition: transform .22s ease, background-color .22s ease; }
@media (hover:hover) { a.why-band-link:hover .circle-btn { transform:translateX(4px); } }
a.why-band-link:focus-visible { outline:3px solid var(--lime); outline-offset:5px; }
@media (prefers-reduced-motion:reduce) { a.why-band-link .circle-btn { transition:none; } }


/* V5.2 — preview real de NUMA */
.project-shot-frame{
  background:#f6f5f0;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}
.project-shot-frame__bar{
  display:flex;
  gap:8px;
  padding:14px 16px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border-bottom:1px solid rgba(0,0,0,.06);
}
.project-shot-frame__bar span{
  width:10px;height:10px;border-radius:50%;
  background:#d4d8d1; display:block;
}
.project-shot-frame__img{
  display:block;
  width:100%;
  height:auto;
}
.portfolio-section .project-card__media{
  padding:0;
  background:transparent;
}
@media (max-width: 767px){
  .project-shot-frame{border-radius:18px}
}


/* Proyectos · propuesta de prueba (2026-10-21). No altera el resto de secciones */
.portfolio-section{background:#1d241e;color:#f6f5ef}.portfolio-section::before{display:none}
.portfolio-heading-new{display:block;margin-bottom:28px}.portfolio-heading-new .portfolio-eyebrow{font-size:11px;letter-spacing:.06em;margin-bottom:18px;color:var(--lime)}.portfolio-heading-new :is(h1,h2){font-size:clamp(36px,5vw,62px);line-height:1.09;letter-spacing:-.047em;margin:0 0 16px}.portfolio-heading-new p{max-width:690px;margin:0;color:#d0d5cf;font-size:15px;line-height:1.7}
.lt-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.lt-work{min-width:0}.lt-work-image{height:clamp(275px,33vw,425px);border-radius:11px;display:block;overflow:hidden;position:relative;padding:33px 13px 13px;transition:transform .25s ease}.lt-work-image:hover{transform:translateY(-3px)}.lt-work-image:focus-visible,.lt-work-meta a:focus-visible,.lt-work-all:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.lt-numa{background:#e7eee5}.lt-levante{background:#f0e7d9}.lt-work-label{position:absolute;top:0;left:0;right:0;height:24px;display:grid;place-items:center;background:#315847;color:#fff;font-size:9px;letter-spacing:.025em;font-weight:750}.lt-levante .lt-work-label{background:#3b2d27}.lt-work-window{height:100%;overflow:hidden}.lt-work-bar{height:45px;display:flex;justify-content:space-between;align-items:center;color:#365d4d;font-size:clamp(13px,2vw,20px);padding:0 6px}.lt-work-bar strong{letter-spacing:-.035em}.lt-work-bar small{font-size:9px;letter-spacing:.03em}.lt-work-numa-art,.lt-work-levante-art{height:calc(100% - 45px);padding:clamp(15px,2vw,31px);position:relative;overflow:hidden}.lt-work-numa-art{background:#d3e1d6;color:#315b4d;display:flex;align-items:center}.lt-work-numa-art>div{position:relative;z-index:2;max-width:59%}.lt-work-numa-art small,.lt-work-levante-art small{display:block;font-size:9px;letter-spacing:.08em;margin-bottom:14px}.lt-work-numa-art strong,.lt-work-levante-art strong{display:block;font-weight:650;font-size:clamp(20px,2.8vw,40px);line-height:1.12;letter-spacing:-.04em;margin-bottom:13px}.lt-work-numa-art span,.lt-work-levante-art span{display:block;font-size:clamp(10px,1.15vw,13px);line-height:1.55}.lt-work-numa-art img{position:absolute;right:0;top:0;width:49%;height:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(to right,transparent,black 30%)}.lt-levante .lt-work-bar{color:#453129}.lt-levante .lt-work-bar strong{font-family:Georgia,serif;font-weight:400;letter-spacing:.03em}.lt-levante .lt-work-bar small{color:#9c6348}.lt-work-levante-art{background:#d9c2a5;color:#4c3328}.lt-work-levante-art>small{color:#9b6042}.lt-work-levante-art strong{font-family:Georgia,serif;font-weight:400;letter-spacing:-.025em}.lt-work-levante-art em{color:#fff7ed;font-weight:400}.lt-work-levante-art span{max-width:270px}.lt-levante-arch{position:absolute;right:-15%;bottom:-47%;width:48%;aspect-ratio:.7;border-radius:50% 50% 0 0;border:clamp(17px,3vw,40px) solid rgba(164,113,75,.18);pointer-events:none}.lt-work-meta{display:flex;justify-content:space-between;gap:12px;margin-top:15px}.lt-work-meta :is(h2,h3){font-size:clamp(18px,2vw,23px);margin:0 0 4px;font-weight:700}.lt-work-meta p{font-size:12px;color:#c7cec6;margin:0}.lt-work-meta a{color:var(--lime);font-size:24px;line-height:1;text-decoration:none}.lt-work-all{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #5d695c;padding:35px 0 14px;text-decoration:none;color:#f6f5ef;font-size:16px;font-weight:750}.lt-work-all span{color:var(--lime);font-size:22px}.lt-projects-page .portfolio-heading-new{margin-bottom:40px}.lt-projects-page .lt-work-image{height:clamp(310px,39vw,510px)}.lt-projects-note{font-size:13px;line-height:1.65;color:#cbd2ca;max-width:600px;margin:14px 0 0}.lt-page-cta{border-top:1px solid #617061;margin-top:65px;padding:40px 0 4px;display:flex;align-items:end;justify-content:space-between;gap:20px}.lt-page-cta h2{font-size:clamp(28px,4vw,45px);line-height:1.13;letter-spacing:-.05em;margin:0}.lt-page-cta h2 span{color:var(--lime)}.lt-page-cta a{color:#eff1eb;text-decoration:none;font-weight:750;border-bottom:1px solid var(--lime);padding-bottom:9px}
@media(max-width:670px){.lt-work-grid{grid-template-columns:1fr;gap:27px}.lt-work-image,.lt-projects-page .lt-work-image{height:clamp(260px,78vw,400px)}.lt-work-numa-art strong,.lt-work-levante-art strong{font-size:clamp(24px,5vw,36px)}.lt-work-numa-art span,.lt-work-levante-art span{font-size:12px}.lt-page-cta{flex-direction:column;align-items:flex-start}.portfolio-heading-new p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.lt-work-image{transition:none}}

/* Proyectos v2 — Captura auténtica de NUMA y microinteracción de punto lima */
.lt-work-window:has(.lt-real-capture){display:flex;align-items:stretch;background:#e8eee5;}
.lt-real-capture{display:block;width:100%;height:100%;object-fit:cover;object-position:37% center;}
.lt-work-meta{display:block;}
.lt-work-title-link{display:inline-flex;align-items:baseline;color:inherit;text-decoration:none;gap:0;outline-offset:4px;}
.lt-work-dot{color:var(--lime);opacity:0;transform:translateY(5px);display:inline-block;transition:opacity .2s ease,transform .2s ease;}
.lt-work:hover .lt-work-dot,.lt-work:focus-within .lt-work-dot{opacity:1;transform:translateY(0);}
.lt-work-title-link:focus-visible{outline:2px solid var(--lime);}
.lt-work-all{justify-content:flex-start;}
@media (prefers-reduced-motion:reduce){.lt-work-dot{transition:none}.lt-work-image{transition:none}}

/* Proyectos V3: ajuste editorial aprobado: encabezado lateral, captura a sangre y títulos blancos. */
.portfolio-heading-new{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);align-items:end;column-gap:clamp(28px,6vw,90px);margin-bottom:36px}
.portfolio-heading-new .portfolio-eyebrow{grid-column:1;grid-row:1;margin-bottom:15px}
.portfolio-heading-new :is(h1,h2){grid-column:1;grid-row:2;margin:0}
.portfolio-heading-new p{grid-column:2;grid-row:2;max-width:370px;margin:0 0 4px;font-size:clamp(14px,1.35vw,17px);line-height:1.75}
.lt-work-image{padding:24px 0 0;}
.lt-work-window{width:100%;height:100%;}
.lt-work-window:has(.lt-real-capture){background:#e8eee5}
.lt-real-capture{width:100%;height:100%;object-fit:cover;object-position:center top}
.lt-work-meta :is(h2,h3) a.lt-work-title-link,.lt-work-meta :is(h2,h3) a.lt-work-title-link:visited{color:#f6f5ef}
.lt-work-meta :is(h2,h3) a.lt-work-title-link .lt-work-dot{color:var(--lime)}
.lt-work-title-link:hover{color:#f6f5ef}
@media(max-width:760px){.portfolio-heading-new{grid-template-columns:1fr;row-gap:0;margin-bottom:26px}.portfolio-heading-new .portfolio-eyebrow,.portfolio-heading-new :is(h1,h2),.portfolio-heading-new p{grid-column:1;grid-row:auto}.portfolio-heading-new p{margin-top:18px;max-width:600px}}
@media(prefers-reduced-motion:reduce){.lt-work-dot{transition:none}}

/* Proyectos V4: descripción editorial más amplia y CTA de cierre refinado */
@media(min-width:761px){
 .portfolio-heading-new{grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);column-gap:clamp(26px,4vw,64px)}
 .portfolio-heading-new p{max-width:470px;justify-self:end;line-height:1.65}
}
.lt-work-all{position:relative;display:inline-flex;align-items:center;width:auto;padding:29px 0 10px;border:0;font-weight:750;transition:color .2s ease}
.lt-work-all::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:rgba(242,245,235,.43);transform-origin:left;transition:background-color .2s ease,height .2s ease}
.lt-work-all:hover,.lt-work-all:focus-visible{color:#f6f5ef}
.lt-work-all:hover::after,.lt-work-all:focus-visible::after{height:2px;background:var(--lime)}
@media(prefers-reduced-motion:reduce){.lt-work-all,.lt-work-all::after{transition:none}}

/* Proyectos V5: captura auténtica de LEVANTE, encuadre priorizando marca y titular. */
.lt-levante .lt-work-window:has(.lt-levante-capture){background:#f2ece2;display:flex;align-items:stretch;}
.lt-levante-capture{display:block;width:100%;height:100%;object-fit:cover;object-position:64% 0%;}

/* V7 · Captura LEVANTE completa, sin recortes laterales.
   Fondo difuminado de la misma captura para aprovechar el espacio sobrante. */
.lt-levante .lt-work-window:has(.lt-levante-capture){position:relative;isolation:isolate;background:#e8ded0;overflow:hidden;}
.lt-levante .lt-work-window:has(.lt-levante-capture)::before{content:"";position:absolute;inset:-20px;background:url("../img/levante-real-capture.webp") center/cover no-repeat;filter:blur(22px);opacity:.38;z-index:-1;}
.lt-levante-capture{width:100%;height:100%;display:block;object-fit:contain;object-position:center center;position:relative;z-index:1;}

/* Proyectos V8 — volver a la composicion editorial aprobada y mantener
   tipografia consistente con los titulos de las demas secciones. */
.portfolio-section .portfolio-heading-new{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);
  column-gap:40px;
  align-items:end;
  margin-bottom:44px;
}
.portfolio-section .portfolio-heading-new .portfolio-eyebrow{
  grid-column:1;grid-row:1;
  font-family:"Manrope",system-ui,sans-serif;
  font-size:12px;line-height:1.5;letter-spacing:.18em;
  font-weight:700;margin:0 0 16px;
}
.portfolio-section .portfolio-heading-new :is(h1,h2){
  grid-column:1;grid-row:2;
  font-size:46px;line-height:1.02;letter-spacing:-.04em;
  font-weight:650;margin:0;
}
.portfolio-section .portfolio-heading-new p{
  grid-column:2;grid-row:2;
  justify-self:start;max-width:365px;
  font-size:17px;line-height:1.75;
  text-align:left;margin:0 0 6px;
}
/* Nueva composicion de la captura de LEVANTE: el logo y el titular
   permanecen a tamaño proporcional y el centro muestra la terraza. */
.lt-levante .lt-work-window:has(.lt-levante-capture){
  background:#f3efe7;display:block;position:relative;
}
.lt-levante .lt-work-window:has(.lt-levante-capture)::before{content:none;}
.lt-levante-capture{
  width:100%;height:100%;object-fit:fill;object-position:center;
  position:static;display:block;
}
@media(max-width:980px){
 .portfolio-section .portfolio-heading-new :is(h1,h2){font-size:40px;}
 .portfolio-section .portfolio-heading-new p{font-size:15px;}
}
@media(max-width:760px){
 .portfolio-section .portfolio-heading-new{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:28px;}
 .portfolio-section .portfolio-heading-new .portfolio-eyebrow,
 .portfolio-section .portfolio-heading-new :is(h1,h2),
 .portfolio-section .portfolio-heading-new p{grid-column:1;grid-row:auto;}
 .portfolio-section .portfolio-heading-new :is(h1,h2){font-size:clamp(30px,7vw,42px);}
 .portfolio-section .portfolio-heading-new p{margin:18px 0 0;max-width:520px;}
}

/* V9 — ajustar SOLO la sección de proyectos a las distancias ya utilizadas
   en las demás secciones: antetítulo 12px y margen inferior 16px. */
html{scroll-padding-top:79px;} /* barra sticky existente: min-height 78px + borde 1px */
.portfolio-section .portfolio-heading-new{
  grid-template-rows:min-content min-content;
  align-content:end;
  align-items:initial;
}
.portfolio-section .portfolio-heading-new .portfolio-eyebrow{
  margin-bottom:16px;
  align-self:end;
}
.portfolio-section .portfolio-heading-new :is(h1,h2){
  align-self:start;
}
.portfolio-section .portfolio-heading-new p{
  grid-column:2;
  grid-row:1 / 3;
  align-self:end;
  max-width:395px;
  margin-bottom:6px;
  text-align:left;
}
@media(max-width:760px){
  .portfolio-section .portfolio-heading-new{grid-template-rows:auto;}
  .portfolio-section .portfolio-heading-new .portfolio-eyebrow,
  .portfolio-section .portfolio-heading-new :is(h1,h2),
  .portfolio-section .portfolio-heading-new p{grid-column:1;grid-row:auto;}
  .portfolio-section .portfolio-heading-new p{margin:18px 0 0;max-width:520px;}
}

/* V13 — Corregir el espacio antetítulo/título sin alterar la identidad.
   El párrafo lateral deja de determinar la altura de las dos filas. */
@media (min-width:761px){
  .portfolio-section .portfolio-heading-new{position:relative;grid-template-rows:min-content min-content;align-content:start;row-gap:0;}
  .portfolio-section .portfolio-heading-new .portfolio-eyebrow{margin:0 0 16px;}
  .portfolio-section .portfolio-heading-new p{position:absolute;right:0;bottom:6px;width:min(395px,39%);max-width:none;margin:0;grid-column:auto;grid-row:auto;}
}

/* Pagina Proyectos V15: unica novedad visual aprobada: enlace de cierre sin flecha.
   Se conserva toda la maquetacion y los estilos de seccion de V14. */
.lt-projects-page .lt-page-cta a.lt-projects-cta-link{display:inline-block;width:fit-content;max-width:100%;border-bottom:0;padding-bottom:8px;position:relative;text-decoration:none;color:#eff1eb;}
.lt-projects-page .lt-page-cta a.lt-projects-cta-link::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;}
.lt-projects-page .lt-page-cta a.lt-projects-cta-link:hover::after,.lt-projects-page .lt-page-cta a.lt-projects-cta-link:focus-visible::after{transform:scaleX(1);}
.lt-projects-page .lt-page-cta a.lt-projects-cta-link:focus-visible{outline:2px solid var(--lime);outline-offset:4px;}
@media(prefers-reduced-motion:reduce){.lt-projects-page .lt-page-cta a.lt-projects-cta-link::after{transition:none;}}

/* V16: patrón editorial único para los dos enlaces aprobados */
a.lt-editorial-link,
.lt-projects-page .lt-page-cta a.lt-editorial-link{
  display:inline-block; width:fit-content; max-width:100%; position:relative;
  padding:0 0 7px; border:0; text-decoration:none; color:#f6f5ef;
  font-weight:750; line-height:1.4; cursor:pointer;
}
a.lt-editorial-link::after,
.lt-projects-page .lt-page-cta a.lt-editorial-link::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:#97a295; transform:none; transition:background-color .2s ease;
}
a.lt-editorial-link:hover::after, a.lt-editorial-link:focus-visible::after,
.lt-projects-page .lt-page-cta a.lt-editorial-link:hover::after,
.lt-projects-page .lt-page-cta a.lt-editorial-link:focus-visible::after{
  height:1px; background:var(--lime); transform:none;
}
a.lt-editorial-link:focus-visible{outline:2px solid var(--lime);outline-offset:4px;}
@media(prefers-reduced-motion:reduce){a.lt-editorial-link::after{transition:none;}}

/* V17: espacio entre las tarjetas y el enlace final de Proyectos (home). */
.portfolio-section .lt-work-all.lt-editorial-link{margin-top:20px;}


/* V18 — Descripciones superpuestas SOLO en la página /proyectos/. */
.lt-projects-page .lt-project-media-wrap{position:relative;}
.lt-projects-page .lt-project-overlay{
  position:absolute;inset:24px 0 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(20px,3vw,42px);background:rgba(12,24,20,.87);color:#fff;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;
}
.lt-projects-page .lt-project-overlay-label{display:block;color:var(--lime);font-size:11px;letter-spacing:.09em;font-weight:750;margin-bottom:16px;}
.lt-projects-page .lt-project-overlay p{font-size:clamp(13px,1.45vw,18px);line-height:1.65;margin:0;max-width:440px;}
@media(hover:hover) and (pointer:fine){
 .lt-projects-page .lt-work-image:hover .lt-project-overlay,
 .lt-projects-page .lt-work-image:focus-visible .lt-project-overlay{opacity:1;visibility:visible;}
}
.lt-projects-page .lt-project-media-wrap.is-open .lt-project-overlay{opacity:1;visibility:visible;}
.lt-projects-page .lt-project-disclosure{display:none;}
@media(hover:none), (pointer:coarse){
 .lt-projects-page .lt-project-disclosure{display:block;position:absolute;bottom:10px;right:10px;z-index:2;
  background:#1d241e;color:#f6f5ef;border:1px solid #a9b7a5;border-radius:5px;padding:10px 12px;
  font:650 12px/1.3 Manrope,Arial,sans-serif;cursor:pointer;}
 .lt-projects-page .lt-project-disclosure:focus-visible{outline:2px solid var(--lime);outline-offset:3px;}
}
@media(prefers-reduced-motion:reduce){.lt-projects-page .lt-project-overlay{transition:none;}}

/* V19: tarjetas de /proyectos/ con capturas preparadas a 3:2, sin deformación ni recorte CSS. */
.lt-projects-page .lt-work-image{height:auto;}
.lt-projects-page .lt-work-window{height:auto;aspect-ratio:3/2;}
.lt-projects-page .lt-work-window:has(.lt-real-capture){display:block;}
.lt-projects-page .lt-work-window .lt-real-capture,
.lt-projects-page .lt-work-window .lt-levante-capture{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center;position:static;}

/* V21: solo NUMA en la sección Proyectos de la home. Mostrar la portada 3:2 completa, sin recortes. */
.portfolio-section:not(.lt-projects-page) .lt-numa .lt-real-capture{object-fit:contain;object-position:center center;}

/* Color de acento del H1 de Proyectos */
#proyectos-heading span {
  color: var(--lime);
}
