/*
Theme Name: ASOCH Personalizado
Author: ASOCH
Description: Diseño institucional del centenario, páginas independientes y patrones para Gutenberg.
Version: 2.1.0
Requires at least: 6.8
Requires PHP: 7.4
Text Domain: asoch-personalizado
License: GPL-2.0-or-later
*/
/* Baseline equivalent to the original Tailwind preflight. */
h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}img{display:block;max-width:100%;height:auto}button{font:inherit}body{line-height:1.5}img,svg{vertical-align:middle}


:root {
  --navy: #101f4d;
  --navy-deep: #091536;
  --red: #d91b23;
  --bronze: #9e6945;
  --gold: #c5975a;
  --cream: #f7f1e7;
  --paper: #fffdf8;
  --ink: #151719;
  --muted: #61636a;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; background: white; color: var(--navy); padding: 14px 18px; border: 3px solid var(--red); font-weight: 800; }
.skip-link:focus { top: 16px; }
a:focus-visible { outline: 3px solid #00cdbd; outline-offset: 4px; }

.access-bar { background: var(--navy-deep); color: #fff; font-size: 12px; letter-spacing: .04em; }
.access-inner { min-height: 36px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.access-tools { display: flex; align-items: center; gap: 22px; }
.lsch-link { color: #fff; font-weight: 800; }
.lsch-link span { color: #00cdbd; margin-right: 6px; }
.access-note { opacity: .72; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,253,248,.96); border-bottom: 1px solid #e7ddcf; backdrop-filter: blur(12px); }
.nav-wrap { min-height: 86px; display: flex; align-items: center; gap: 34px; }
.brand { display: flex; align-items: center; gap: 12px; margin-right: auto; }
.brand img { width: 62px; height: 62px; object-fit: contain; }
.brand span { display: flex; flex-direction: column; }
.brand strong { color: var(--navy); font-size: 24px; line-height: 1; letter-spacing: .08em; }
.brand small { color: var(--muted); font-size: 11px; margin-top: 5px; }
nav { display: flex; gap: 26px; color: #303137; font-weight: 700; font-size: 14px; }
nav a { padding: 12px 0; border-bottom: 2px solid transparent; }
nav a:hover { color: var(--red); border-color: var(--red); }
.nav-cta { background: var(--red); color: #fff; padding: 14px 18px; font-weight: 800; font-size: 14px; }
.nav-cta span { margin-left: 10px; }

.hero { position: relative; overflow: hidden; color: #fff; background: var(--navy-deep); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .13; background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.18) 1px, transparent 1px); background-size: 70px 70px; }
.hero-grid { position: relative; min-height: 690px; padding: 86px 0 72px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 72px; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow, .section-label { margin: 0 0 20px; color: var(--bronze); text-transform: uppercase; font-weight: 900; letter-spacing: .16em; font-size: 12px; }
.eyebrow { color: #f0c18e; display: flex; align-items: center; gap: 10px; }
.eyebrow span { width: 30px; height: 2px; background: var(--red); }
h1 { margin: 0; max-width: 690px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(58px, 7vw, 96px); line-height: .92; letter-spacing: -.055em; font-weight: 700; }
h1 span { color: #f1c18b; font-style: italic; font-weight: 500; }
.hero-lead { max-width: 650px; margin: 28px 0 0; color: #dce3f3; font-size: 19px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 0 23px; font-weight: 900; font-size: 14px; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--red); color: white; }
.button-primary:hover { background: #ef2932; }
.button-secondary { border: 1px solid rgba(255,255,255,.5); color: white; }
.button-secondary:hover { background: rgba(255,255,255,.09); }
.hero-facts { display: flex; margin-top: 48px; border-top: 1px solid rgba(255,255,255,.2); padding-top: 24px; }
.hero-facts div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; padding-right: 24px; margin-right: 24px; border-right: 1px solid rgba(255,255,255,.18); }
.hero-facts div:last-child { border: 0; }
.hero-facts strong { font-family: Georgia, serif; color: #f1c18b; font-size: 34px; }
.hero-facts span { max-width: 88px; color: #c6ccdb; line-height: 1.25; font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }
.hero-emblem { position: relative; z-index: 2; display: grid; place-items: center; }
.emblem-ring { width: min(430px, 36vw); aspect-ratio: 1; border-radius: 50%; background: var(--paper); border: 12px solid rgba(197,151,90,.8); box-shadow: 0 0 0 2px var(--paper), 0 30px 80px rgba(0,0,0,.4); display: grid; place-items: center; position: relative; }
.emblem-ring img { width: 83%; height: 83%; object-fit: contain; }
.emblem-year { position: absolute; top: 47%; color: var(--gold); font-family: Georgia, serif; font-size: 18px; font-weight: 700; }
.emblem-year:first-child { left: -62px; transform: rotate(-90deg); }
.emblem-year:last-child { right: -62px; transform: rotate(90deg); }
.centenary-badge { position: absolute; right: 3%; bottom: 3%; width: 116px; height: 116px; border-radius: 50%; background: var(--red); border: 5px solid var(--paper); display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.centenary-badge strong { font-family: Georgia, serif; font-size: 46px; line-height: .8; }
.centenary-badge span { font-size: 11px; letter-spacing: .2em; margin-top: 8px; }
.hero-shape { position: absolute; border-radius: 50%; opacity: .7; }
.hero-shape-one { width: 480px; height: 480px; background: var(--red); right: -300px; top: -220px; }
.hero-shape-two { width: 220px; height: 220px; border: 36px solid var(--bronze); left: -150px; bottom: -100px; }

.statement { padding: 112px 0; background: var(--paper); }
.statement-grid { display: grid; grid-template-columns: 220px 1fr; gap: 72px; }
.statement h2, .section-head h2, .history h2, .lsch-section h2, .participate h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(40px, 5vw, 64px); line-height: 1.04; letter-spacing: -.04em; }
.statement h2 em { color: var(--red); font-weight: 500; }
.statement-body { margin-top: 38px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.statement-body p, .history-copy > p, .lsch-section p { color: var(--muted); line-height: 1.8; font-size: 17px; margin: 0; }

.departments { background: var(--navy); color: white; padding: 106px 0; }
.section-head { display: grid; grid-template-columns: 1fr 380px; gap: 60px; align-items: end; margin-bottom: 48px; }
.section-head p:last-child { color: #c8cede; font-size: 16px; line-height: 1.7; margin: 0; }
.section-label.light { color: #efc18d; }
.department-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.2); border-left: 1px solid rgba(255,255,255,.2); }
.department-card { min-height: 245px; padding: 28px; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); transition: background .2s ease, transform .2s ease; }
.department-card:hover { background: var(--red); transform: translateY(-3px); }
.department-card > span { color: #efc18d; font-weight: 900; font-size: 12px; }
.department-card h3 { margin: 52px 0 12px; font-family: Georgia, serif; font-size: 23px; line-height: 1.1; }
.department-card p { color: #c9cede; font-size: 13px; line-height: 1.6; margin: 0; }
.department-card:hover p, .department-card:hover > span { color: white; }

.history { padding: 110px 0; background: var(--cream); }
.history-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 110px; align-items: center; }
.history-mark { min-height: 480px; background: var(--red); color: white; display: grid; place-content: center; text-align: center; position: relative; overflow: hidden; }
.history-mark::before { content: ""; position: absolute; inset: 28px; border: 1px solid rgba(255,255,255,.5); }
.history-mark span { font-family: Georgia, serif; font-size: 150px; line-height: .8; letter-spacing: -.08em; }
.history-mark small { margin-top: 24px; letter-spacing: .5em; font-weight: 900; }
.history-copy h2 { max-width: 650px; color: var(--navy-deep); }
.history-copy > p { margin-top: 28px; }
.timeline { margin-top: 42px; border-top: 1px solid #d7cbbb; }
.timeline div { display: grid; grid-template-columns: 90px 1fr; gap: 25px; padding: 20px 0; border-bottom: 1px solid #d7cbbb; align-items: center; }
.timeline strong { color: var(--red); font-family: Georgia, serif; font-size: 23px; }
.timeline span { color: #4e5055; }

.lsch-section { padding: 105px 0; background: var(--paper); }
.lsch-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 75px; align-items: center; }
.video-placeholder { aspect-ratio: 16/10; background: var(--navy-deep); color: white; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; position: relative; overflow: hidden; }
.video-placeholder::before { content: "LSCh"; position: absolute; font-family: Georgia, serif; font-size: 180px; color: rgba(255,255,255,.05); }
.video-placeholder .play { width: 70px; height: 70px; border-radius: 50%; background: var(--red); display: grid; place-items: center; padding-left: 5px; z-index: 1; }
.video-placeholder span:last-child { z-index: 1; font-weight: 800; }
.lsch-section h2 { color: var(--navy-deep); font-size: clamp(38px,4.5vw,58px); }
.lsch-section p { margin-top: 25px; }
.text-link { display: inline-flex; gap: 12px; margin-top: 28px; color: var(--red); font-weight: 900; border-bottom: 2px solid var(--red); padding-bottom: 6px; }

.participate { padding: 76px 0; background: var(--red); color: white; }
.participate-inner { display: grid; grid-template-columns: 1.2fr .9fr auto; gap: 48px; align-items: center; }
.participate h2 { font-size: 46px; }
.participate p { margin: 0; line-height: 1.7; color: #ffe3e3; }
.button-light { background: white; color: var(--navy-deep); white-space: nowrap; }

footer { background: #080f25; color: white; padding-top: 72px; }
.footer-main { display: grid; grid-template-columns: 1.6fr 1fr .7fr .7fr; gap: 50px; padding-bottom: 60px; }
.footer-brand { display: flex; gap: 18px; align-items: center; }
.footer-brand img { width: 90px; height: 90px; object-fit: contain; }
.footer-brand div { display: flex; flex-direction: column; }
.footer-brand strong { font-size: 30px; letter-spacing: .08em; }
.footer-brand span { color: #bbc2d3; font-size: 12px; margin-top: 6px; }
footer h3 { margin: 0 0 18px; color: #efc18d; font-size: 13px; text-transform: uppercase; letter-spacing: .12em; }
footer a { display: block; margin: 0 0 12px; color: #e2e6ef; font-size: 14px; }
footer a:hover { color: #efc18d; }
footer p { color: #aeb6ca; font-size: 13px; line-height: 1.7; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.14); min-height: 70px; display: flex; justify-content: space-between; align-items: center; color: #8993aa; font-size: 12px; }

@media (max-width: 980px) {
  nav { display: none; }
  .hero-grid { grid-template-columns: 1fr; text-align: center; gap: 54px; }
  .eyebrow, .hero-actions, .hero-facts { justify-content: center; }
  .hero-lead { margin-left: auto; margin-right: auto; }
  .emblem-ring { width: min(430px,75vw); }
  .statement-grid, .history-grid, .lsch-grid { grid-template-columns: 1fr; gap: 45px; }
  .department-grid { grid-template-columns: repeat(2,1fr); }
  .participate-inner { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-main > div:last-child { grid-column: 2; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 30px, 1180px); }
  .access-inner { justify-content: center; }
  .access-inner > span, .access-note { display: none; }
  .nav-wrap { min-height: 76px; }
  .brand img { width: 52px; height: 52px; }
  .brand small { display: none; }
  .nav-cta { padding: 12px; font-size: 12px; }
  .hero-grid { min-height: 0; padding: 64px 0; }
  h1 { font-size: 56px; }
  .hero-lead { font-size: 16px; }
  .hero-actions { flex-direction: column; }
  .hero-facts { gap: 15px; }
  .hero-facts div { display: flex; flex-direction: column; padding: 0 12px 0 0; margin: 0; }
  .hero-facts strong { font-size: 28px; }
  .emblem-year { display: none; }
  .centenary-badge { width: 88px; height: 88px; }
  .centenary-badge strong { font-size: 34px; }
  .statement, .departments, .history, .lsch-section { padding: 76px 0; }
  .statement-body, .section-head { grid-template-columns: 1fr; gap: 20px; }
  .statement-grid { gap: 20px; }
  .department-grid { grid-template-columns: 1fr; }
  .department-card { min-height: 205px; }
  .history-mark { min-height: 350px; }
  .history-mark span { font-size: 110px; }
  .participate h2 { font-size: 38px; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-main > div:last-child { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

.nav-wrap{flex-wrap:wrap;gap:20px;padding-block:14px}nav ul{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:0}nav a{display:block}.nav-wrap nav{max-width:660px}.contrast-toggle{border:1px solid #788096;background:transparent;color:white;padding:4px 8px;cursor:pointer;font-size:12px}.page-banner{background:var(--navy-deep);color:white;padding:70px 0}.page-banner h1{font-size:clamp(40px,6vw,72px);line-height:1.1;max-width:1000px}.page-banner .section-label{color:#f1c18b}.page-content{padding-block:70px;font-size:18px;line-height:1.8;min-height:250px}.page-content p{margin-bottom:24px}.page-content h2{font:700 38px/1.2 Georgia,serif;color:var(--navy);margin:30px 0 20px}.page-content a{color:var(--red);text-decoration:underline}.news-section{padding:80px 0;background:var(--paper)}.news-section h2{font:700 48px/1.1 Georgia,serif;color:var(--navy);margin-bottom:32px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.news-card{border:1px solid #d7cbbb;padding:28px}.news-card h3{font:700 28px/1.2 Georgia,serif;margin:16px 0}.news-card time{font-size:14px;color:var(--muted)}.news-card p{line-height:1.7}.news-card img{width:100%;height:220px;object-fit:cover}.post-featured{max-height:560px;object-fit:cover;margin-bottom:30px}.navigation.pagination{display:block;margin-top:30px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}body.admin-bar .site-header{top:32px}.high-contrast{--paper:#fff;--cream:#fff;--ink:#000;--muted:#222;--bronze:#70451d;--red:#b60009;--navy:#000;--navy-deep:#000}.high-contrast .site-header{background:white}.high-contrast .hero-lead,.high-contrast .department-card p{color:white}:focus-visible{outline:3px solid #008d83;outline-offset:4px}section[id],footer[id]{scroll-margin-top:170px}.page-content .history-detail{margin-block:-70px}.page-content .history-detail .container{width:100%}.wp-block-image img{height:auto}
@media(max-width:980px){.nav-wrap nav{display:block;order:3;width:100%;max-width:none}nav ul{justify-content:center}.news-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.nav-wrap{gap:12px}nav ul{gap:2px 14px}nav a{font-size:14px;padding:6px 0}.news-grid{grid-template-columns:1fr}.page-banner{padding:48px 0}.page-content{padding-block:48px}.page-content .history-detail{margin-block:-48px}.hero-facts{flex-wrap:wrap}.hero-facts span{font-size:12px}.page-content h2{font-size:32px}body.admin-bar .site-header{top:0}}

/* Version 2: native Site Editor blocks. */
.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block:0}.wp-block-group{box-sizing:border-box}.asoch-main{margin:0}.wp-block-post-content>*{margin-block:0}.wp-block-image{margin:0}.hero-grid>.hero-copy{min-width:0}.hero-facts>div{border-radius:0}.hero-facts .fact-label{max-width:88px;color:#c6ccdb;font-size:12px;line-height:1.25;text-transform:uppercase;letter-spacing:.07em}.hero-facts .hero-fact p{margin:0}.emblem-ring .wp-block-image{width:83%;height:83%;display:grid;place-items:center}.emblem-ring .wp-block-image img{width:100%;height:100%;object-fit:contain}.centenary-badge p{display:flex;flex-direction:column;align-items:center}.history-mark p{display:flex;flex-direction:column}.department-card .department-number{color:#efc18d;font-weight:900;font-size:14px}.department-card p{font-size:14px}.department-card h3{margin-top:52px}.timeline .milestone p{margin:0}.video-placeholder p{position:relative;z-index:1}.video-placeholder p:last-child{font-weight:800}.hero-copy .wp-block-buttons{margin-top:34px}.wp-block-button__link{border-radius:0;font-size:14px;font-weight:900;padding:16px 23px;line-height:1.4}.wp-block-button.button-primary>.wp-block-button__link{background:var(--red);color:white}.wp-block-button.button-secondary{border:none}.wp-block-button.button-secondary>.wp-block-button__link{background:transparent;color:white;border:1px solid #ffffff80}.wp-block-button.button-light>.wp-block-button__link{background:white;color:var(--navy-deep)}.wp-block-button.nav-cta{padding:0;background:none}.wp-block-button.nav-cta>.wp-block-button__link{background:var(--red);color:white;padding:14px 18px}.brand .wp-block-image{width:62px;flex-shrink:0}.brand .brand-copy{display:flex;flex-direction:column}.brand .brand-title{font-weight:700;color:var(--navy);font-size:24px;line-height:1;letter-spacing:.08em}.brand .brand-subtitle{color:var(--muted);font-size:12px;margin-top:5px}.main-navigation.wp-block-navigation{flex:1;max-width:660px}.main-navigation .wp-block-navigation__container{gap:12px 22px}.main-navigation .wp-block-navigation-item__content{font-size:14px;padding:8px 0}.main-navigation .wp-block-navigation__responsive-container.is-menu-open{background:var(--paper);color:var(--navy);padding:30px}.main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:flex-start}.main-navigation .wp-block-navigation__responsive-container-close{color:var(--navy)}.access-tools .wp-block-button__link{border:1px solid #788096;background:transparent;color:white;padding:4px 8px;font-size:12px}.footer-brand .wp-block-image{width:90px;flex-shrink:0}.footer-brand-copy p:last-child{font-size:12px;color:#bbc2d3}.footer-lower{background:#080f25;color:#8993aa}.footer-main>div{min-width:0}.footer-main p{margin-bottom:12px}.footer-main a{display:inline}.footer-bottom p{margin:0}.news-section h2{font:700 48px/1.1 Georgia,serif;color:var(--navy);margin-bottom:32px}.wp-block-post-template.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;gap:28px}.news-grid>li{margin:0}.news-card{height:100%}.news-card .wp-block-post-featured-image{margin-bottom:20px}.wp-block-query-pagination{margin-top:30px}.page-content>.wp-block-post-content>.history{padding-block:0;background:transparent}.page-content>.wp-block-post-content>.history>.container{width:100%}.page-content .wp-block-post-content h2{margin-top:30px}.editor-styles-wrapper .hero-shape{pointer-events:none}.editor-styles-wrapper .site-header{position:relative}.editor-styles-wrapper .container{max-width:100%}.editor-styles-wrapper .hero-emblem .block-editor-block-list__layout{position:relative}.editor-styles-wrapper .department-grid{display:grid}.editor-styles-wrapper .wp-block-post-content{max-width:none}
@media(max-width:980px){.wp-block-post-template.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-navigation.wp-block-navigation{order:0;width:auto;max-width:none;min-width:44px}.brand{margin-right:auto}.hero-facts{justify-content:center}.hero-grid{gap:54px}.hero-copy h1{margin-inline:auto}}
@media(max-width:640px){.wp-block-post-template.news-grid{grid-template-columns:1fr}.brand .brand-subtitle{display:none}.brand .wp-block-image{width:52px}.brand{gap:8px}.brand .brand-title{font-size:22px}.nav-wrap{gap:12px}.nav-wrap>.wp-block-buttons{display:none}.access-description{display:none}.access-inner{min-height:42px}.hero-facts .hero-fact{display:flex;flex-direction:column}.hero-actions.wp-block-buttons{align-items:stretch}.hero-actions .wp-block-button{width:100%}.hero-actions .wp-block-button__link{width:100%}.main-navigation.wp-block-navigation{display:flex;justify-content:flex-end}.main-navigation .wp-block-navigation__responsive-container-open{display:flex}footer .footer-main{grid-template-columns:1fr}}

:root{--navy:var(--wp--preset--color--navy,#101f4d);--red:var(--wp--preset--color--red,#d91b23);--gold:var(--wp--preset--color--gold,#c5975a);--paper:var(--wp--preset--color--paper,#fffdf8)}header.wp-block-template-part{position:sticky;top:0;z-index:50}header.wp-block-template-part .site-header{position:relative;top:auto}body.admin-bar header.wp-block-template-part{top:32px}@media(max-width:782px){body.admin-bar header.wp-block-template-part{top:46px}}@media(max-width:600px){body.admin-bar header.wp-block-template-part{top:0}}
