/* F06-R2: reconstruction of original WordPress Catalyst 1.5.4 / Dynamik 1.1 design.
   Values verified in original SQL: white background; 930px content; Open Sans +
   Open Sans Condensed; 60px logo text, 16px tagline; 18px main navigation;
   23px homepage titles; 24px article H1; two-/three-column homepage.
   No WordPress runtime, external font import, tracking or PHP dependency. */
:root {
  --classic-white:#fff;--classic-soft:#fafafa;--classic-ink:#111;
  --classic-heading:#333;--classic-grey:#888;--classic-rule:#e8e8e8;
  --classic-nav-rule:#d9d9d9;
  --classic-font:'Open Sans','Segoe UI',Arial,sans-serif;
  --classic-condensed:'Open Sans Condensed','Arial Narrow','Liberation Sans Narrow',Arial,sans-serif;
}
*,:before,:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--classic-ink);font:400 14px/1.64 var(--classic-font)}
a{color:#000;text-decoration:none}a:hover,a:focus-visible{color:#5c5c5c;text-decoration:underline}
a:focus-visible,button:focus-visible{outline:3px solid #335f85;outline-offset:3px}
img{max-width:100%;height:auto}button{font:inherit}h1,h2,h3,h4{font-family:var(--classic-condensed);font-weight:400;color:var(--classic-heading)}
.skip-link{position:absolute;left:12px;top:-100px;z-index:1001;background:#fff;padding:12px;box-shadow:0 2px 10px #999}
.skip-link:focus{top:12px}
.site-shell{width:min(100%,1010px);margin:20px auto 32px;background:#fff;box-shadow:0 5px 10px #ddd}
.site-header{background:#fff}
.wp-header-inner{min-height:110px;border-bottom:1px solid var(--classic-rule);display:flex;justify-content:center;align-items:center;flex-direction:column;padding:12px 30px 10px;position:relative;text-align:center}
.wp-site-name{line-height:1.03}
.brand{display:inline-block;font-family:var(--classic-condensed);font-weight:400;font-size:60px;letter-spacing:5px;text-transform:uppercase;color:#333;white-space:nowrap;text-decoration:none}
.brand:hover,.brand:focus-visible{text-decoration:none;color:#5c5c5c}
.wp-tagline{font:400 16px/1.35 var(--classic-font);color:#888;letter-spacing:1px;text-transform:uppercase;text-align:center;margin:7px 0 4px}
.site-nav{border-bottom:3px solid var(--classic-nav-rule);background:#fff;position:relative;z-index:20}
.nav-inner{max-width:930px;margin:0 auto;display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap}
.nav-inner>a,.submenu-toggle{display:flex;align-items:center;border:0;background:#fff;padding:14px 18px;color:#000;font:400 18px/1.2 var(--classic-condensed);text-align:center;cursor:pointer;white-space:nowrap}
.nav-inner>a:hover,.nav-inner>a.active,.submenu-toggle:hover,.submenu-toggle:focus-visible{color:#a3a3a3;text-decoration:none}
.wp-nav-dropdown{position:relative;display:flex;align-items:stretch}
.submenu-toggle span{margin-left:7px;font-family:Arial,sans-serif;font-size:12px}
.wp-submenu{display:none;position:absolute;top:100%;left:0;width:245px;z-index:23;background:#fafafa;border:1px solid #e8e8e8;box-shadow:0 3px 8px #0001}
.wp-nav-dropdown:hover .wp-submenu,.wp-nav-dropdown:focus-within .wp-submenu,.wp-nav-dropdown.submenu-open .wp-submenu{display:block}
.wp-submenu a{display:block;padding:11px 13px;border-bottom:1px solid #e8e8e8;color:#333;font:400 14px/1.4 var(--classic-font)}
.wp-submenu a:hover{background:#fff;text-decoration:none;color:#5c5c5c}
.menu-toggle{display:none}
/* Original home: EZ Home 2/3 layout, five recovered widgets. */
.wp-home{padding:10px 20px 35px}
.wp-home-row{display:grid;align-items:start;gap:0}
.wp-home-row-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.wp-home-row-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.wp-home-widget{min-width:0;padding:20px}
.wp-widget-title{font-size:23px;line-height:1.2;margin:0 0 12px;padding:0 0 10px;border-bottom:5px solid #e8e8e8;color:#111}
.wp-widget-title a{color:inherit}
.wp-home-widget p{font:400 18px/1.6 var(--classic-font);margin:0}
.wp-home-widget img{width:100%;height:auto;max-width:465px;display:block;margin:0 auto}
.wp-home-row-three img{max-width:300px}
.wp-home-widget-caption{text-align:center;margin-top:9px!important;font-size:16px!important}
/* WordPress pages had a plain heading and text/images in a 930px content area. */
.wp-content{max-width:930px;margin:0 auto;padding:30px 20px 45px}
.wp-page-title{font:400 24px/1.32 var(--classic-condensed);margin:0 0 21px;padding-bottom:7px;border-bottom:1px solid var(--classic-rule);color:#333}
.wp-editor{font:400 16px/1.48 var(--classic-font);overflow-wrap:anywhere}
.wp-editor p{margin:0 0 20px}
.wp-editor strong{font-weight:700}
.wp-editor h2{font-size:24px;line-height:1.28;margin:22px 0 18px}
.wp-editor h3,.wp-editor h4{font-size:20px;line-height:1.3;margin:24px 0 12px}
.wp-editor ul,.wp-editor ol{margin:9px 0 22px;padding-left:35px}
.wp-editor li{margin:4px 0}
.wp-editor a{text-decoration:underline;text-underline-offset:2px}
.wp-editor figure{margin:18px 0 22px;text-align:center}
.wp-editor hr{height:1px;border:0;background:#e8e8e8;margin:30px 0}
.wp-editor .wp-spacer{height:32px}
.wp-photo-button{display:block;max-width:800px;margin:0 auto 16px;padding:0;border:0;background:none;cursor:zoom-in;line-height:0}
.wp-photo-button img{max-width:100%;height:auto;width:auto;display:block;margin:0 auto}
.wp-editor p:has(> .wp-photo-button){text-align:center;margin-bottom:12px}
.wp-editor .wp-block-image{max-width:800px;margin-left:auto;margin-right:auto}
.wp-editor .wp-block-image .wp-photo-button{margin-bottom:0}
.wp-editor .intro-copy,.wp-editor .body-copy-content,.wp-editor .page-lead{font:inherit;margin-bottom:18px}
.wp-editor .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.wp-editor .contact-panel{padding:10px 0;background:#fff;color:#111}
.wp-editor .contact-panel a{color:#000}
.wp-editor .contact-visual img{width:100%;height:auto;display:block}
.wp-editor .contact-big{font-size:22px}
/* F08-R2: unificación visual de «Otros trabajos» (23 proyectos).
   Alcance estrictamente local: otras páginas conservan sus estilos. */
.wp-editor .other-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px 18px;
  align-items:stretch;
  margin:26px 0 36px;
}
.wp-editor .other-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid #e5e5e5;
  border-radius:3px;
  background:#fff;
  color:#333;
  text-decoration:none;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.wp-editor .other-card>img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
  object-position:center;
  background:#f4f4f4;
}
.wp-editor .other-card>div{
  display:flex;
  flex:1;
  align-items:center;
  gap:10px;
  min-height:94px;
  padding:13px 14px;
  border-top:1px solid #ececec;
}
.wp-editor .other-card h2{
  flex:1;
  min-width:0;
  margin:0;
  color:#333;
  font:600 15px/1.4 var(--classic-font);
  overflow-wrap:normal;
}
.wp-editor .other-card>div>span{
  display:grid;
  place-items:center;
  flex:0 0 26px;
  width:26px;
  height:26px;
  border:1px solid #e5e5e5;
  border-radius:50%;
  color:#777;
  font:400 15px/1 var(--classic-font);
}
.wp-editor .other-card:hover,
.wp-editor .other-card:focus-visible{
  border-color:#c6c6c6;
  color:#111;
  text-decoration:none;
  box-shadow:0 5px 14px #00000012;
  transform:translateY(-2px);
}
.wp-editor .other-card:hover h2,
.wp-editor .other-card:focus-visible h2{color:#111}
.wp-editor .other-card--vertical>img{object-position:50% 17%}
.wp-editor .other-card--square>img{object-position:50% 28%}
.wp-editor .other-card--iris>img{object-position:center bottom}
@media(prefers-reduced-motion:reduce){
 .wp-editor .other-card{transition:none}
 .wp-editor .other-card:hover,.wp-editor .other-card:focus-visible{transform:none}
}
.wp-editor .editorial-service-links ul{columns:2}
.wp-editor .archive-notice{padding:14px 17px;background:#fafafa;border-left:3px solid #d9d9d9}
.wp-post-cta{margin:30px 0 0;border-top:1px solid #e8e8e8;padding-top:20px}
.wp-post-cta h2{font-size:20px;margin:0 0 8px}
.wp-post-cta p{margin:0 0 15px;font-size:14px}
.wp-post-cta a{color:#333;text-decoration:underline;text-underline-offset:3px}
/* Videos use v7 safe consent-to-load behavior with original fixed-width appearance. */
.video-card{margin:20px auto 28px;max-width:800px;text-align:left}
.video-screen{position:relative;aspect-ratio:16/9;background:#161616;overflow:hidden}
.video-screen>img{position:absolute;width:100%;height:100%;object-fit:cover;left:0;top:0;opacity:.85}
.video-screen iframe{position:absolute;width:100%;height:100%;left:0;top:0;border:0}
.video-activate{position:absolute;inset:0;width:100%;height:100%;border:0;color:#fff;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;text-shadow:0 2px 6px #0009}
.video-activate:after{content:'▶';display:flex;align-items:center;justify-content:center;border-radius:8px;width:76px;height:54px;background:#1c1c1cc9;color:#fff;font-size:31px;line-height:1}
.video-activate:hover:after{background:#cf151a}
.video-activate>span{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
.video-caption{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 0;background:#fff}
.video-caption h3{font:400 16px/1.45 var(--classic-font);color:#333;margin:0}
.video-caption a{font:400 13px/1.5 var(--classic-font);color:#333;text-decoration:underline}
.video-playback-help{font-size:13px;padding:10px 12px;border:1px solid #e8e8e8;background:#fafafa;margin:0 0 16px}
.video-playback-help[hidden]{display:none}
/* Reconstructed three-column EZ fat footer: #FAFAFA and 18px headings. */
.wp-footer{border-top:2px solid #e8e8e8;background:#fff}
.wp-footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fafafa}
.wp-footer-widget{padding:15px 20px 24px;border-bottom:1px solid #e8e8e8;min-width:0}
.wp-footer-widget h2{margin:0 0 15px;font:400 18px/1.3 var(--classic-condensed);padding-bottom:11px;border-bottom:1px solid #e8e8e8;color:#111}
.wp-footer-widget p{font:400 14px/1.54 var(--classic-font);margin:0 0 10px}
.wp-footer-widget a{color:#000}
.wp-footer-base{padding:17px 20px;text-align:center;font-size:13px;color:#888;border-bottom:2px solid #e8e8e8}
/* Lightbox preserved; not part of original PHP theme but optional enhancement. */
body.no-scroll{overflow:hidden}
.lightbox{position:fixed;inset:0;background:#111f;z-index:9999;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;justify-items:center;padding:75px 8px 48px;color:#fff}
.lightbox[hidden]{display:none}
.lightbox-photo{grid-column:2;max-width:100%;max-height:calc(100vh - 135px);height:auto;width:auto;object-fit:contain}
.lightbox button{cursor:pointer;background:transparent;border:0;color:#fff}
.lightbox-close{position:absolute;right:18px;top:15px;font-size:18px;padding:10px}
.lightbox-close span{font-size:29px;vertical-align:middle;margin-left:10px}
.lightbox-prev,.lightbox-next{font-size:54px;line-height:1;padding:10px}
.lightbox-prev{grid-column:1;grid-row:1}.lightbox-next{grid-column:3;grid-row:1}
.lightbox-counter{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);font-size:13px;margin:0;letter-spacing:.08em}
@media(max-width:900px){
 .site-shell{margin:0 auto;box-shadow:none}
 .brand{font-size:clamp(32px,6.5vw,55px);letter-spacing:.07em}
 .nav-inner>a,.submenu-toggle{padding:13px 12px;font-size:16px}
 .wp-home-widget{padding:15px 12px}.wp-widget-title{font-size:21px}
 .wp-content{padding:23px 20px 40px}
}
@media(max-width:700px){
 .site-shell{width:100%}.wp-header-inner{min-height:90px;padding:14px 65px 12px 14px;align-items:flex-start}
 .brand{font-size:clamp(28px,7.5vw,44px);letter-spacing:.04em;text-align:left}
 .wp-tagline{font-size:12px;letter-spacing:.03em;text-align:left}
 .menu-toggle{display:flex;align-items:center;gap:7px;border:1px solid #d9d9d9;background:#fff;color:#333;padding:9px 10px;position:absolute;right:12px;top:25px;cursor:pointer;font-size:13px}
 .menu-icon{width:18px;display:grid;gap:4px}.menu-icon i{height:2px;background:#333;display:block}
 .site-nav{display:none;border-bottom:3px solid #d9d9d9}
 .site-nav.is-open{display:block}
 .nav-inner{display:block;max-width:none}
 .nav-inner>a,.submenu-toggle{width:100%;padding:13px 18px;white-space:normal;text-align:left;justify-content:flex-start;border-bottom:1px solid #e8e8e8;font-size:18px}
 .wp-nav-dropdown{display:block}.wp-submenu{display:none;position:static;width:100%;box-shadow:none;border:0;background:#fafafa}
 .wp-nav-dropdown:hover .wp-submenu{display:none}.wp-nav-dropdown.submenu-open .wp-submenu{display:block}
 .wp-submenu a{padding:11px 27px}
 .wp-home{padding:12px 14px 25px}
 .wp-home-row-two{grid-template-columns:1fr}
 .wp-home-row-three{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wp-home-widget{padding:14px 10px}.wp-widget-title{font-size:22px}
 .wp-home-widget p{font-size:15px}
 .wp-home-row-two .wp-home-widget img{max-width:465px}
 .wp-content{padding:22px 16px 35px}
 .wp-page-title{font-size:24px}.wp-editor{font-size:15px}
 .wp-editor .contact-grid,.wp-editor .other-grid{grid-template-columns:1fr 1fr}
 .wp-footer-columns{grid-template-columns:1fr}
 .wp-footer-widget{padding:18px 20px}
 .lightbox{grid-template-columns:42px 1fr 42px;padding:75px 3px 55px}
 .lightbox-prev,.lightbox-next{font-size:34px;padding:4px}
}
@media(max-width:450px){
 .wp-home-row-three{grid-template-columns:1fr}.wp-home-row-three .wp-home-widget{padding:18px 12px}
 .wp-home-row-three .wp-home-widget img{max-width:300px}
 .wp-editor .contact-grid,.wp-editor .other-grid{grid-template-columns:1fr}
 .video-caption{display:block}.video-caption a{display:block;margin-top:9px}
 .wp-editor .editorial-service-links ul{columns:1}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* JA-F08-FORM-001: formulario de contacto, scope aislado; mantiene tema Catalyst. */
.wp-editor .wp-contact-form { max-width: 800px; margin: 30px 0 40px; padding: 22px 26px;
  background: #fafafa; border: 1px solid #d9d9d9; color: #222; }
.wp-editor .wp-contact-form h2 { margin: 0 0 12px; font-size: 24px; line-height: 1.3; }
.wp-editor .wp-contact-form > p { margin: 0 0 18px; }
.wp-editor .contact-form-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.wp-editor .contact-form-field { margin-bottom: 18px; }
.wp-editor .contact-form-field > label { display: block; font-weight: 600; margin: 0 0 6px; }
.wp-editor .contact-form-field input, .wp-editor .contact-form-field select, .wp-editor .contact-form-field textarea {
  display: block; width: 100%; box-sizing: border-box; background: white; border: 1px solid #999;
  color: #222; border-radius: 2px; padding: 11px 12px; font: inherit; line-height: 1.5;
}
.wp-editor .contact-form-field textarea { min-height: 125px; resize: vertical; }
.wp-editor .contact-form-field :is(input, select, textarea):focus-visible,
.wp-editor .contact-submit:focus-visible, .wp-editor .contact-check input:focus-visible {
  outline: 3px solid #234b73; outline-offset: 2px;
}
.wp-editor .contact-privacy { font-size: 13px; line-height: 1.65; margin: 3px 0 18px; }
.wp-editor .contact-privacy p { margin: 0 0 12px; }
.wp-editor .contact-check { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; }
.wp-editor .contact-check input { margin: 5px 0 0; flex: 0 0 auto; width: 17px; height: 17px; }
.wp-editor .contact-submit { font: inherit; background: #333; border: 1px solid #333; color: #fff;
  padding: 11px 26px; border-radius: 2px; cursor: pointer; }
.wp-editor .contact-submit:hover:not(:disabled) { background: #555; }
.wp-editor .contact-submit:disabled { opacity: .5; cursor: not-allowed; }
.wp-editor .contact-form-note { margin: 10px 0 0; color: #555; font-size: 13px; }
.wp-editor .contact-alert { padding: 11px 15px; margin: 0 0 18px; border: 1px solid #8a8a8a; background: #fff; }
.wp-editor .contact-alert-success { border-color: #356d4b; }
.wp-editor .contact-alert-error { border-color: #922; }
.wp-editor .contact-alert ul { margin: 7px 0 0 20px; }
.wp-editor .contact-alert p { margin: 0; }
.wp-editor .contact-trap { position: absolute !important; left: -9999px !important;
  width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 600px) {
  .wp-editor .wp-contact-form { padding: 18px 15px; margin: 22px 0 30px; }
  .wp-editor .contact-form-columns { grid-template-columns: minmax(0, 1fr); gap: 0; }
}


/* JA-F08-FORM-R2: aviso de exito invertido y cinco parpadeos; sin JS. */
.wp-editor .contact-alert.contact-alert-success {
  background: #111;
  color: #fff;
  border: 2px solid #111;
  padding: 18px 20px;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 700;
  text-align: center;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .14);
  animation: ja-confirmacion-cinco-parpadeos 750ms ease-in-out 5;
}
@keyframes ja-confirmacion-cinco-parpadeos {
  0%, 100% { opacity: 1; }
  50% { opacity: .15; }
}
@media (prefers-reduced-motion: reduce) {
  .wp-editor .contact-alert.contact-alert-success { animation: none; }
}
