:root{
  --bg:#f8f4ee;--paper:#fffdf9;--ink:#12100f;--muted:#625a55;--red:#b71932;--red-dark:#8f1025;--gold:#c59a54;--line:#e9ddd3;
  --container:min(1320px,calc(100% - 40px));--radius:28px;--radius-sm:20px;--shadow:0 26px 70px rgba(38,20,13,.09);
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.62;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}p{margin:0 0 1em;color:var(--muted)}h1,h2,h3,h4{margin:0;color:var(--ink);line-height:1.02;letter-spacing:-.045em}h1{font-size:clamp(3.2rem,7.7vw,7.3rem)}h2{font-size:clamp(2.35rem,5vw,5rem)}h3{font-size:clamp(1.3rem,2vw,1.9rem)}.container{width:var(--container);margin-inline:auto}.narrow{max-width:920px}.section-pad{padding:clamp(76px,9vw,132px) 0}.section-soft{background:linear-gradient(180deg,#fffaf5 0%,#f6efe8 100%)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:9999;background:#fff;padding:10px 14px;border-radius:10px}.eyebrow{display:inline-block;margin-bottom:16px;color:var(--red);font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.section-head{margin-bottom:34px}.inline-head{display:flex;align-items:end;justify-content:space-between;gap:24px}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(248,244,238,.88);backdrop-filter:blur(18px) saturate(1.15);border-bottom:1px solid rgba(233,221,211,.8);transition:.25s ease}.site-header.is-scrolled{background:rgba(248,244,238,.97);box-shadow:0 12px 36px rgba(0,0,0,.06)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:1.42rem;font-weight:700}.brand img{width:42px;height:auto}.custom-logo{max-width:220px;height:auto}.nav-wrap{display:flex;align-items:center;gap:24px}.primary-nav ul,.footer-nav ul{display:flex;align-items:center;gap:25px;margin:0;padding:0;list-style:none}.primary-nav a{position:relative;font-size:.82rem;font-weight:850;text-transform:uppercase;letter-spacing:.075em}.primary-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.primary-nav a:hover:after{transform:scaleX(1)}.sq-lang{display:flex;align-items:center;gap:6px}.sq-lang a{padding:7px 9px;border-radius:999px;font-size:.75rem;font-weight:800;color:#6a5f59}.sq-lang a:hover,.sq-lang a.is-current{background:#fff;border:1px solid var(--line);color:var(--red)}.menu-toggle{display:none;border:1px solid var(--line);border-radius:999px;padding:10px 15px;background:#fff;font-weight:850}

/* Hero */
.hero-photo{position:relative;overflow:hidden;background:radial-gradient(circle at 76% 18%,rgba(197,154,84,.18),transparent 33%),linear-gradient(180deg,#f8f4ee 0%,#fffaf5 100%)}.hero-photo-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:clamp(36px,6vw,84px);align-items:center}.hero-copy p{max-width:690px;margin-top:24px;font-size:clamp(1.08rem,1.3vw,1.28rem)}.hero-photo-media{position:relative;min-height:590px;border-radius:36px;overflow:hidden;box-shadow:var(--shadow);background:#eadbd0}.hero-photo-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(14,9,6,.22));pointer-events:none}.hero-photo-img{width:100%;height:100%;min-height:590px;object-fit:cover}.hero-mark-mini{position:absolute;left:24px;bottom:24px;z-index:2;width:76px;height:76px;border-radius:24px;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.12)}.hero-mark-mini img{width:42px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:13px 22px;border-radius:999px;border:1px solid transparent;font-weight:880;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(0,0,0,.11)}.btn-primary{background:var(--red);color:white}.btn-primary:hover{background:var(--red-dark)}.btn-ghost{background:rgba(255,255,255,.75);border-color:var(--line)}

/* Vision + mission */
.vision-mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.photo-info-card{display:grid;grid-template-columns:210px 1fr;min-height:420px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.78);box-shadow:0 16px 50px rgba(50,26,16,.05)}.photo-info-media{min-height:100%}.photo-info-media img{width:100%;height:100%;object-fit:cover}.photo-info-copy{padding:clamp(28px,3vw,44px)}.photo-info-copy h3{font-size:clamp(2rem,3vw,3.2rem);margin-bottom:22px}.photo-info-copy p{font-size:1.03rem}

/* Work */
.work-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.work-photo-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.7);box-shadow:0 16px 45px rgba(34,17,10,.045);transition:transform .25s ease,box-shadow .25s ease}.work-photo-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.work-photo-media{aspect-ratio:1.42/1;overflow:hidden;background:#eadbd0}.work-photo-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.work-photo-card:hover .work-photo-media img{transform:scale(1.035)}.work-photo-body{padding:23px}.work-photo-body h3{font-size:1.35rem;margin-bottom:10px}.work-photo-body p{font-size:.96rem;margin:0}

/* Video */
.video-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:clamp(30px,6vw,82px);align-items:center}.video-copy h2{font-size:clamp(3rem,5vw,5.4rem)}.video-frame{border-radius:var(--radius);overflow:hidden;background:#171210;box-shadow:var(--shadow);aspect-ratio:16/9}.lite-youtube,.video-placeholder{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#171210;cursor:pointer;overflow:hidden}.lite-youtube img,.video-placeholder img{width:100%;height:100%;object-fit:cover}.lite-youtube:after,.video-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.18))}.play-button{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;background:var(--red);display:grid;place-items:center;box-shadow:0 16px 40px rgba(0,0,0,.28)}.play-button span{margin-left:5px;width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:19px solid white}.video-frame iframe{display:block;width:100%;height:100%;border:0}

/* Activities / blog */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:rgba(255,255,255,.82);box-shadow:0 18px 55px rgba(30,14,7,.05);transition:transform .25s ease,box-shadow .25s ease}.post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.post-thumb{display:block;aspect-ratio:1.45/1;overflow:hidden;background:#eadbd0}.post-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.post-card:hover .post-thumb img{transform:scale(1.04)}.post-card-body{padding:25px}.meta-line{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}.meta-line.centered{justify-content:center}.meta-line span{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(183,25,50,.07);color:var(--red);font-size:.71rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.post-card h3{font-size:1.55rem;margin-bottom:12px}.source-tag{font-size:.85rem;color:#856a3f;font-weight:750}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--red);font-weight:900;margin-top:7px}.text-link:after{content:"→";transition:transform .2s ease}.text-link:hover:after{transform:translateX(4px)}.demo-card .post-card-body{min-height:140px}

/* Contact */
.contact-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(32px,5vw,62px);border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.contact-panel h2{font-size:clamp(2.8rem,5vw,5.4rem)}.contact-buttons{margin-top:0}

/* Archive / entries */
.archive-hero,.page-hero,.single-hero{text-align:center}.archive-hero h1,.page-hero h1,.single-hero h1{font-size:clamp(3rem,7vw,6.4rem)}.lead{max-width:760px;margin:22px auto 0;font-size:1.22rem}.filter-pills{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}.filter-pills a{padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.88rem;font-weight:800}.filter-pills a:hover{background:var(--ink);color:white}.featured-wrap{margin-top:-58px;position:relative;z-index:2}.featured-wrap img{width:100%;aspect-ratio:1.65/1;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.entry-content{font-size:1.1rem}.entry-content>*{max-width:780px;margin-left:auto;margin-right:auto}.entry-content p,.entry-content li{font-size:1.1rem;color:#3f3834}.entry-content h2,.entry-content h3{margin-top:2.1em;margin-bottom:.6em}.entry-content a{color:var(--red);font-weight:850;text-decoration:underline;text-underline-offset:3px}.evidence-box{max-width:780px;margin:28px auto 0;padding:28px;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:var(--radius-sm);background:#fff}.evidence-box h2{font-size:2rem;margin-bottom:14px}.pagination{display:flex;justify-content:center;gap:8px;margin-top:44px}.pagination .page-numbers{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#fff}.pagination .current{background:var(--red);color:#fff;border-color:var(--red)}

/* Footer */
.site-footer{padding:58px 0 24px;background:#11100f;color:white}.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:28px;align-items:center}.site-footer .brand{color:white}.footer-nav ul{flex-wrap:wrap}.footer-nav a,.socials a{color:rgba(255,255,255,.72);font-weight:750}.socials{display:flex;gap:10px}.socials a{padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px}.socials a:hover{background:#fff;color:#111}.footer-bottom{margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.56);font-size:.88rem}

/* FX */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .62s ease,transform .62s ease}.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1180px){.work-photo-grid{grid-template-columns:repeat(2,1fr)}.hero-photo-grid{grid-template-columns:1fr 1fr}.hero-photo-media,.hero-photo-img{min-height:520px}.vision-mission-grid{grid-template-columns:1fr}.video-grid{grid-template-columns:1fr}.video-copy{max-width:720px}.footer-grid{grid-template-columns:1fr}}
@media(max-width:880px){.menu-toggle{display:inline-flex}.nav-wrap{display:none;position:fixed;left:18px;right:18px;top:88px;padding:22px;border:1px solid var(--line);border-radius:24px;background:rgba(255,251,247,.98);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.nav-wrap.is-open{display:flex}.primary-nav ul{display:grid;gap:16px}.sq-lang{flex-wrap:wrap}.hero-photo-grid{grid-template-columns:1fr}.hero-photo-media{order:-1;min-height:420px}.hero-photo-img{min-height:420px}.photo-info-card{grid-template-columns:170px 1fr}.post-grid{grid-template-columns:1fr 1fr}.contact-panel{display:block}.contact-buttons{margin-top:24px}.inline-head{display:block}.inline-head .text-link{margin-top:16px}.footer-nav ul{display:grid;gap:12px}}
@media(max-width:640px){:root{--container:min(100% - 26px,1320px)}.section-pad{padding:66px 0}.hero-photo-media,.hero-photo-img{min-height:360px}.hero-mark-mini{width:62px;height:62px;left:16px;bottom:16px}.work-photo-grid,.post-grid{grid-template-columns:1fr}.photo-info-card{grid-template-columns:1fr}.photo-info-media{aspect-ratio:1.5/1;max-height:260px}.video-frame{border-radius:20px}.play-button{width:66px;height:66px}.contact-panel{padding:28px}.footer-grid{gap:20px}h1{font-size:clamp(2.9rem,14vw,4.8rem)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.btn,.post-card,.work-photo-card,.post-thumb img,.work-photo-media img{transition:none!important}}

.content-layout{display:grid;gap:34px}


/* ===== Saqbech 3.0 · flexible visual system ===== */
.header-inner{min-height:var(--sq-header-height,82px)}
.brand .custom-logo{width:var(--sq-logo-width,220px);max-width:none;height:auto}.brand>img:not(.custom-logo){width:clamp(46px,calc(var(--sq-logo-width,220px)*.24),88px)}
.hero-copy h1{font-size:var(--sq-hero-title,64px)}
.hero-copy p{font-size:var(--sq-hero-text,19px)}
.hero-photo-media,.hero-photo-img{min-height:var(--sq-hero-height,560px)}
.hero-photo-img{object-position:var(--sq-hero-focus-x,50%) var(--sq-hero-focus-y,50%)}
.work-photo-grid.layout-grid{grid-template-columns:repeat(var(--sq-work-cols,4),minmax(0,1fr))}
.post-grid.layout-grid{grid-template-columns:repeat(var(--sq-act-cols,3),minmax(0,1fr))}
.work-photo-grid.ratio-square .work-photo-media{aspect-ratio:1/1}.work-photo-grid.ratio-portrait .work-photo-media{aspect-ratio:4/5}.work-photo-grid.ratio-landscape .work-photo-media{aspect-ratio:1.42/1}
.vm-layout-stack{grid-template-columns:1fr}.vm-no-images .photo-info-card{grid-template-columns:1fr;min-height:auto}.vm-no-images .photo-info-copy{max-width:920px}
.cards-no-images .work-photo-card{min-height:100%}.cards-no-images .work-photo-body{padding:30px}
.work-photo-grid.layout-list,.post-grid.layout-list{display:grid;grid-template-columns:1fr;gap:18px}.layout-list .work-photo-card,.post-grid.layout-list .post-card{display:grid;grid-template-columns:minmax(220px,32%) 1fr}.layout-list .work-photo-media,.post-grid.layout-list .post-thumb{aspect-ratio:auto;min-height:210px;height:100%}.cards-no-images.layout-list .work-photo-card{display:block}
.layout-carousel{display:flex!important;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 18px;overscroll-behavior-inline:contain;scrollbar-width:thin}.work-photo-grid.layout-carousel .work-photo-card{flex:0 0 min(340px,82vw);scroll-snap-align:start}.post-grid.layout-carousel .post-card{flex:0 0 min(390px,86vw);scroll-snap-align:start}.carousel-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.carousel-controls button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.25rem;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.05)}.carousel-controls button:hover{background:var(--red);color:#fff;border-color:var(--red)}
.video-layout-full .video-grid{grid-template-columns:1fr}.video-layout-full .video-copy{max-width:900px}.video-layout-full .video-frame{width:100%}
.hero-layout-overlay,.hero-layout-parallax{min-height:var(--sq-hero-height,560px);background-image:linear-gradient(90deg,rgba(15,10,8,.74),rgba(15,10,8,.25)),var(--hero-bg);background-size:cover;background-position:var(--sq-hero-focus-x,50%) var(--sq-hero-focus-y,50%);display:flex;align-items:center}.hero-layout-parallax{background-attachment:fixed}.hero-layout-overlay .hero-photo-grid,.hero-layout-parallax .hero-photo-grid{display:block}.hero-layout-overlay .hero-copy,.hero-layout-parallax .hero-copy{max-width:760px;padding:40px 0}.hero-layout-overlay .hero-copy h1,.hero-layout-parallax .hero-copy h1,.hero-layout-overlay .hero-copy p,.hero-layout-parallax .hero-copy p{color:#fff}.hero-layout-overlay .hero-copy .eyebrow,.hero-layout-parallax .hero-copy .eyebrow{color:#fff}.hero-layout-overlay .hero-photo-media,.hero-layout-parallax .hero-photo-media{display:none}.hero-layout-overlay .btn-ghost,.hero-layout-parallax .btn-ghost{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55)}
.contact-buttons .btn[href^="mailto:"]{white-space:nowrap}
@media(max-width:1180px){.work-photo-grid.layout-grid,.post-grid.layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:880px){.brand .custom-logo{width:var(--sq-logo-mobile,165px)}.hero-copy h1{font-size:var(--sq-hero-title-mobile,44px)}.hero-layout-parallax{background-attachment:scroll}.layout-list .work-photo-card,.post-grid.layout-list .post-card{grid-template-columns:1fr}.layout-list .work-photo-media,.post-grid.layout-list .post-thumb{min-height:0;aspect-ratio:1.45/1}}
@media(max-width:640px){.work-photo-grid.layout-grid,.post-grid.layout-grid{grid-template-columns:1fr}.hero-copy h1{font-size:var(--sq-hero-title-mobile,44px)}.hero-photo-media,.hero-photo-img{min-height:min(var(--sq-hero-height,560px),430px)}}

.container{width:min(var(--sq-container,1320px),calc(100% - 40px))}.section-pad{padding:var(--sq-section-spacing,104px) 0}.work-photo-card,.post-card,.photo-info-card,.contact-panel,.video-frame{border-radius:var(--sq-card-radius,24px)}
@media(max-width:640px){.container{width:min(var(--sq-container,1320px),calc(100% - 26px))}.section-pad{padding:max(52px,calc(var(--sq-section-spacing,104px)*.64)) 0}}

/* ===== Saqbech 4.0 · navigation, video and page headers ===== */
.primary-nav a{padding:8px 4px;border-radius:8px;transition:color .2s ease,background .2s ease,transform .2s ease}
.primary-nav a:hover{color:var(--red);background:rgba(183,25,50,.055)}
.primary-nav a.is-section-active,.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{color:var(--red)}
.primary-nav a.is-section-active:after,.primary-nav .current-menu-item>a:after,.primary-nav .current_page_item>a:after{transform:scaleX(1)}
.primary-nav a[aria-current="location"],.primary-nav a[aria-current="page"]{color:var(--red)}
.primary-nav a[aria-current="location"]:after,.primary-nav a[aria-current="page"]:after{transform:scaleX(1)}

/* Qué hacemos: el frontend nunca genera números. Limpia restos visuales de versiones previas. */
.work-photo-card .work-number,.work-photo-card .card-number,.work-photo-card .item-number{display:none!important}
.work-photo-card::before,.work-photo-body::before{content:none!important;display:none!important}

/* Video configurable */
.video-grid{grid-template-columns:minmax(220px,var(--sq-video-text-width,32%)) minmax(0,1fr)}
.video-copy h2{font-size:var(--sq-video-title,42px);line-height:1.04}
.video-layout-full .video-copy h2{max-width:900px}
.lite-youtube img,.video-placeholder img{object-fit:cover;object-position:center}

/* Encabezados de páginas configurables */
.page-hero-title h1,.page-hero-both h1{font-size:var(--sq-page-title,64px)}
.page-hero-image-only,.page-hero-media{position:relative;width:100%;height:var(--sq-page-hero-height,460px);overflow:hidden;background:#eadbd0}
.page-hero-image{width:100%;height:100%;object-fit:cover;object-position:var(--sq-page-focus-x,50%) var(--sq-page-focus-y,50%)}
.page-hero-both{padding:0;text-align:left}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,9,8,.62) 0%,rgba(12,9,8,.28) 48%,rgba(12,9,8,.08) 100%);pointer-events:none}
.page-hero-overlay-content{position:absolute;inset:0;display:flex;align-items:center}
.page-hero-overlay-content h1{max-width:900px;color:#fff;text-shadow:0 4px 22px rgba(0,0,0,.28)}

@media(max-width:880px){
  .video-grid{grid-template-columns:1fr}
  .video-copy h2{font-size:var(--sq-video-title-mobile,34px)}
  .page-hero-title h1,.page-hero-both h1{font-size:var(--sq-page-title-mobile,42px)}
  .page-hero-image-only,.page-hero-media{height:min(var(--sq-page-hero-height,460px),420px)}
}
.sq-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Saqbech 4.1 · no duplicate ordinal markers in Qué hacemos */
body.page-que-hacemos .entry-content > .work-number,
body.page-que-hacemos .entry-content > .item-number,
body.page-que-hacemos .entry-content > .card-number{display:none!important}

/* v4.3 · Hero de máxima nitidez y estructura configurable */
.hero-photo-img{image-rendering:auto;filter:none!important;backface-visibility:hidden;transform:none!important}
.hero-photo-media{isolation:isolate}
