:root {
  --ink: #0d141a;
  --navy: #1d3557;
  --blue: #004aad;
  --blue-bright: #1c65c4;
  --slate: #5f6c7b;
  --sand: #dceaff;
  --paper: #f3f6fa;
  --cream: #ffffff;
  --line: rgba(29,53,87,.16);
  --white: #fff;
  --serif: "Source Serif 4", Georgia, serif;
  --sans: "Titillium Web", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: var(--sans); line-height: 1.65; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
.shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section { padding: 108px 0; }
.skip-link { position: fixed; left: 20px; top: -80px; z-index: 999; padding: 12px 18px; background: #fff; }
.skip-link:focus { top: 20px; }
.screen-reader-text { position: absolute; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

.site-header { position: absolute; inset: 0 0 auto; z-index: 30; color: white; transition: .25s ease; }
.site-header.is-scrolled { position: fixed; color: var(--ink); background: rgba(252,250,246,.94); box-shadow: 0 6px 30px rgba(16,25,35,.08); backdrop-filter: blur(14px); }
.page .site-header, .archive .site-header, .blog .site-header, .single .site-header, .error404 .site-header, .search .site-header { color: var(--ink); background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); }
.page .site-header .button-small, .archive .site-header .button-small, .blog .site-header .button-small, .single .site-header .button-small, .error404 .site-header .button-small, .search .site-header .button-small { color: var(--navy); border-color: var(--navy); }
.header-inner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 13px; }
.brand-logo-clip { position: relative; display: block; width: 70px; height: 54px; overflow: hidden; flex: 0 0 auto; }
.brand-logo-clip img { width: 70px; height: 70px; object-fit: contain; object-position: top center; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.brand-copy strong { font-size: 18px; }
.brand-copy small { margin-top: 5px; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; opacity: .78; }
.site-navigation { display: flex; align-items: center; gap: 22px; }
.site-menu { display: flex; align-items: center; gap: 22px; margin: 0; padding: 0; list-style: none; font-size: 13px; font-weight: 600; }
.site-menu a { position: relative; }
.site-menu a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 1px; background: currentColor; transition: .2s; }
.site-menu a:hover::after,.site-menu .current-menu-item a::after,.site-menu .current_page_item a::after { right: 0; }
.header-utilities { display: flex; align-items: center; gap: 14px; }
.header-login-link,.header-search-toggle { font-size: 12px; font-weight: 700; }
.header-login-link { padding: 9px 2px; border-bottom: 1px solid transparent; }
.header-login-link:hover { border-color: currentColor; }
.header-search-toggle { display: inline-flex; align-items: center; gap: 5px; padding: 8px 0; cursor: pointer; border: 0; color: inherit; background: transparent; font-family: var(--sans); }
.header-search-toggle > span { font: 400 23px/1 var(--serif); transform: rotate(-15deg); }
.site-search-panel { position: absolute; inset: 92px 0 auto; color: var(--ink); background: rgba(255,255,255,.98); border-block: 1px solid var(--line); box-shadow: 0 18px 40px rgba(16,25,35,.12); }
.site-search-panel[hidden] { display: none; }
.site-search-form { padding-block: 26px 30px; }
.site-search-form > label { display: block; margin-bottom: 10px; color: var(--navy); font-size: 12px; font-weight: 700; }
.site-search-form > div { display: grid; grid-template-columns: 1fr auto auto; border: 1px solid var(--line); }
.site-search-form input { min-width: 0; min-height: 54px; padding: 0 18px; border: 0; outline: 0; font: 16px var(--sans); }
.site-search-form input:focus { box-shadow: inset 0 0 0 2px var(--blue); }
.site-search-form button { min-width: 120px; cursor: pointer; border: 0; color: white; background: var(--blue); font: 700 12px var(--sans); }
.site-search-form .site-search-close { min-width: 90px; color: var(--navy); background: var(--paper); border-left: 1px solid var(--line); }
.menu-toggle { display: none; border: 0; padding: 8px; background: transparent; color: inherit; }
.menu-toggle > span:not(.screen-reader-text) { display: block; width: 24px; height: 2px; margin: 5px; background: currentColor; }

.button { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: 0 24px; border: 1px solid var(--ink); background: var(--ink); color: white; font: 600 13px var(--sans); letter-spacing: .03em; transition: .2s; }
.button:hover { transform: translateY(-2px); background: var(--blue); border-color: var(--blue); }
.button-small { min-height: 42px; padding: 0 18px; border-color: rgba(255,255,255,.45); background: transparent; }
.is-scrolled .button-small { border-color: var(--ink); color: var(--ink); }
.button-light { border-color: white; background: white; color: var(--ink); }
.text-link { display: inline-flex; gap: 10px; align-items: center; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 600; }
.light { color: white; }
.eyebrow { display: block; margin-bottom: 19px; color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }

.hero { position: relative; min-height: 780px; display: flex; align-items: center; color: white; background: var(--blue) url("../images/library-books.jpg") 80% center/cover no-repeat; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; opacity: 1; background: linear-gradient(90deg,#004aad 0%,rgba(0,74,173,.98) 44%,rgba(0,74,173,.72) 72%,rgba(29,53,87,.58) 100%), repeating-linear-gradient(90deg, transparent 0 119px, rgba(255,255,255,.055) 120px); }
.hero::after { content: ""; position: absolute; right: -8%; top: -25%; width: 52%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; box-shadow: 0 0 0 95px rgba(255,255,255,.04), 0 0 0 190px rgba(255,255,255,.025); }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.55fr .65fr; align-items: end; gap: 120px; padding-top: 100px; }
.hero h1 { max-width: 790px; margin: 0; font: 400 clamp(54px,7vw,92px)/.98 var(--serif); letter-spacing: -.045em; }
.hero h1 em, .manifesto h2 em, .newsletter-section h2 em { color: white; font-style: italic; }
.hero-copy > p { max-width: 640px; margin: 30px 0; color: rgba(255,255,255,.78); font-size: 18px; }
.hero-actions { display: flex; align-items: center; gap: 28px; }
.community-card { padding: 32px; border: 1px solid rgba(255,255,255,.38); background: rgba(29,53,87,.58); backdrop-filter: blur(15px); }
.card-kicker { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
.community-number { display: block; margin: 12px 0 4px; font: 400 55px var(--serif); }
.community-card p { color: rgba(255,255,255,.7); font-size: 13px; }
.community-card > a { font-size: 12px; font-weight: 700; }
.community-topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; }
.community-topics span { padding: 7px 11px; border: 1px solid rgba(29,53,87,.18); border-radius: 999px; background: rgba(255,255,255,.72); color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.hero-index { position: absolute; left: 24px; bottom: 28px; z-index: 2; transform: rotate(-90deg); transform-origin: left; color: rgba(255,255,255,.45); font-size: 10px; letter-spacing: .18em; }

.manifesto { background: white; border-bottom: 1px solid var(--line); }
.manifesto-grid { display: grid; grid-template-columns: 70px 1.25fr .75fr; gap: 52px; align-items: start; }
.section-number { color: var(--slate); font-size: 11px; letter-spacing: .18em; }
.manifesto h2, .section-heading h2 { margin: 0; font: 400 clamp(38px,5vw,64px)/1.04 var(--serif); letter-spacing: -.035em; }
.manifesto p { margin: 40px 0 0; color: var(--slate); font-size: 16px; }
.manifesto h2 em { color: var(--blue); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 54px; }

.areas-section { background: var(--paper); }
.area-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.area-card { position: relative; min-height: 265px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; transition: .24s ease; }
.area-card:hover { z-index: 2; transform: translateY(-6px); border-color: var(--blue); box-shadow: 0 18px 45px rgba(29,53,87,.12); }
.area-index { display: block; margin-bottom: 38px; color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .15em; }
.area-card h3 { margin: 0 0 13px; color: var(--navy); font: 600 25px/1.08 var(--serif); }
.area-card p { margin: 0; color: var(--slate); font-size: 13px; }
.area-arrow { position: absolute; right: 25px; bottom: 22px; color: var(--blue); font-size: 22px; }

.magazine-feature { position: relative; overflow: hidden; color: white; background: var(--navy); }
.magazine-feature::after { content: ""; position: absolute; inset: 0 0 0 55%; opacity: .12; background: repeating-linear-gradient(90deg,transparent 0 74px,#fff 75px); }
.magazine-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; align-items: center; }
.magazine-cover { aspect-ratio: .76; display: flex; flex-direction: column; justify-content: space-between; padding: 42px; background: white; color: var(--blue); box-shadow: 28px 32px 0 var(--blue-bright); transform: rotate(-2deg); }
.magazine-cover span { font-size: 16px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.magazine-cover strong { font: 700 clamp(60px,8vw,100px)/.85 var(--sans); letter-spacing: -.07em; }
.magazine-cover small { padding-top: 20px; border-top: 5px solid var(--blue); font-weight: 700; text-transform: uppercase; }
.magazine-copy h2 { margin: 0 0 18px; font: 500 clamp(54px,7vw,88px)/1 var(--serif); }
.magazine-copy p { max-width: 670px; color: rgba(255,255,255,.72); font-size: 17px; }
.magazine-status { display: flex; gap: 12px; align-items: center; margin: 28px 0; font-size: 13px; }
.magazine-status span { width: 9px; height: 9px; border-radius: 50%; background: #7bdcb5; box-shadow: 0 0 0 5px rgba(123,220,181,.16); }
.pathway-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; border: 1px solid var(--line); }
.pathway { position: relative; min-height: 410px; display: flex; flex-direction: column; justify-content: space-between; padding: 34px; border-right: 1px solid var(--line); background: #fff; transition: .25s; }
.pathway:last-child { border-right: 0; }
.pathway:hover { transform: translateY(-8px); box-shadow: 0 20px 55px rgba(16,25,35,.1); }
.pathway-featured { color: white; background: var(--navy); }
.pathway-index { font-size: 11px; letter-spacing: .17em; opacity: .65; }
.pathway h3 { margin: 10px 0 16px; font: 400 34px/1.08 var(--serif); }
.pathway p { color: var(--slate); font-size: 14px; }
.pathway-featured p { color: rgba(255,255,255,.7); }
.round-arrow { align-self: end; display: grid; place-items: center; width: 45px; height: 45px; border: 1px solid currentColor; border-radius: 50%; }

.library-section { background: white; }
.section-intro { max-width: 720px; margin: -28px 0 46px; color: var(--slate); }
.book-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 26px; }
.book-cover { aspect-ratio: .72; display: grid; place-items: center; margin-bottom: 22px; overflow: hidden; background: linear-gradient(145deg,#274660,#0d1a26); color: var(--sand); box-shadow: 0 18px 35px rgba(16,25,35,.13); transition: .25s; }
.book-cover:hover { transform: translateY(-5px) rotate(-.5deg); }
.book-cover img { width: 100%; height: 100%; object-fit: cover; }
.book-cover:not(:has(img)) { align-content: end; justify-items: start; gap: 12px; padding: 30px 26px; text-align: left; }
.book-cover .book-cover-label { font: 700 10px var(--sans); letter-spacing: .14em; text-transform: uppercase; opacity: .72; }
.book-cover strong { max-width: 14ch; font: 500 clamp(25px,2.2vw,36px)/1.03 var(--serif); }
.book-cover small { font: 500 12px/1.4 var(--sans); opacity: .8; }
.book-card:nth-child(2n) .book-cover { background: linear-gradient(145deg,#9d896b,#e7ddca); color: var(--navy); }
.book-meta, .article-meta { color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.book-card h3 { margin: 8px 0 0; font: 400 25px/1.2 var(--serif); }

.apps-preview-section { color: white; background: var(--navy); }
.apps-preview-section .section-heading h2 { color: white; }
.apps-preview-section .text-link { color: white; }
.app-preview-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(255,255,255,.2); }
.app-preview-card { position: relative; min-height: 410px; display: flex; flex-direction: column; padding: 34px; border-right: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.035); transition: .25s; }
.app-preview-card:last-child { border-right: 0; }
.app-preview-card:hover { background: rgba(255,255,255,.08); }
.app-preview-card > div { display: flex; justify-content: space-between; align-items: start; gap: 18px; }
.app-symbol { display: grid; place-items: center; width: 58px; height: 58px; flex: 0 0 auto; border: 1px solid currentColor; color: inherit; font: 500 28px var(--serif); }
.app-model,.app-status { display: inline-flex; padding: 6px 9px; border: 1px solid currentColor; color: var(--blue); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.app-preview-card .app-model { color: var(--sand); }
.app-model-premium { color: #b98636!important; }
.app-preview-status { margin: 42px 0 10px; color: rgba(255,255,255,.55); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.app-preview-card h3 { margin: 0 0 14px; font: 500 34px/1.08 var(--serif); }
.app-preview-card p { margin: 0; color: rgba(255,255,255,.68); }
.app-preview-card > a { margin-top: auto; padding-top: 28px; font-size: 12px; font-weight: 700; }

.latest-section { background: var(--paper); }
.article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.article-image { display: block; aspect-ratio: 1.45; margin-bottom: 22px; overflow: hidden; background: linear-gradient(145deg,var(--sand),var(--blue)); }
.article-image:empty { background-position: center; background-size: cover; }
.fallback-image-1:empty { background-image: linear-gradient(rgba(14,28,42,.18),rgba(14,28,42,.35)),url("../images/library-books.jpg"); }
.fallback-image-2:empty { background-image: linear-gradient(rgba(14,28,42,.15),rgba(14,28,42,.32)),url("../images/community-reading.jpg"); }
.fallback-image-3:empty { background-image: linear-gradient(rgba(14,28,42,.18),rgba(14,28,42,.38)),url("../images/library-reading-room.jpg"); }
.article-image img { width: 100%; height: 100%; object-fit: cover; transition: .35s; }
.article-image:hover img { transform: scale(1.04); }
.article-card h3 { margin: 10px 0; font: 400 29px/1.15 var(--serif); }
.article-card p { margin: 0; color: var(--slate); font-size: 14px; }

.community-feature { padding: 0 0 110px; background: var(--cream); }
.community-feature-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 680px; background: var(--paper); }
.community-photo { min-height: 620px; background: linear-gradient(rgba(11,23,36,.08),rgba(11,23,36,.22)),url("../images/community-reading.jpg") 60% center/cover no-repeat; }
.community-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(44px,7vw,90px); }
.community-copy h2 { margin: 0 0 24px; font: 400 clamp(38px,4.5vw,60px)/1.04 var(--serif); letter-spacing: -.035em; }
.community-copy > p { margin: 0; color: var(--slate); }
.community-copy .button { align-self: flex-start; }
.community-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin: 38px 0; padding: 28px 0; border-block: 1px solid var(--line); }
.community-metrics div { display: flex; flex-direction: column; }
.community-metrics strong { font: 400 27px var(--serif); }
.community-metrics span { color: var(--slate); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }

.membership-section { background: white; }
.membership-heading { align-items: start; }
.membership-heading > p { max-width: 460px; margin: 25px 0 0; color: var(--slate); }
.membership-grid { display: grid; grid-template-columns: repeat(3,1fr); align-items: stretch; border: 1px solid var(--line); }
.membership-card { display: flex; flex-direction: column; min-height: 500px; padding: 38px; border-right: 1px solid var(--line); background: white; }
.membership-card:last-child { border-right: 0; }
.membership-card h3 { margin: 34px 0 5px; color: var(--navy); font: 500 38px var(--serif); }
.membership-card > strong { color: var(--blue); font-size: 24px; }
.membership-label { align-self: flex-start; padding: 6px 10px; background: var(--paper); color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.membership-card ul { flex: 1; margin: 32px 0; padding: 0; list-style: none; color: var(--slate); }
.membership-card li { padding: 10px 0; border-bottom: 1px solid var(--line); }
.membership-free { border-top: 5px solid var(--blue); }
.membership-premium { color: white; background: var(--blue); }
.membership-premium h3, .membership-premium > strong { color: white; }
.membership-premium .membership-label { color: white; background: rgba(255,255,255,.14); }
.membership-premium ul { color: rgba(255,255,255,.76); }
.membership-premium li { border-color: rgba(255,255,255,.18); }
.button-outline { color: var(--blue); background: white; border-color: var(--blue); }

.newsletter-section { padding: 110px 0; color: white; background: linear-gradient(120deg,var(--blue),var(--navy)); }
.newsletter-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 90px; align-items: center; }
.newsletter-section h2 { margin: 0; font: 400 clamp(42px,5vw,66px)/1.03 var(--serif); }
.newsletter-section p { max-width: 520px; color: rgba(255,255,255,.68); }
.newsletter-promise > ul { margin: 36px 0; padding: 0; list-style: none; }
.newsletter-promise > ul li { display: grid; grid-template-columns: 140px 1fr; gap: 16px; padding: 15px 0; border-top: 1px solid rgba(255,255,255,.18); }
.newsletter-promise > ul li:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }
.newsletter-promise li strong { color: white; }
.newsletter-promise li span { color: rgba(255,255,255,.68); font-size: 13px; }
.newsletter-proof { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.newsletter-proof div { display: flex; flex-direction: column; }
.newsletter-proof strong { color: white; font: 500 27px var(--serif); }
.newsletter-proof span { color: rgba(255,255,255,.58); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.club-newsletter { padding: 38px; border: 1px solid rgba(255,255,255,.25); background: rgba(9,25,42,.22); box-shadow: 0 26px 65px rgba(4,13,23,.2); }
.newsletter-form-heading { margin-bottom: 27px; }
.newsletter-form-heading > span { display: block; color: var(--sand); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.newsletter-form-heading > strong { display: block; margin-top: 5px; color: white; font: 500 31px var(--serif); }
.newsletter-form-heading > p { margin: 4px 0 0; font-size: 13px; }
.newsletter-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.newsletter-field-wide { grid-column: 1 / -1; }
.club-newsletter label { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.club-newsletter input:not([type=checkbox]), .club-newsletter select { width: 100%; height: 48px; border: 0; border-bottom: 1px solid rgba(255,255,255,.36); border-radius: 0; outline: 0; background: transparent; color: white; font: 14px var(--sans); }
.club-newsletter select option { color: var(--ink); }
.club-newsletter input:focus, .club-newsletter select:focus { border-color: var(--sand); }
.newsletter-consent { display: flex!important; gap: 10px; align-items: flex-start; margin: 18px 0!important; color: rgba(255,255,255,.72); font-size: 11px!important; font-weight: 400!important; letter-spacing: 0!important; text-transform: none!important; }
.newsletter-consent a { color: var(--sand); text-decoration: underline; text-underline-offset: 2px; }
.newsletter-personalize { margin-top: 18px; border-block: 1px solid rgba(255,255,255,.18); }
.newsletter-personalize summary { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; cursor: pointer; color: white; font-size: 12px; font-weight: 700; }
.newsletter-personalize summary span { color: rgba(255,255,255,.52); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.newsletter-personalize[open] { padding-bottom: 5px; }
.newsletter-personalize[open] summary { margin-bottom: 12px; }
.club-newsletter button { width: 100%; cursor: pointer; border-color: var(--sand); background: var(--sand); color: var(--ink); }
.newsletter-assurance { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 16px; margin-top: 14px; color: rgba(255,255,255,.55); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.newsletter-assurance span::before { content: "✓"; margin-right: 5px; color: #7bdcb5; }
.newsletter-status { min-height: 24px; margin: 12px 0 0; font-size: 13px; }
.newsletter-community-next { display: block; margin-top: 8px; color: var(--sand); font-size: 12px; font-weight: 700; text-align: center; }
.newsletter-community-next[hidden] { display: none; }

/* Catálogo de aplicaciones */
.apps-archive { background: var(--paper); }
.apps-hero { display: grid; grid-template-columns: 1.2fr .55fr; gap: 80px; align-items: end; margin-bottom: 58px; }
.apps-hero h1 { margin: 0; color: var(--navy); font: 500 clamp(48px,6.7vw,82px)/.98 var(--serif); letter-spacing: -.045em; }
.apps-hero h1 em { color: var(--blue); font-style: italic; }
.apps-hero > div > p { max-width: 720px; color: var(--slate); font-size: 17px; }
.apps-hero-note { padding: 30px; color: white; background: var(--navy); }
.apps-hero-note > span { font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; opacity: .65; }
.apps-hero-note strong { display: block; margin: 8px 0; font: 500 31px var(--serif); }
.apps-hero-note p { color: rgba(255,255,255,.68); font-size: 13px; }
.apps-hero-note a { color: var(--sand); font-size: 12px; font-weight: 700; }
.app-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.app-filters a { padding: 10px 15px; border: 1px solid var(--line); background: white; color: var(--slate); font-size: 11px; font-weight: 700; }
.app-filters a:hover,.app-filters a.is-active { color: white; border-color: var(--blue); background: var(--blue); }
.app-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.app-card { min-height: 490px; display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--line); background: white; transition: .25s; }
.app-card:hover { transform: translateY(-5px); box-shadow: 0 22px 55px rgba(29,53,87,.1); }
.app-card-top { display: flex; justify-content: space-between; gap: 20px; }
.app-card .app-symbol { color: var(--blue); background: var(--paper); }
.app-badges { display: flex; flex-direction: column; align-items: end; gap: 6px; }
.app-status { color: var(--slate); }
.app-card h2 { margin: 32px 0 10px; color: var(--navy); font: 500 30px/1.1 var(--serif); }
.app-card > p { margin: 0; color: var(--slate); font-size: 14px; }
.app-card ul { margin: 25px 0; padding: 0; list-style: none; }
.app-card li { padding: 8px 0; border-bottom: 1px solid var(--line); color: var(--slate); font-size: 12px; }
.app-card li::before { content: "✓"; margin-right: 8px; color: var(--blue); font-weight: 700; }
.app-card-action { margin-top: auto; padding-top: 24px; }
.apps-roadmap { margin-top: 70px; padding: clamp(40px,7vw,80px); color: white; background: var(--blue); }
.apps-roadmap h2 { max-width: 820px; margin: 0; font: 500 clamp(38px,5vw,60px)/1.03 var(--serif); }
.apps-roadmap p { max-width: 760px; color: rgba(255,255,255,.72); }

/* Acceso gratuito y lectura progresiva */
.free-access-gate { position: relative; margin: 64px 0 20px; padding: clamp(34px,5vw,58px); overflow: hidden; color: white; background: linear-gradient(125deg,var(--navy),var(--blue)); }
.free-access-gate::after { content: ""; position: absolute; right: -100px; top: -180px; width: 390px; height: 390px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.02); }
.free-access-gate > * { position: relative; z-index: 1; }
.free-access-gate .membership-label { color: white; background: rgba(255,255,255,.14); }
.free-access-gate h2 { max-width: 760px; margin: 24px 0 12px; font: 500 clamp(34px,4.5vw,52px)/1.04 var(--serif); }
.free-access-gate > p { max-width: 720px; color: rgba(255,255,255,.74); }
.free-access-gate ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0; padding: 0; list-style: none; }
.free-access-gate li { padding: 7px 11px; border: 1px solid rgba(255,255,255,.24); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.free-access-gate .button-outline { color: white; border-color: white; background: transparent; }
.free-access-gate > small { display: block; margin-top: 18px; color: rgba(255,255,255,.58); }

.free-registration-page { min-height: 80vh; padding: 155px 0 110px; background: var(--paper); }
.free-registration-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 75px; align-items: start; }
.free-registration-promise { position: sticky; top: 130px; padding-top: 22px; }
.free-registration-promise h1 { margin: 0; color: var(--navy); font: 500 clamp(48px,6vw,76px)/.98 var(--serif); letter-spacing: -.045em; }
.free-registration-promise h1 em { color: var(--blue); font-style: italic; }
.free-registration-promise > p { max-width: 570px; color: var(--slate); font-size: 17px; }
.free-registration-promise ul { margin: 34px 0; padding: 0; list-style: none; }
.free-registration-promise li { display: grid; grid-template-columns: 155px 1fr; gap: 18px; padding: 14px 0; border-top: 1px solid var(--line); }
.free-registration-promise li:last-child { border-bottom: 1px solid var(--line); }
.free-registration-promise li strong { color: var(--navy); }
.free-registration-promise li span { color: var(--slate); font-size: 13px; }
.registration-trust { display: flex; align-items: center; gap: 18px; }
.registration-trust strong { color: var(--blue); font: 500 38px var(--serif); }
.registration-trust span { color: var(--slate); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.free-registration-form { padding: clamp(30px,4vw,50px); border: 1px solid var(--line); background: white; box-shadow: 0 24px 65px rgba(29,53,87,.09); }
.free-registration-form > h2 { margin: 20px 0 8px; color: var(--navy); font: 500 38px/1.08 var(--serif); }
.free-registration-form > p { color: var(--slate); }
.free-registration-form .pmpro { width: 100%; padding: 20px 0 0; }
.free-registration-form .pmpro_form { max-width: none; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.free-registration-form .pmpro_form_field { margin-bottom: 18px; }
.free-registration-form .pmpro_form_field label { color: var(--navy); font-weight: 700; }
.free-registration-form .pmpro_form_field input { width: 100%; min-height: 50px; padding: 10px 13px; }
.club-checkout-consents { margin: 24px 0; padding: 20px; border: 1px solid var(--line); background: var(--paper); }
.club-checkout-consents label { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 16px; color: var(--slate); font-size: 12px; line-height: 1.5; }
.club-checkout-consents label:last-child { margin-bottom: 0; }
.club-checkout-consents input { width: auto!important; min-height: 0!important; margin-top: 3px; accent-color: var(--blue); }
.club-checkout-consents a,.registration-login a { color: var(--blue); text-decoration: underline; }
.registration-login { padding-top: 18px; border-top: 1px solid var(--line); font-size: 13px; text-align: center; }

/* Captación emergente */
body.newsletter-popup-open { overflow: hidden; }
.club-newsletter-popup { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; }
.club-newsletter-popup[hidden] { display: none; }
.newsletter-popup-backdrop { position: absolute; inset: 0; background: rgba(5,13,22,.72); backdrop-filter: blur(7px); }
.newsletter-popup-dialog { position: relative; width: min(980px,100%); max-height: calc(100vh - 48px); display: grid; grid-template-columns: .78fr 1.22fr; overflow: auto; background: white; box-shadow: 0 35px 100px rgba(0,0,0,.28); }
.newsletter-popup-close { position: absolute; top: 14px; right: 16px; z-index: 2; width: 38px; height: 38px; cursor: pointer; border: 1px solid var(--line); border-radius: 50%; color: var(--navy); background: white; font: 300 25px/1 var(--sans); }
.newsletter-popup-close:hover { color: white; border-color: var(--blue); background: var(--blue); }
.newsletter-popup-promise { display: flex; flex-direction: column; justify-content: center; padding: 52px 42px; color: white; background: linear-gradient(150deg,var(--blue),var(--navy)); }
.newsletter-popup-promise > strong { font: 500 58px/1 var(--serif); }
.newsletter-popup-promise > p { color: rgba(255,255,255,.72); font-size: 14px; }
.newsletter-popup-promise ul { margin: 24px 0 0; padding: 22px 0 0; border-top: 1px solid rgba(255,255,255,.2); list-style: none; }
.newsletter-popup-promise li { padding: 6px 0; font-size: 12px; }
.newsletter-popup-promise li::before { content: "✓"; margin-right: 8px; color: #7bdcb5; }
.newsletter-popup-content { padding: 48px 52px; }
.newsletter-popup-content h2 { max-width: 560px; margin: 0; color: var(--navy); font: 500 clamp(38px,4vw,54px)/1.02 var(--serif); letter-spacing: -.035em; }
.newsletter-popup-content > p { margin: 16px 0 25px; color: var(--slate); }
.club-newsletter-compact { padding: 0; border: 0; background: transparent; box-shadow: none; }
.club-newsletter-compact label { color: var(--navy); }
.club-newsletter-compact input:not([type=checkbox]) { color: var(--ink); border-color: var(--line); }
.club-newsletter-compact input:focus { border-color: var(--blue); }
.club-newsletter-compact .newsletter-consent { color: var(--slate); }
.club-newsletter-compact .newsletter-consent a { color: var(--blue); }
.club-newsletter-compact button { color: white; border-color: var(--blue); background: var(--blue); }
.club-newsletter-compact .newsletter-assurance { color: var(--slate); }
.club-newsletter-compact .newsletter-status { color: var(--slate); }
.club-newsletter-compact .newsletter-community-next { color: var(--blue); }

/* Comunidad privada */
.community-portal { width: min(1180px,calc(100% - 48px)); margin: 0 auto; padding: 155px 0 110px; }
.community-portal-intro { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: end; margin-bottom: 58px; }
.community-portal-intro .eyebrow { grid-column: 1 / -1; }
.community-portal-intro h1 { margin: 0; color: var(--navy); font: 500 clamp(46px,6vw,78px)/.98 var(--serif); letter-spacing: -.04em; }
.community-portal-intro p { margin: 0 0 8px; color: var(--slate); font-size: 18px; }
.community-dashboard { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); }
.community-module { min-height: 270px; padding: 34px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: .2s ease; }
.community-module:nth-child(3n) { border-right: 0; }
.community-module:nth-last-child(-n+3) { border-bottom: 0; }
.community-module:hover { color: white; background: var(--blue); transform: translateY(-3px); }
.community-module > span { color: var(--blue-bright); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.community-module:hover > span,.community-module:hover p { color: rgba(255,255,255,.72); }
.community-module h3 { margin: 55px 0 8px; font: 500 34px var(--serif); }
.community-module p { margin: 0; color: var(--slate); }
.community-module-clubs { grid-column: 1 / -1; min-height: 220px; color: white; border-right: 0; border-bottom: 0; background: linear-gradient(120deg,var(--navy),var(--blue)); }
.community-module-clubs > span { color: #a8c9f5; }
.community-module-clubs h3 { margin-top: 38px; }
.community-module-clubs p { max-width: 760px; color: rgba(255,255,255,.75); }
.club-access-card { max-width: 820px; padding: 50px; border: 1px solid var(--line); border-top: 6px solid var(--blue); background: var(--paper); }
.club-access-card h2 { margin: 25px 0 12px; color: var(--navy); font: 500 clamp(34px,4vw,50px)/1.05 var(--serif); }
.club-access-card p { max-width: 660px; color: var(--slate); }
.access-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.community-benefits-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: end; margin: 0 0 30px; padding-top: 12px; }
.community-benefits-heading h2 { max-width: 650px; margin: 12px 0 0; color: var(--navy); font: 500 clamp(34px,4vw,54px)/1.02 var(--serif); letter-spacing: -.035em; }
.community-benefits-heading p { max-width: 560px; margin: 0 0 4px; color: var(--slate); font-size: 17px; }
.community-preview-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-bottom: 38px; border: 1px solid var(--line); }
.community-preview-grid article { min-height: 235px; padding: 30px 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; }
.community-preview-grid article:nth-child(3n) { border-right: 0; }
.community-preview-grid article:nth-last-child(-n+3) { border-bottom: 0; }
.community-preview-grid article > span { color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.community-preview-grid h3 { margin: 40px 0 8px; color: var(--navy); font: 500 29px/1.08 var(--serif); }
.community-preview-grid p { margin: 0; color: var(--slate); }
.community-gate-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 22px; align-items: stretch; }
.community-gate-grid .club-access-card { max-width: none; }
.community-trust-card { padding: 38px; color: white; background: var(--navy); }
.community-trust-card .eyebrow { color: #a8c9f5; }
.community-trust-card ul { margin: 35px 0 0; padding: 0; list-style: none; }
.community-trust-card li { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.16); font-size: 14px; }
.community-trust-card li::before { content: "✓"; margin-right: 10px; color: #8dc3ff; font-weight: 700; }
.membership-page { padding: 155px 0 110px; background: var(--paper); }
.membership-page .membership-heading { margin-bottom: 50px; }
.membership-page .membership-heading h1 { margin: 0; color: var(--navy); font: 500 clamp(42px,5vw,66px)/1.03 var(--serif); letter-spacing: -.04em; }
.membership-grid-two { grid-template-columns: repeat(2,1fr); }
.membership-status { margin-top: 28px; padding: 24px; border-left: 5px solid var(--blue); background: white; color: var(--slate); }
.membership-status strong { display: block; color: var(--navy); }
.membership-value { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 30px; border: 1px solid var(--line); background: white; }
.membership-value > div { min-height: 245px; padding: 32px; border-right: 1px solid var(--line); }
.membership-value > div:last-child { border-right: 0; }
.membership-value span { color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.membership-value h2 { margin: 44px 0 7px; color: var(--navy); font: 500 34px/1 var(--serif); }
.membership-value p { margin: 0; color: var(--slate); }
.membership-interest { display: grid; grid-template-columns: .8fr 1.2fr; gap: 75px; align-items: center; margin-top: 30px; padding: clamp(35px,6vw,70px); color: white; background: linear-gradient(120deg,var(--blue),var(--navy)); }
.membership-interest h2 { margin: 0; font: 500 clamp(38px,4.5vw,58px)/1.02 var(--serif); letter-spacing: -.035em; }
.membership-interest > div > p { color: rgba(255,255,255,.7); }
.membership-interest .club-newsletter { background: rgba(9,25,42,.28); }
.club-privacy-form { width: min(760px,calc(100% - 48px)); margin: 0 auto; padding: 160px 0 100px; }
.club-privacy-form h1 { margin: 12px 0 35px; color: var(--navy); font: 500 clamp(38px,5vw,58px)/1.04 var(--serif); }
.club-privacy-option { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 14px; padding: 24px; cursor: pointer; border: 1px solid var(--line); background: white; }
.club-privacy-option input { margin-top: 7px; accent-color: var(--blue); }
.club-privacy-option span,.club-privacy-option small { display: block; }
.club-privacy-option strong { color: var(--navy); font-size: 18px; }
.club-privacy-option small { margin-top: 5px; color: var(--slate); font-size: 14px; }
.club-privacy-form .button { margin-top: 20px; }
.club-success { color: #16713d; font-weight: 700; }

/* BuddyPress, bbPress y membresías dentro del tema propio */
.club-community-area main,.buddypress main,.bbpress main { min-height: 70vh; }
.buddypress-wrap,.bbpress-wrapper,#pmpro_account,.pmpro,.pmpro_content_message {
  width: min(1180px,calc(100% - 48px)); margin: 0 auto; padding-top: 150px; padding-bottom: 90px;
  font-family: var(--sans);
}
.buddypress-wrap .bp-navs,.buddypress-wrap .item-list-tabs { border: 1px solid var(--line); background: var(--paper); }
.buddypress-wrap .bp-navs ul,.buddypress-wrap .item-list-tabs ul { display: flex; flex-wrap: wrap; gap: 0; margin: 0; padding: 0; list-style: none; }
.buddypress-wrap .bp-navs li a,.buddypress-wrap .item-list-tabs li a { display: block; padding: 13px 17px; font-weight: 600; }
.buddypress-wrap .bp-navs li.current a,.buddypress-wrap .bp-navs li.selected a { color: white; background: var(--blue); }
.buddypress-wrap input,.buddypress-wrap textarea,.buddypress-wrap select,
.bbpress-wrapper input,.bbpress-wrapper textarea,.bbpress-wrapper select,
.pmpro input,.pmpro select,.pmpro textarea { max-width: 100%; border: 1px solid var(--line); border-radius: 0; background: white; font: inherit; }
.buddypress-wrap button,.buddypress-wrap input[type=submit],.bbpress-wrapper button,.bbpress-wrapper input[type=submit],.pmpro input[type=submit] {
  min-height: 44px; padding: 9px 18px; cursor: pointer; border: 1px solid var(--blue); border-radius: 0; color: white; background: var(--blue); font-weight: 700;
}
.buddypress-wrap .members-list,.buddypress-wrap .activity-list { margin: 28px 0; padding: 0; list-style: none; }
.buddypress-wrap .members-list > li,.buddypress-wrap .activity-list > li { margin-bottom: 14px; padding: 24px; border: 1px solid var(--line); background: white; }
.bbpress-wrapper .bbp-forums,.bbpress-wrapper .bbp-topics { border-color: var(--line); }
.bbpress-wrapper li.bbp-header { color: white; background: var(--navy); }
.bbpress-wrapper li.bbp-body ul.forum,.bbpress-wrapper li.bbp-body ul.topic { padding: 22px; }
.pmpro_table { width: 100%; border-collapse: collapse; }
.pmpro_table th,.pmpro_table td { padding: 14px; border: 1px solid var(--line); text-align: left; }
.pmpro_table th { color: white; background: var(--navy); }
.standard-page .prose > .pmpro { width: 100%; padding: 0; }
.standard-page .pmpro_form { max-width: 720px; margin: 0 auto; padding: 38px; border: 1px solid var(--line); background: var(--paper); box-shadow: 0 18px 45px rgba(29,53,87,.08); }
.standard-page .pmpro_form input[type=text],
.standard-page .pmpro_form input[type=email],
.standard-page .pmpro_form input[type=password] { width: 100%; min-height: 52px; padding: 10px 14px; }
.standard-page .pmpro_actions_nav { max-width: 720px; margin: 18px auto 0; }

.page-main, .single-main { min-height: 70vh; padding: 165px 0 100px; }
.page-main { background: white; }
.library-archive { background: var(--paper); }
.page-header { max-width: 880px; margin-bottom: 60px; }
.page-header h1, .article-single h1, .not-found h1 { margin: 0; font: 400 clamp(48px,7vw,82px)/1.02 var(--serif); letter-spacing: -.04em; }
.page-header h1 em { color: var(--blue); font-style: italic; }
.page-header > p { max-width: 620px; color: var(--slate); font-size: 17px; }
.archive-search { display: grid; grid-template-columns: 1fr auto; max-width: 850px; margin: -25px 0 50px; border: 1px solid var(--line); background: white; }
.archive-search input { min-width: 0; min-height: 58px; padding: 0 18px; border: 0; outline: 0; font: 15px var(--sans); }
.archive-search input:focus { box-shadow: inset 0 0 0 2px var(--blue); }
.archive-search button { min-width: 170px; cursor: pointer; border: 0; color: white; background: var(--navy); font: 700 12px var(--sans); }
.empty-area-state { grid-column: 1 / -1; padding: clamp(34px,6vw,70px); border: 1px solid var(--line); border-top: 5px solid var(--blue); background: var(--paper); }
.empty-area-state h2 { max-width: 780px; margin: 22px 0 12px; color: var(--navy); font: 500 clamp(34px,4vw,50px)/1.04 var(--serif); }
.empty-area-state > p { max-width: 720px; color: var(--slate); }
.empty-area-topics { display: flex; flex-wrap: wrap; gap: 9px; margin: 28px 0; }
.empty-area-topics span { padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--navy); font-size: 11px; font-weight: 700; }
.library-search { display: grid; grid-template-columns: 1.7fr 1fr auto; gap: 0; margin-bottom: 22px; border: 1px solid var(--line); background: white; }
.library-search input, .library-search select { min-width: 0; height: 60px; padding: 0 20px; border: 0; border-right: 1px solid var(--line); outline: 0; background: white; color: var(--ink); font: 14px var(--sans); }
.library-search input:focus, .library-search select:focus { box-shadow: inset 0 0 0 2px var(--blue); }
.library-search button { min-width: 135px; border: 0; background: var(--navy); color: white; font: 700 12px var(--sans); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.result-summary { display: flex; justify-content: space-between; margin: 0 0 38px; color: var(--slate); font-size: 12px; }
.result-summary a { color: var(--blue); font-weight: 700; }
.archive-book-grid { margin-bottom: 60px; }
.archive-book-grid .book-card h2 { margin: 8px 0 0; font: 400 25px/1.2 var(--serif); }

/* Contacto */
.contact-page { padding: 155px 0 110px; background: var(--paper); }
.contact-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; margin-bottom: 55px; }
.contact-hero h1 { max-width: 760px; margin: 0; color: var(--navy); font: 500 clamp(46px,6vw,76px)/.98 var(--serif); letter-spacing: -.04em; }
.contact-hero > p { margin: 0 0 7px; color: var(--slate); font-size: 18px; }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; border: 1px solid var(--line); background: white; }
.contact-primary { padding: clamp(36px,5vw,64px); border-right: 1px solid var(--line); }
.contact-primary h2 { margin: 25px 0 8px; color: var(--navy); font: 500 42px/1 var(--serif); }
.contact-primary p { color: var(--slate); }
.contact-email { display: inline-block; margin: 25px 0; color: var(--blue); font-size: clamp(18px,2.1vw,25px); font-weight: 700; text-decoration: underline; text-underline-offset: 5px; overflow-wrap: anywhere; }
.contact-note { padding-top: 20px; border-top: 1px solid var(--line); font-size: 13px; }
.contact-options article { min-height: 180px; padding: 28px 34px; border-bottom: 1px solid var(--line); }
.contact-options article:last-child { border-bottom: 0; }
.contact-options article > span { color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.contact-options h3 { margin: 22px 0 5px; color: var(--navy); font: 500 27px/1.05 var(--serif); }
.contact-options p { margin: 0; color: var(--slate); }
.contact-community { display: flex; justify-content: space-between; align-items: center; gap: 40px; margin-top: 28px; padding: 44px; color: white; background: var(--navy); }
.contact-community h2 { max-width: 620px; margin: 0; font: 500 40px/1.02 var(--serif); }
.contact-community-links { display: flex; flex-wrap: wrap; gap: 12px; }
.contact-secondary-link { border-color: rgba(255,255,255,.4); background: transparent; }

/* Acceso */
.member-login-page { min-height: 80vh; padding: 155px 0 110px; background: var(--paper); }
.member-login-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.member-login-intro h1 { max-width: 650px; margin: 0; color: var(--navy); font: 500 clamp(48px,6vw,72px)/.98 var(--serif); letter-spacing: -.04em; }
.member-login-intro > p { max-width: 560px; color: var(--slate); font-size: 17px; }
.member-login-intro ul { margin: 30px 0; padding: 0; border-block: 1px solid var(--line); list-style: none; }
.member-login-intro li { padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--navy); font-weight: 600; }
.member-login-intro li:last-child { border-bottom: 0; }
.member-login-signup a { color: var(--blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.member-login-form { padding: clamp(32px,5vw,58px); border: 1px solid var(--line); background: white; box-shadow: 0 24px 65px rgba(29,53,87,.09); }
.member-login-form > h2 { margin: 20px 0 28px; color: var(--navy); font: 500 42px/1 var(--serif); }
.member-login-form .pmpro,.member-login-form .pmpro_form { width: 100%; margin: 0; padding: 0; }
.member-login-form .pmpro_form { border: 0; background: transparent; box-shadow: none; }
.member-login-form .pmpro_form input[type=text],.member-login-form .pmpro_form input[type=password] { width: 100%; min-height: 52px; padding: 10px 13px; }
.member-login-form .pmpro_actions_nav { margin-top: 18px; }

/* Cuenta del miembro */
.member-account-page { min-height: 80vh; padding: 150px 0 105px; background: var(--paper); }
.member-account-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: end; margin-bottom: 42px; }
.member-account-hero h1 { margin: 0; color: var(--navy); font: 500 clamp(46px,6vw,72px)/.98 var(--serif); letter-spacing: -.04em; }
.member-account-hero > p { margin: 0 0 7px; color: var(--slate); font-size: 17px; }
.member-shortcuts { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 32px; border: 1px solid var(--line); background: white; }
.member-shortcuts a { display: flex; min-height: 170px; flex-direction: column; padding: 26px; border-right: 1px solid var(--line); transition: .2s ease; }
.member-shortcuts a:last-child { border-right: 0; }
.member-shortcuts a:hover { color: white; background: var(--blue); transform: translateY(-3px); }
.member-shortcuts span { color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.member-shortcuts a:hover span,.member-shortcuts a:hover small { color: rgba(255,255,255,.72); }
.member-shortcuts strong { margin-top: auto; color: var(--navy); font: 500 24px/1.05 var(--serif); }
.member-shortcuts a:hover strong { color: white; }
.member-shortcuts small { margin-top: 5px; color: var(--slate); }
.member-account-details { padding: clamp(28px,5vw,55px); border: 1px solid var(--line); background: white; }
.member-account-details .pmpro { width: 100%; margin: 0; padding: 0; }
.member-account-details .pmpro_section { margin-bottom: 35px; }
.member-account-details .pmpro_section:last-child { margin-bottom: 0; }
.member-account-details .pmpro_section_title { margin: 0 0 18px; color: var(--navy); font: 500 34px/1.05 var(--serif); }
.member-account-details .pmpro_card { border: 1px solid var(--line); box-shadow: none; }
.member-account-details .pmpro_card_actions a { color: var(--blue); font-weight: 700; }
.member-account-details #pmpro_account-links { display: none; }
.empty-state { grid-column: 1 / -1; padding: 70px; border: 1px solid var(--line); text-align: center; background: white; }
.empty-state h2 { margin: 0; font: 400 38px var(--serif); }
.pagination .nav-links { display: flex; gap: 8px; justify-content: center; }
.pagination .page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; border: 1px solid var(--line); }
.pagination .current { background: var(--navy); color: white; }
.magazine-list { display: grid; gap: 28px; }
.magazine-list-card { display: grid; grid-template-columns: 260px 1fr; gap: 55px; align-items: center; padding: 42px; border: 1px solid var(--line); background: var(--paper); }
.magazine-mini-cover { aspect-ratio: .76; display: flex; flex-direction: column; justify-content: space-between; padding: 26px; background: var(--blue); color: white; box-shadow: 14px 16px 0 var(--navy); }
.magazine-mini-cover span, .magazine-mini-cover small { font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.magazine-mini-cover strong { font-size: 54px; letter-spacing: -.06em; }
.magazine-list-card h2 { margin: 10px 0; font: 500 42px/1.08 var(--serif); }
.magazine-list-card p { max-width: 600px; color: var(--slate); }
.article-single { max-width: 930px; }
.article-single header { margin-bottom: 50px; }
.single-image { margin-top: 44px; }
.prose { max-width: 760px; margin-inline: auto; font-size: 17px; }
.prose h2, .prose h3 { margin-top: 1.5em; font-family: var(--serif); font-weight: 400; line-height: 1.15; }
.prose h2 { font-size: 40px; }
.prose a { color: var(--blue); text-decoration: underline; }
.not-found { max-width: 740px; padding-block: 100px; text-align: center; }
.not-found p { margin: 22px 0 35px; color: var(--slate); }
.page-hero { padding: 180px 0 90px; color: white; background: var(--navy); }
.page-hero h1 { margin: 0; font: 400 clamp(48px,7vw,78px)/1 var(--serif); }
.content-shell { width: min(820px,calc(100% - 48px)); margin: 80px auto; }
.entry-content { font-size: 17px; }
.entry-content h2, .entry-content h3 { font-family: var(--serif); font-weight: 400; line-height: 1.15; }
.entry-content h2 { font-size: 40px; }
.entry-content a { color: var(--blue); text-decoration: underline; }

.site-footer { padding: 76px 0 24px; color: rgba(255,255,255,.72); background: #0b1118; }
.site-footer .brand-logo-clip { filter: brightness(0) invert(1); opacity: .95; }
.footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3,1fr); gap: 54px; }
.brand-footer { color: white; }
.footer-grid > div:first-child p { max-width: 330px; font-size: 13px; }
.footer-grid h2 { margin: 0 0 18px; color: white; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.footer-grid > div:not(:first-child) a { display: block; margin: 9px 0; font-size: 13px; }
.footer-grid a:hover { color: white; }
.footer-bottom { display: flex; justify-content: space-between; margin-top: 65px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 900px) {
  .shell { width: min(100% - 32px, 720px); }
  .section { padding: 78px 0; }
  .site-header { position: absolute; }
  .menu-toggle { display: block; z-index: 3; }
  .site-navigation { position: fixed; inset: 0; display: none; flex-direction: column; justify-content: center; background: var(--navy); color: white; }
  .site-navigation.is-open { display: flex; }
  .site-menu { flex-direction: column; font-size: 20px; }
  .header-utilities { flex-direction: column; gap: 10px; }
  .header-search-toggle,.header-login-link { color: white; font-size: 15px; }
  .site-search-panel { position: fixed; inset: 0; z-index: 5; display: grid; place-items: center; padding: 24px; background: rgba(255,255,255,.98); }
  .site-search-panel[hidden] { display: none; }
  .site-search-form { width: min(680px,100%); padding: 30px; border: 1px solid var(--line); background: white; }
  .is-scrolled .site-navigation .button-small { color: white; border-color: white; }
  .hero { min-height: auto; padding: 150px 0 85px; }
  .hero-grid, .newsletter-grid { grid-template-columns: 1fr; gap: 55px; }
  .area-grid { grid-template-columns: repeat(2,1fr); }
  .magazine-grid { grid-template-columns: .8fr 1.2fr; gap: 55px; }
  .membership-grid { grid-template-columns: 1fr; }
  .membership-value { grid-template-columns: 1fr; }
  .membership-value > div { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .membership-value > div:last-child { border-bottom: 0; }
  .membership-interest { grid-template-columns: 1fr; gap: 35px; }
  .membership-card { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .community-feature-grid { grid-template-columns: 1fr; }
  .community-photo { min-height: 500px; }
  .magazine-list-card { grid-template-columns: 210px 1fr; gap: 36px; }
  .manifesto-grid { grid-template-columns: 40px 1fr; }
  .manifesto-grid > p { grid-column: 2; margin-top: 0; }
  .pathway-grid { grid-template-columns: 1fr; }
  .pathway { min-height: 310px; border-right: 0; border-bottom: 1px solid var(--line); }
  .book-grid { grid-template-columns: repeat(2,1fr); }
  .article-grid { grid-template-columns: 1fr; }
  .app-preview-grid,.app-grid { grid-template-columns: 1fr 1fr; }
  .app-preview-card:nth-child(2) { border-right: 0; }
  .app-preview-card:last-child { border-top: 1px solid rgba(255,255,255,.18); }
  .apps-hero { grid-template-columns: 1fr; gap: 35px; }
  .free-registration-grid { grid-template-columns: 1fr; gap: 45px; }
  .free-registration-promise { position: static; }
  .newsletter-popup-dialog { grid-template-columns: .7fr 1.3fr; }
  .newsletter-popup-promise { padding: 38px 28px; }
  .newsletter-popup-content { padding: 42px 36px; }
  .contact-hero,.member-login-grid { grid-template-columns: 1fr; gap: 38px; }
  .member-account-hero { grid-template-columns: 1fr; gap: 22px; }
  .member-shortcuts { grid-template-columns: 1fr 1fr; }
  .member-shortcuts a:nth-child(2) { border-right: 0; }
  .member-shortcuts a:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-primary { border-right: 0; border-bottom: 1px solid var(--line); }
  .contact-community { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1.5fr 1fr; }
}

@media (max-width: 560px) {
  .shell, .content-shell { width: calc(100% - 28px); }
  .header-inner { min-height: 76px; }
  .site-search-form { padding: 24px 18px; }
  .site-search-form > div { grid-template-columns: 1fr; border: 0; }
  .site-search-form input { border: 1px solid var(--line); }
  .site-search-form button,.site-search-form .site-search-close { min-height: 50px; border: 0; }
  .hero h1 { font-size: 48px; }
  .hero-actions, .section-heading, .footer-bottom { align-items: flex-start; flex-direction: column; }
  .community-card { padding: 24px; }
  .manifesto-grid { display: block; }
  .manifesto-grid .section-number { display: none; }
  .book-grid { gap: 18px; }
  .book-card h3 { font-size: 20px; }
  .newsletter-fields { grid-template-columns: 1fr; }
  .community-portal-intro,.community-benefits-heading { grid-template-columns: 1fr; gap: 24px; }
  .community-dashboard { grid-template-columns: 1fr; }
  .community-preview-grid,.community-gate-grid { grid-template-columns: 1fr; }
  .community-preview-grid article,.community-preview-grid article:nth-child(3n),.community-preview-grid article:nth-last-child(-n+3) { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .community-preview-grid article:last-child { border-bottom: 0; }
  .community-module,.community-module:nth-child(3n),.community-module:nth-last-child(-n+3) { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .community-module-clubs { grid-column: auto; border-bottom: 0; }
  .community-module:last-child { border-bottom: 0; }
  .area-grid { grid-template-columns: 1fr; }
  .magazine-grid { grid-template-columns: 1fr; }
  .magazine-cover { width: min(80%,320px); margin-inline: auto; }
  .library-search { grid-template-columns: 1fr; }
  .archive-search { grid-template-columns: 1fr; margin-top: -25px; }
  .archive-search input { border-bottom: 1px solid var(--line); }
  .archive-search button { min-height: 52px; }
  .library-search input, .library-search select { border-right: 0; border-bottom: 1px solid var(--line); }
  .library-search button { min-height: 54px; }
  .community-photo { min-height: 390px; }
  .magazine-list-card { grid-template-columns: 1fr; padding: 28px; }
  .magazine-mini-cover { width: 210px; }
  .community-copy { padding: 38px 24px; }
  .community-metrics { grid-template-columns: 1fr 1fr; }
  .newsletter-field-wide { grid-column: auto; }
  .club-newsletter { padding: 22px; }
  .newsletter-promise > ul li { grid-template-columns: 1fr; gap: 3px; }
  .newsletter-proof { grid-template-columns: 1fr 1fr; }
  .app-preview-grid,.app-grid { grid-template-columns: 1fr; }
  .app-preview-card,.app-preview-card:nth-child(2) { min-height: 330px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .app-preview-card:last-child { border-bottom: 0; }
  .app-filters { display: grid; grid-template-columns: 1fr 1fr; }
  .club-newsletter-popup { padding: 12px; }
  .newsletter-popup-dialog { max-height: calc(100vh - 24px); grid-template-columns: 1fr; }
  .newsletter-popup-promise { display: none; }
  .newsletter-popup-content { padding: 44px 24px 28px; }
  .newsletter-popup-content h2 { font-size: 38px; }
  .club-newsletter-compact .newsletter-fields { grid-template-columns: 1fr; }
  .free-access-gate .access-actions { align-items: stretch; flex-direction: column; }
  .free-access-gate .button { width: 100%; }
  .free-registration-promise li { grid-template-columns: 1fr; gap: 3px; }
  .free-registration-form { padding: 28px 20px; }
  .contact-page,.member-login-page { padding-top: 125px; }
  .member-account-page { padding-top: 120px; }
  .member-shortcuts { grid-template-columns: 1fr; }
  .member-shortcuts a,.member-shortcuts a:nth-child(2),.member-shortcuts a:nth-child(-n+2) { min-height: 135px; border-right: 0; border-bottom: 1px solid var(--line); }
  .member-shortcuts a:last-child { border-bottom: 0; }
  .contact-primary,.contact-options article,.contact-community { padding: 28px 24px; }
  .community-portal { width: min(100% - 30px,1180px); padding-top: 125px; }
  .club-access-card { padding: 30px; }
  .footer-grid { grid-template-columns: 1fr; }
}
