/*
 * main.css — Home, Proyectos (listado), Trayectoria, Contacto, páginas
 * legales y banner de cookies. Base común + bloques específicos de cada
 * página, fusionados a partir de las 4 maquetas aprobadas.
 */

:root{
  --bg:#101215;
  --panel:#171b20;
  --panel-2:#20262d;
  --ink:#f5f1e8;
  --muted:#aeb6bd;
  --line:#343c45;
  --acid:#d6ef67;
  --coral:#ff7b5f;
  --cyan:#66c7c0;
  --shadow:0 26px 70px rgba(0,0,0,.28);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(rgba(245,241,232,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(245,241,232,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%)}
a{color:inherit;text-decoration:none}
button{font:inherit}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4,p,a,button,span,strong,li,dt,dd{overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
.shell{width:min(var(--max),calc(100% - 40px));margin:0 auto}

/* Nav */
.nav,.site-nav{position:sticky;top:0;z-index:20;background:rgba(16,18,21,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-weight:900}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--acid);color:var(--acid);border-radius:8px}
.nav-links{display:flex;align-items:center;gap:8px}
.nav-links a{padding:9px 12px;color:var(--muted);font-size:.9rem;border-radius:8px}
.nav-links a:hover,.nav-links a.active{background:var(--panel-2);color:var(--ink)}
.nav-cta{background:var(--acid);color:#101215}
.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;cursor:pointer}

/* Type & buttons */
.eyebrow{color:var(--acid);font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
h1{max-width:850px;margin:.85rem 0 1rem;font-size:clamp(3.2rem,7.3vw,7.1rem);line-height:.9;letter-spacing:-.045em;font-weight:720}
h1 span{color:var(--coral)}
h2{margin:.65rem 0 0;font-size:clamp(2.1rem,4.8vw,4.65rem);line-height:1;letter-spacing:-.04em;font-weight:680}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:8px;font-weight:850;text-align:center;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.button:hover,.button:focus-visible{transform:translateY(-2px);outline:none}
.button.primary{background:var(--acid);border-color:var(--acid);color:#111}
.button.secondary{background:transparent;color:var(--ink)}
.button.secondary:hover,.button.secondary:focus-visible{border-color:var(--cyan)}

/* Section shell */
.section{padding:88px 0;border-bottom:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:44px;align-items:end;margin-bottom:34px}
.section-head p{margin:0;color:var(--muted);line-height:1.78}
.closing{padding:82px 0;background:var(--panel)}
.closing-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.closing p{color:var(--muted);line-height:1.78}
.closing-actions{display:flex;flex-direction:column;gap:12px;margin-top:0}
.closing-actions .button{width:100%}

footer{padding:26px 0;color:var(--muted);font-size:.82rem}
.footer-inner{display:flex;justify-content:space-between;gap:18px}
.footer-links{display:flex;flex-wrap:wrap;gap:14px}
.footer-links a:hover{color:var(--ink)}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* ============ HOME ============ */
.hero{position:relative;min-height:calc(100svh - 72px);display:grid;align-items:center;padding:86px 0 92px;border-bottom:1px solid var(--line);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(16,18,21,.94) 0%,rgba(16,18,21,.82) 36%,rgba(16,18,21,.42) 66%,rgba(16,18,21,.24) 100%),linear-gradient(180deg,rgba(16,18,21,.18),rgba(16,18,21,.78)),linear-gradient(135deg,rgba(214,239,103,.22),transparent 42%),linear-gradient(315deg,rgba(102,199,192,.18),transparent 44%)}
.hero-grid{display:block}
.hero-grid>.reveal{position:relative;z-index:2;max-width:790px}
.hero-lead{max-width:750px;color:var(--ink);font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.42}
.hero-description{max-width:710px;color:var(--muted);line-height:1.78}
.photo-panel{position:absolute;inset:0;z-index:0;display:block;min-width:0}
.photo-slot,.portrait-frame{position:absolute;inset:0;display:block;background:var(--panel-2);overflow:hidden}
.photo-slot::before,.portrait-frame::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(rgba(245,241,232,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(245,241,232,.045) 1px,transparent 1px);background-size:54px 54px;mix-blend-mode:soft-light}
/* Solo el hero de Home lleva el marco decorativo interior; en el hero de
   Trayectoria (.portrait-frame), con menos texto encima, ese recuadro
   quedaba demasiado cerca de los botones en móvil y se veía como un error. */
.photo-slot::after{content:"";position:absolute;inset:18px;z-index:2;pointer-events:none;border:1px solid rgba(245,241,232,.12);border-radius:8px}
.hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:58% 50%;filter:grayscale(1) brightness(.58) contrast(1.25);transform:translateX(18%) scale(1.1);transform-origin:50% 50%}

.projects-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.project-card{display:flex;flex-direction:column;min-height:260px;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 18px 42px rgba(0,0,0,.18);transition:transform .2s ease,border-color .2s ease,background .2s ease;min-width:0}
.project-card:hover,.project-card:focus-visible{transform:translateY(-3px);border-color:var(--acid);background:var(--panel-2);outline:none}
.project-card:nth-child(1){grid-column:span 7}
.project-card:nth-child(2){grid-column:span 5}
.project-card:nth-child(n+3){grid-column:span 4}
.project-card small{display:block;color:var(--cyan);font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.project-card h3{margin:18px 0 12px;font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.15;letter-spacing:-.025em}
.project-card p{margin:0;color:var(--muted);line-height:1.72}
.project-impact{margin-top:auto;padding-top:26px}
.project-impact strong{display:block;color:var(--coral);font-size:clamp(1.55rem,3vw,3.05rem);line-height:.95;letter-spacing:-.035em;overflow-wrap:anywhere}
.project-impact span{display:block;margin-top:8px;color:var(--muted);font-size:.82rem}

.principle{background:var(--ink);color:#101215}
.principle-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:46px;align-items:center}
.principle .eyebrow{color:#5d6932}
.principle blockquote{margin:0;font-size:clamp(2rem,4.2vw,4.3rem);line-height:1.08;letter-spacing:-.035em;font-weight:720}

.trajectory-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.trajectory-grid p{color:var(--muted);line-height:1.8}
.trajectory-map{position:relative;display:grid;gap:14px;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}
.trajectory-step{position:relative;display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}
.trajectory-step::after{content:"";position:absolute;left:52px;bottom:-15px;width:2px;height:15px;background:var(--line)}
.trajectory-step:last-child::after{display:none}
.step-number{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--acid);color:#101215;font-weight:950}
.step-copy strong{display:block;color:var(--ink);font-size:1.05rem}
.step-copy span{display:block;margin-top:6px;color:var(--muted);font-size:.94rem;line-height:1.55}

.capacities-section{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:56px;align-items:center}
.capacities-copy p{color:var(--muted);line-height:1.8}
.capacities-system{display:grid;gap:24px;justify-items:center}
.interactive-system{position:relative;width:min(100%,640px);aspect-ratio:1/1;min-height:560px;display:grid;place-items:center;overflow:hidden}
.interactive-orbit{position:absolute;border:1px solid rgba(102,199,192,.38);border-radius:50%;pointer-events:none}
.interactive-orbit.orbit-a{width:44%;height:44%}
.interactive-orbit.orbit-b{width:70%;height:70%}
.interactive-orbit.orbit-c{width:98%;height:98%;opacity:.78}
.interactive-core{position:relative;z-index:2;display:grid;place-items:center;width:30%;aspect-ratio:1/1;min-width:170px;padding:20px;text-align:center;border:2px solid var(--acid);border-radius:50%;background:var(--panel-2);box-shadow:0 0 0 36px rgba(214,239,103,.06);font-size:clamp(1.1rem,2vw,1.6rem);line-height:1.3;font-weight:750}
.interactive-node{position:absolute;z-index:4;min-width:126px;padding:12px 16px;border:1px solid rgba(102,199,192,.55);border-radius:999px;background:rgba(23,27,32,.94);color:var(--muted);font-size:clamp(.82rem,1.4vw,.95rem);font-weight:800;box-shadow:0 12px 28px rgba(0,0,0,.22);cursor:pointer;transition:transform .2s ease,border-color .2s ease,color .2s ease,background .2s ease;text-align:center}
.interactive-node:hover{border-color:var(--acid);color:var(--ink)}
.interactive-node.active{color:var(--ink);border-color:var(--acid);background:var(--panel-2);box-shadow:0 0 0 8px rgba(214,239,103,.08),0 12px 28px rgba(0,0,0,.22)}
.capacity-option{position:absolute;opacity:0;pointer-events:none}
#cap-negocio:checked~.interactive-system label[for="cap-negocio"],
#cap-cliente:checked~.interactive-system label[for="cap-cliente"],
#cap-datos:checked~.interactive-system label[for="cap-datos"],
#cap-estrategia:checked~.interactive-system label[for="cap-estrategia"],
#cap-ejecucion:checked~.interactive-system label[for="cap-ejecucion"],
#cap-personas:checked~.interactive-system label[for="cap-personas"]{color:var(--ink);border-color:var(--acid);background:var(--panel-2);box-shadow:0 0 0 8px rgba(214,239,103,.08),0 12px 28px rgba(0,0,0,.22)}
.interactive-node[data-cap="negocio"]{top:8%;left:50%;transform:translateX(-50%)}
.interactive-node[data-cap="cliente"]{top:29%;right:6%}
.interactive-node[data-cap="datos"]{bottom:20%;right:10%}
.interactive-node[data-cap="estrategia"]{bottom:9%;left:50%;transform:translateX(-50%)}
.interactive-node[data-cap="ejecucion"]{bottom:20%;left:10%}
.interactive-node[data-cap="personas"]{top:29%;left:6%}
.capacity-detail-card{width:min(100%,640px);padding:24px 26px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}
.capacity-detail-panel{display:none}
#cap-negocio:checked~.capacity-detail-card [data-detail="negocio"],
#cap-cliente:checked~.capacity-detail-card [data-detail="cliente"],
#cap-datos:checked~.capacity-detail-card [data-detail="datos"],
#cap-estrategia:checked~.capacity-detail-card [data-detail="estrategia"],
#cap-ejecucion:checked~.capacity-detail-card [data-detail="ejecucion"],
#cap-personas:checked~.capacity-detail-card [data-detail="personas"]{display:block}
.detail-label{display:inline-flex;color:var(--cyan);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.capacity-detail-card h3{margin:12px 0 10px;font-size:clamp(1.55rem,2.4vw,2.15rem);line-height:1.1;letter-spacing:-.03em}
.capacity-detail-card p{margin:0;color:var(--muted);font-size:1rem;line-height:1.75;min-height:56px}

/* ============ PROYECTOS (listado) ============ */
.hero-copy{max-width:760px;color:var(--muted);font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.58}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.filter{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}
.filter:hover,.filter.active{border-color:var(--acid);color:var(--ink);background:var(--panel-2)}
.project-card.featured{grid-column:span 6}
.project-card.standard{grid-column:span 4}
.project-card[hidden]{display:none}
.project-topline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}
.tag{display:inline-flex;padding:5px 8px;border:1px solid rgba(102,199,192,.45);border-radius:999px;color:var(--cyan);font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.role{color:var(--muted);font-size:.78rem}
.project-company{display:block;margin:0 0 10px;color:var(--acid);font-size:.92rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.project-system{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}
.system-piece{padding:11px;border:1px solid var(--line);border-radius:8px;background:rgba(245,241,232,.03);min-width:0}
.system-piece strong{display:block;color:var(--ink);font-size:.78rem}
.system-piece span{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;line-height:1.35}
.project-link{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;min-height:42px;margin-top:24px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;color:#101215;background:var(--acid);font-weight:850}
.method{background:var(--ink);color:#101215}
.method-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:44px;align-items:start}
.method .eyebrow{color:#5d6932}
.method p{color:#394044;line-height:1.78}
.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.method-step{min-height:170px;padding:18px;border:1px solid rgba(16,18,21,.22);border-radius:8px;background:#fffaf0}
.method-step strong{display:block;color:#101215;font-size:1.55rem}
.method-step h3{margin:18px 0 8px;color:#101215;font-size:1rem}
.method-step p{margin:0;color:#4a5358;font-size:.88rem;line-height:1.5}

/* ============ TRAYECTORIA ============ */
.chapter-nav{position:sticky;top:73px;z-index:12;background:rgba(16,18,21,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.chapter-track{display:flex;gap:8px;padding:12px 0;overflow-x:auto;scrollbar-width:thin}
.chapter-link{flex:none;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:999px;padding:8px 12px;cursor:pointer;white-space:nowrap;font-size:.82rem}
.chapter-link:hover,.chapter-link.active{color:var(--ink);border-color:var(--line);background:var(--panel)}
.intro-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:42px;align-items:start}
.intro-copy{color:var(--muted);font-size:1rem;line-height:1.85}
.intro-copy p+p{margin-top:16px}
.timeline{position:relative;display:grid;gap:18px}
.moment{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,.8fr);gap:22px;align-items:stretch;padding:22px;border:1px solid var(--line);border-radius:8px;background:rgba(23,27,32,.82);box-shadow:0 18px 42px rgba(0,0,0,.18)}
.moment.no-image{grid-template-columns:minmax(0,860px)}
.moment-content{display:grid;align-content:start;gap:16px;min-width:0}
.moment-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.year{display:inline-flex;color:var(--coral);font-size:.78rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.moment .role{color:var(--cyan);font-size:.84rem;font-weight:800}
.moment h3{margin:0;font-size:clamp(1.65rem,3vw,3.25rem);line-height:1.08;letter-spacing:-.035em;font-weight:680}
.story{color:var(--muted);line-height:1.82}
.story p{margin-bottom:0}
.story p+p{margin-top:14px}
.quote{padding:16px 18px;border:1px solid rgba(214,239,103,.42);border-radius:8px;background:rgba(214,239,103,.07);color:var(--ink);line-height:1.62}
.moment-side{display:grid;min-width:0}
.photo-moment{position:relative;display:grid;align-content:end;min-height:320px;padding:18px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,rgba(102,199,192,.18),transparent 42%),linear-gradient(320deg,rgba(214,239,103,.15),transparent 40%),var(--panel-2);overflow:hidden}
.photo-moment::before{content:"";position:absolute;inset:18px;border:1px dashed rgba(245,241,232,.28);border-radius:8px}
.photo-moment.has-image::before{inset:0;z-index:1;border:0;background:linear-gradient(180deg,transparent 35%,rgba(16,18,21,.86) 100%),linear-gradient(135deg,rgba(214,239,103,.16),transparent 42%),linear-gradient(315deg,rgba(102,199,192,.14),transparent 46%)}
.photo-moment.has-image::after{content:"";position:absolute;inset:14px;z-index:2;pointer-events:none;border:1px solid rgba(245,241,232,.16);border-radius:8px}
.moment-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 42%;filter:brightness(.82) contrast(1.08) saturate(.82)}
.photo-moment.is-wide .moment-photo-img{object-position:50% 50%}
.photo-moment span{position:relative;z-index:3;margin-top:6px;color:var(--ink);font-size:.9rem;line-height:1.42}
.special-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.special-card{display:flex;flex-direction:column;min-height:230px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.special-card strong{display:block;color:var(--acid);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.special-card h3{margin:16px 0 8px;font-size:1.1rem;line-height:1.28}
.special-card p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.58}
.special-card span{margin-top:auto;padding-top:16px;color:var(--cyan);font-size:.78rem;font-weight:800}
.synthesis-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;align-items:start}
.synthesis-grid p{color:var(--muted);line-height:1.8}
.system-list{display:grid;gap:0;border-top:1px solid var(--line)}
.system-row{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}
.system-row strong{color:var(--acid)}
.system-row span{color:var(--muted);font-size:.92rem}

/* ============ CONTACTO ============ */
.contact-panel{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}
.contact-panel h2{margin:.6rem 0 1rem;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.05;letter-spacing:-.035em}
.contact-list{display:grid;gap:12px}
.contact-item{display:grid;gap:4px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}
.contact-item span{color:var(--cyan);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.contact-item strong{font-size:1.05rem;line-height:1.35}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.info-card{min-height:210px;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.info-card strong{display:block;color:var(--coral);font-size:2rem;line-height:1}
.info-card h3{margin:22px 0 10px;font-size:1.25rem;line-height:1.2}
.info-card p{margin:0;color:var(--muted);line-height:1.7}

/* ============ PÁGINAS LEGALES (contenido editable desde el editor) ============ */
.legal-hero{padding:70px 0 40px;border-bottom:1px solid var(--line)}
.legal-content{padding:50px 0 90px;color:var(--muted);line-height:1.8}
.legal-content .shell{max-width:820px}
.legal-content h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:2.2em 0 .6em;color:var(--ink)}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{color:var(--ink);font-size:1.2rem;margin:1.6em 0 .5em}
.legal-content p{margin:0 0 1.1em}
.legal-content ul,.legal-content ol{margin:0 0 1.1em;padding-left:22px}
.legal-content li{margin-bottom:.4em}
.legal-content a{color:var(--cyan);text-decoration:underline}
.legal-content strong{color:var(--ink)}
.legal-updated{display:inline-block;margin-top:10px;color:var(--muted);font-size:.85rem}

/* ============ Banner de cookies ============ */
.hc-cookie-banner{position:fixed;left:14px;right:14px;bottom:14px;z-index:80;max-width:760px;margin:0 auto;padding:20px 22px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.hc-cookie-banner[hidden]{display:none}
.hc-cookie-copy strong{display:block;color:var(--ink);margin-bottom:4px}
.hc-cookie-copy p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}
.hc-cookie-copy a{color:var(--cyan);text-decoration:underline}
.hc-cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.hc-cookie-actions .button{min-height:40px;padding:9px 16px}

/* ============ Responsive ============ */
@media(max-width:1020px){
  .synthesis-grid{grid-template-columns:1fr}
}
@media(max-width:980px){
  .intro-grid,.moment,.principle-grid,.closing-grid{grid-template-columns:1fr}
  .hero-photo{transform:translateX(10%) scale(1.08)}
  .special-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:940px){
  .section-head,.trajectory-grid,.capacities-section,.hero-grid,.method-grid{grid-template-columns:1fr}
  .project-card:nth-child(n){grid-column:span 6}
  .project-card:nth-child(1){grid-column:span 12}
  .project-card.featured,.project-card.standard{grid-column:span 6}
  .cards-grid{grid-template-columns:1fr 1fr}
  .method-steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .chapter-nav{top:67px}
}
@media(max-width:680px){
  .shell{width:min(var(--max),calc(100% - 28px))}
  .nav-inner{min-height:66px}
  .brand{gap:10px;font-size:.95rem}
  .brand-mark{width:34px;height:34px}
  .menu-toggle{display:block;flex:0 0 auto}
  .nav-links{display:none;position:absolute;left:14px;right:14px;top:72px;padding:12px;flex-direction:column;align-items:stretch;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}
  .nav-links.open{display:flex}
  .nav-links a{text-align:center}
  .hero{min-height:auto;padding:76px 0 72px}
  .hero::before{background:linear-gradient(180deg,rgba(16,18,21,.9),rgba(16,18,21,.78)),linear-gradient(135deg,rgba(214,239,103,.2),transparent 44%),linear-gradient(315deg,rgba(102,199,192,.16),transparent 46%)}
  h1{font-size:clamp(2.75rem,13vw,4.6rem);line-height:.94;letter-spacing:-.035em}
  h2{font-size:clamp(2rem,10vw,3.2rem);line-height:1.04;letter-spacing:-.03em}
  .hero-lead,.hero-copy{font-size:1.1rem;line-height:1.52}
  .section{padding:64px 0}
  .section-head{gap:18px;margin-bottom:24px}
  .actions{width:100%;gap:10px;margin-top:24px}
  .button{width:100%;min-height:46px;padding:11px 14px;white-space:normal}
  .photo-slot::after{inset:14px}
  .hero-photo{object-position:60% 50%;transform:scale(1.04)}
  .project-card:nth-child(n){grid-column:span 12}
  .project-card.featured,.project-card.standard{grid-column:span 12}
  .project-card{min-height:auto;padding:20px}
  .project-card h3{font-size:1.38rem}
  .project-impact{padding-top:22px}
  .project-impact strong{font-size:clamp(1.85rem,12vw,2.65rem)}
  .principle blockquote{font-size:clamp(1.75rem,8vw,2.45rem);line-height:1.12}
  .trajectory-map{padding:16px;gap:12px}
  .trajectory-step{grid-template-columns:48px 1fr;gap:14px;padding:16px}
  .trajectory-step::after{left:39px}
  .step-number{width:42px;height:42px}
  .capacities-section{gap:30px}
  .capacities-system{gap:18px}
  .interactive-system{width:min(100%,420px);min-height:0;aspect-ratio:1/1;margin:0 auto;overflow:visible}
  .interactive-orbit{display:block}
  .interactive-orbit.orbit-a{width:38%;height:38%}
  .interactive-orbit.orbit-b{width:63%;height:63%}
  .interactive-orbit.orbit-c{width:88%;height:88%}
  .interactive-core{width:31%;min-width:112px;padding:14px;box-shadow:0 0 0 18px rgba(214,239,103,.06);font-size:.92rem}
  .interactive-node{min-width:78px;padding:8px 8px;font-size:.68rem;box-shadow:0 8px 18px rgba(0,0,0,.2)}
  .interactive-node.active{box-shadow:0 0 0 5px rgba(214,239,103,.08),0 8px 18px rgba(0,0,0,.2)}
  .interactive-node[data-cap="negocio"]{top:4%;left:50%;transform:translateX(-50%)}
  .interactive-node[data-cap="cliente"]{top:27%;right:2%}
  .interactive-node[data-cap="datos"]{bottom:18%;right:5%}
  .interactive-node[data-cap="estrategia"]{bottom:4%;left:50%;transform:translateX(-50%)}
  .interactive-node[data-cap="ejecucion"]{bottom:18%;left:5%}
  .interactive-node[data-cap="personas"]{top:27%;left:2%}
  .capacity-detail-card{padding:20px;width:100%}
  .capacity-detail-card p{min-height:auto}
  .filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .filter{width:100%;min-height:42px;font-size:.76rem}
  .project-system,.method-steps{grid-template-columns:1fr}
  .project-link{width:100%}
  .moment{padding:18px}
  .moment h3{font-size:1.65rem}
  .photo-moment{min-height:250px}
  .special-grid{grid-template-columns:1fr}
  .system-row{grid-template-columns:1fr;gap:4px}
  .cards-grid{grid-template-columns:1fr}
  .contact-panel,.info-card{padding:20px}
  .closing{padding:64px 0}
  .footer-inner{flex-direction:column}
  .hc-cookie-banner{left:10px;right:10px;bottom:10px;flex-direction:column;align-items:stretch;padding:18px}
  .hc-cookie-actions{width:100%}
  .hc-cookie-actions .button{flex:1}
}
@media(max-width:420px){
  .shell{width:min(var(--max),calc(100% - 24px))}
  .eyebrow{font-size:.68rem;letter-spacing:.1em}
  .project-card small,.detail-label,.tag{font-size:.68rem;letter-spacing:.1em}
  .trajectory-step{grid-template-columns:1fr}
  .trajectory-step::after{left:36px}
  .interactive-system{width:min(100%,342px)}
  .interactive-core{min-width:96px;font-size:.82rem;padding:12px}
  .interactive-node{min-width:68px;padding:7px 7px;font-size:.6rem}
  .interactive-node[data-cap="cliente"]{right:1%}
  .interactive-node[data-cap="personas"]{left:1%}
  .interactive-node[data-cap="datos"]{right:3%}
  .interactive-node[data-cap="ejecucion"]{left:3%}
  .filters{grid-template-columns:1fr}
  .chapter-link{font-size:.76rem}
  .moment{padding:16px}
  .photo-moment{min-height:220px}
}
