/*
 * DESCUBRE EL HOYO · V76 CONSOLIDADA · MÁS VIVA
 * Una sola web, distintas formas de entrar.
 */
:root {
  --adapt-ink: #17221e;
  --adapt-green: #123d32;
  --adapt-green-2: #1e654e;
  --adapt-paper: #f4eddc;
  --adapt-cream: #fffaf0;
  --adapt-yellow: #f2c94c;
  --adapt-coral: #ef7551;
  --adapt-blue: #367c9d;
  --adapt-purple: #76568e;
  --adapt-border: #17221e;
  --adapt-shadow: 0 10px 0 rgba(23,34,30,.14);
}

/* Puerta de entrada */
.choice-page { margin: 0; min-height: 100vh; background: var(--adapt-paper); color: var(--adapt-ink); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.choice-page * { box-sizing: border-box; }
.choice-skip { position: fixed; left: 1rem; top: -5rem; z-index: 99; padding: .8rem 1rem; background: #fff; color: #000; border: 3px solid #000; }
.choice-skip:focus { top: 1rem; }
.choice-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0,1.02fr) minmax(480px,.98fr); }
.choice-hero { position: sticky; top: 0; min-height: 100vh; overflow: hidden; isolation: isolate; }
.choice-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.choice-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4,24,18,.18), rgba(4,24,18,.88)); }
.choice-hero__copy { position: absolute; inset: auto clamp(1.5rem,5vw,5rem) clamp(2rem,6vw,5rem); color: white; }
.choice-brand { margin: 0 0 1rem; font-weight: 900; letter-spacing: .16em; font-size: .78rem; }
.choice-hero h1 { max-width: 780px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(4.2rem,8.5vw,9.2rem); line-height: .78; letter-spacing: -.07em; font-weight: 500; }
.choice-hero h1 span { color: #f7cf61; }
.choice-hero__copy > p:last-child { max-width: 660px; margin: 1.8rem 0 0; font-size: clamp(1.1rem,1.6vw,1.38rem); line-height: 1.55; font-weight: 650; }
.choice-panel { min-height: 100vh; padding: clamp(2.2rem,5vw,5.5rem); display: flex; flex-direction: column; justify-content: center; background: var(--adapt-paper); }
.choice-panel__head { max-width: 720px; }
.choice-kicker { margin: 0 0 .6rem; color: var(--adapt-green-2); font-size: .82rem; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.choice-panel h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.9rem,5.4vw,6rem); line-height: .92; letter-spacing: -.05em; font-weight: 500; }
.choice-panel__head > p:last-child { max-width: 620px; margin: 1rem 0 1.8rem; font-size: 1.08rem; line-height: 1.55; }
.choice-options { display: grid; gap: 1rem; }
.choice-options--wide { grid-template-columns: 1fr 1fr; }
.choice-options--mobile { display: none; }
.choice-card { min-height: 180px; padding: 1.35rem; display: grid; grid-template-columns: 70px 1fr; align-items: center; gap: 1.15rem; border: 3px solid var(--adapt-border); border-radius: 24px; background: #fff; color: var(--adapt-ink); text-align: left; cursor: pointer; box-shadow: var(--adapt-shadow); transition: transform .16s ease, box-shadow .16s ease; }
.choice-card:hover { transform: translateY(-5px); box-shadow: 0 15px 0 rgba(23,34,30,.12); }
.choice-card:active { transform: translateY(3px); box-shadow: 0 4px 0 rgba(23,34,30,.14); }
.choice-card:focus-visible, .choice-panel button:focus-visible, .choice-panel summary:focus-visible { outline: 5px solid #1473e6; outline-offset: 4px; }
.choice-card__icon { width: 70px; height: 70px; display: grid; place-items: center; border: 3px solid currentColor; border-radius: 50%; font-size: 1.65rem; font-weight: 950; }
.choice-card strong { display: block; font-size: clamp(1.35rem,2.2vw,1.85rem); line-height: 1.05; }
.choice-card small { display: block; margin-top: .55rem; font-size: .97rem; line-height: 1.4; color: #39443f; }
.choice-card--deep { background: #e6f2e9; }.choice-card--quick { background: #ffe4bd; }.choice-card--senior { background: #fff; }.choice-card--kids { background: #ffda4a; }.choice-card--mobile { background: #cae8f4; }
.choice-remembered { margin: 0 0 1.2rem; padding: 1rem 1.1rem; border: 2px solid var(--adapt-green); border-radius: 16px; background: #eff8f3; }
.choice-remembered p { margin: 0 0 .7rem; }.choice-remembered button { min-height: 48px; padding: .65rem 1rem; border: 0; border-radius: 12px; background: var(--adapt-green); color: #fff; font-weight: 850; cursor: pointer; }
.choice-all { margin-top: 1.25rem; }.choice-all summary { cursor: pointer; font-weight: 800; }.choice-all__grid { margin-top: .8rem; display: flex; flex-wrap: wrap; gap: .55rem; }.choice-all__grid button { min-height: 44px; padding: .55rem .8rem; border: 2px solid var(--adapt-border); border-radius: 999px; background: white; font-weight: 800; cursor: pointer; }
.choice-foot { margin: auto 0 0; padding-top: 2rem; color: #5a625e; font-size: .88rem; }

/* Selector de modo común */
.adaptive-mode-button { position: fixed; z-index: 8500; right: 1rem; bottom: 1rem; min-height: 50px; padding: .7rem 1rem; border: 2px solid #fff; border-radius: 999px; background: #17221e; color: #fff; box-shadow: 0 7px 24px rgba(0,0,0,.24); font: 800 .9rem/1.1 system-ui,sans-serif; cursor: pointer; }
.adaptive-mode-button:focus-visible { outline: 4px solid #ffd84a; outline-offset: 3px; }
.adaptive-mode-dialog { width: min(680px,calc(100% - 1.5rem)); max-height: min(760px,calc(100vh - 1.5rem)); padding: 0; border: 3px solid #17221e; border-radius: 26px; background: #fffaf0; color: #17221e; box-shadow: 0 24px 90px rgba(0,0,0,.35); }
.adaptive-mode-dialog::backdrop { background: rgba(9,20,16,.72); backdrop-filter: blur(5px); }
.adaptive-mode-dialog__inner { padding: clamp(1.25rem,4vw,2.3rem); }
.adaptive-mode-dialog__top { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.adaptive-mode-dialog h2 { margin: 0; font: 800 clamp(2rem,5vw,3.4rem)/.98 Georgia,serif; letter-spacing: -.04em; }
.adaptive-mode-dialog__close { width: 48px; height: 48px; border: 2px solid #17221e; border-radius: 50%; background: #fff; font-size: 1.5rem; cursor: pointer; }
.adaptive-mode-dialog p { max-width: 58ch; line-height: 1.5; }
.adaptive-mode-list { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: 1.2rem; }
.adaptive-mode-list button { min-height: 108px; padding: 1rem; border: 2px solid #17221e; border-radius: 18px; background: #fff; color: #17221e; text-align: left; cursor: pointer; }
.adaptive-mode-list button[aria-current="true"] { background: #dff0e7; box-shadow: inset 0 0 0 3px #1e654e; }
.adaptive-mode-list strong { display: block; font-size: 1.12rem; }.adaptive-mode-list small { display: block; margin-top: .35rem; color: #44504a; line-height: 1.35; }

/* Resumen adaptativo de páginas */
.adaptive-page-summary { width: min(980px,calc(100% - 2rem)); margin: clamp(1.2rem,4vw,2.5rem) auto; padding: clamp(1.2rem,3vw,2rem); border: 3px solid #173127; border-radius: 22px; background: #eff7f1; color: #17221e; box-shadow: 0 7px 0 rgba(23,49,39,.12); }
.adaptive-page-summary__label { margin: 0 0 .35rem; color: #1e654e; font-size: .78rem; font-weight: 950; letter-spacing: .11em; text-transform: uppercase; }
.adaptive-page-summary h2 { margin: 0; font-family: Georgia,serif; font-size: clamp(1.8rem,4vw,3rem); line-height: 1; letter-spacing: -.035em; }
.adaptive-page-summary > p { max-width: 70ch; margin: .8rem 0; font-size: 1.08rem; line-height: 1.55; }
.adaptive-page-summary ul { margin: .8rem 0 0; padding-left: 1.25rem; }.adaptive-page-summary li { margin: .35rem 0; }
.adaptive-page-summary__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.adaptive-page-summary__actions button, .adaptive-page-summary__actions a { min-height: 48px; display: inline-flex; align-items: center; padding: .7rem 1rem; border: 2px solid #173127; border-radius: 13px; background: #173127; color: #fff !important; text-decoration: none !important; font-weight: 850; cursor: pointer; }
.adaptive-page-summary__actions .is-secondary { background: #fff; color: #173127 !important; }
body.adaptive-condensed .article-card.adaptive-collapsible[hidden] { display: none !important; }

/* Página rápida */
.quick-home { margin: 0; background: #efe6d2; color: #17221e; font-family: Inter,system-ui,sans-serif; padding-bottom: 0; }
.quick-home * { box-sizing: border-box; }.quick-home a { color: inherit; }
.quick-top { position: sticky; top: 0; z-index: 200; min-height: 72px; padding: .7rem max(1rem,calc((100vw - 1180px)/2)); display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 2px solid #17221e; background: rgba(255,250,240,.96); }
.quick-brand { display: grid; text-decoration: none; }.quick-brand strong { font-size: 1.22rem; }.quick-brand span { font-size: .78rem; color: #536059; }.quick-top button { min-height: 46px; padding: .6rem .9rem; border: 2px solid #17221e; border-radius: 999px; background: #fff; font-weight: 800; cursor: pointer; }
.quick-home main { width: min(1180px,calc(100% - 2rem)); margin: 0 auto; }
.quick-hero { min-height: 570px; margin-top: 1rem; display: grid; grid-template-columns: 1fr 1fr; border: 3px solid #17221e; border-radius: 30px; overflow: hidden; background: #fffaf0; box-shadow: 0 12px 0 rgba(23,34,30,.12); }
.quick-hero > div { padding: clamp(2rem,5vw,5rem); display: flex; flex-direction: column; justify-content: center; }.quick-kicker { margin: 0 0 .8rem; color: #1e654e; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; }.quick-hero h1 { margin: 0; font: 500 clamp(4rem,8vw,7.7rem)/.78 Georgia,serif; letter-spacing: -.07em; }.quick-hero p:last-child { max-width: 500px; font-size: 1.2rem; line-height: 1.5; }.quick-hero img { width: 100%; height: 100%; object-fit: cover; }
.quick-section { margin: clamp(4rem,8vw,7rem) 0; }.quick-heading { display: grid; grid-template-columns: 1fr .6fr; gap: 2rem; align-items: end; margin-bottom: 1.4rem; }.quick-heading h2 { margin: 0; font: 500 clamp(2.7rem,6vw,5.3rem)/.9 Georgia,serif; letter-spacing: -.055em; }.quick-heading p { margin: 0; font-size: 1.06rem; line-height: 1.5; }
.quick-grid { display: grid; gap: 1rem; }.quick-grid--utility { grid-template-columns: repeat(3,1fr); }.quick-grid--utility a { min-height: 180px; padding: 1.25rem; display: flex; flex-direction: column; justify-content: space-between; border: 3px solid #17221e; border-radius: 20px; background: #fff; text-decoration: none; box-shadow: 0 7px 0 rgba(23,34,30,.12); }.quick-grid--utility a:nth-child(2n) { background: #e7f3ec; }.quick-grid--utility a:nth-child(3n) { background: #ffe3bd; }.quick-grid--utility span { font-size: 2rem; }.quick-grid--utility strong { display: block; font-size: 1.35rem; }.quick-grid--utility small { display: block; margin-top: .35rem; color: #4b5751; }
.quick-grid--stories { grid-template-columns: repeat(4,1fr); }.quick-grid--stories a { min-height: 390px; position: relative; overflow: hidden; border: 3px solid #17221e; border-radius: 22px; color: #fff; text-decoration: none; }.quick-grid--stories img { width: 100%; height: 100%; object-fit: cover; }.quick-grid--stories a::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.9)); }.quick-grid--stories span { position: absolute; z-index: 2; left: 1.1rem; right: 1.1rem; bottom: 1.1rem; }.quick-grid--stories strong { display:block; font: 500 2rem/1 Georgia,serif; }.quick-grid--stories small { display:block; margin-top:.45rem; line-height:1.35; }
.quick-history ol { list-style: none; margin: 0; padding: 0; border-top: 3px solid #17221e; }.quick-history li { border-bottom: 2px solid #17221e; }.quick-history a { min-height: 96px; padding: 1rem .2rem; display: grid; grid-template-columns: 220px 1fr; align-items: center; gap: 1rem; text-decoration: none; }.quick-history b { font: 500 1.6rem/1 Georgia,serif; }.quick-history span { color: #45534c; }
.quick-last { padding: 2.2rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; border:3px solid #17221e; border-radius:24px; background:#173d31; color:#fff; }.quick-last h2 { margin:0; font:500 clamp(2.2rem,5vw,4.2rem)/.95 Georgia,serif; }.quick-last p { margin:.6rem 0 0; }.quick-last > a { flex:0 0 auto; min-height:56px; display:inline-flex; align-items:center; padding:.8rem 1.1rem; border:2px solid #fff; border-radius:999px; color:#fff; text-decoration:none; font-weight:900; }.quick-footer { width:min(1180px,calc(100% - 2rem)); margin:5rem auto 0; padding:1.5rem 0 6rem; display:flex; justify-content:space-between; gap:1rem; border-top:2px solid #17221e; }

/* Portada móvil adulta */
.pocket-home { margin: 0; padding: 0 0 calc(88px + env(safe-area-inset-bottom)); background: #f4efe3; color: #15231e; font-family: Inter,system-ui,sans-serif; }
.pocket-home * { box-sizing: border-box; }.pocket-home a { color: inherit; }.pocket-top { position: sticky; top: 0; z-index: 500; min-height: 68px; padding: .7rem 1rem; display: flex; align-items: center; justify-content: space-between; border-bottom: 2px solid #15231e; background: rgba(255,250,240,.96); }.pocket-top > a { display:grid; text-decoration:none; }.pocket-top strong { font-size:1.08rem; }.pocket-top small { font-size:.72rem; color:#57635d; }.pocket-top button { width:46px; height:46px; border:2px solid #15231e; border-radius:50%; background:#fff; font-size:1.4rem; }
.pocket-main { width: min(680px,100%); margin: 0 auto; padding: 0 1rem; }.pocket-welcome { margin: 1rem 0 2.2rem; padding: 1.4rem; border: 3px solid #15231e; border-radius: 24px; background: #153d32; color: #fff; box-shadow: 0 7px 0 rgba(21,35,30,.16); }.pocket-welcome > p:first-child { margin:0 0 .25rem; color:#ffdc71; font-weight:900; }.pocket-welcome h1 { margin:0; font:500 clamp(3rem,15vw,5.2rem)/.82 Georgia,serif; letter-spacing:-.06em; }.pocket-welcome > p:nth-of-type(2) { margin:.9rem 0; line-height:1.45; }.pocket-clock { margin-top:1rem; padding-top:.9rem; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.35); }.pocket-clock time { font-weight:900; }
.pocket-main section { margin: 0 0 2.6rem; }.pocket-main h2 { margin:0 0 .9rem; font:500 2.2rem/1 Georgia,serif; letter-spacing:-.035em; }.pocket-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }.pocket-grid a { min-height:118px; padding:1rem; display:flex; flex-direction:column; justify-content:space-between; border:2px solid #15231e; border-radius:18px; background:#fff; text-decoration:none; box-shadow:0 5px 0 rgba(21,35,30,.12); }.pocket-grid--main a:nth-child(1){background:#ffe49a}.pocket-grid--main a:nth-child(2){background:#d9eee4}.pocket-grid--main a:nth-child(3){background:#cde7f2}.pocket-grid--main a:nth-child(4){background:#ffd7c7}.pocket-grid a > span { font-size:1.6rem; }.pocket-grid strong { font-size:1.05rem; }.pocket-grid small { color:#536059; }
.pocket-list { display:grid; gap:.65rem; }.pocket-list a { min-height:78px; padding:.8rem .9rem; display:grid; grid-template-columns:42px 1fr 20px; align-items:center; gap:.65rem; border:2px solid #15231e; border-radius:16px; background:#fff; text-decoration:none; }.pocket-list a > span { font-size:1.5rem; }.pocket-list strong,.pocket-list small { display:block; }.pocket-list small { margin-top:.15rem; color:#5a665f; }.pocket-list b { font-size:1.6rem; }
.pocket-photo-card { overflow:hidden; border:3px solid #15231e; border-radius:22px; background:#fff; }.pocket-photo-card img { width:100%; max-height:300px; object-fit:cover; }.pocket-photo-card > div { padding:1rem 1.1rem 1.2rem; }.pocket-photo-card h3 { margin:0; font:500 2rem/1 Georgia,serif; }.pocket-photo-card p { line-height:1.5; }.pocket-photo-card a,.pocket-contribute a { display:inline-flex; min-height:48px; align-items:center; padding:.65rem .9rem; border-radius:12px; background:#153d32; color:#fff; text-decoration:none; font-weight:850; }.pocket-contribute { padding:1.2rem; border:3px solid #15231e; border-radius:22px; background:#ffdf84; }.pocket-contribute h2 { margin-bottom:.4rem; }.pocket-contribute p { line-height:1.45; }
.pocket-dock { position:fixed; z-index:700; left:0; right:0; bottom:0; min-height:72px; padding:.45rem .35rem calc(.45rem + env(safe-area-inset-bottom)); display:grid; grid-template-columns:repeat(4,1fr); border-top:2px solid #15231e; background:#fff; }.pocket-dock a,.pocket-dock button { min-width:0; min-height:58px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2rem; border:0; background:transparent; color:#15231e; text-decoration:none; font:750 .72rem/1.1 system-ui,sans-serif; }.pocket-dock span { font-size:1.25rem; }.pocket-dock [aria-current="page"] { background:#e4f2eb; border-radius:12px; }

/* Modo móvil adulto dentro del archivo */
body.mode-mobile-content { padding-bottom: 82px; }
body.mode-mobile-content .adaptive-mode-button { display:none; }
.adaptive-mobile-bar { position:fixed; z-index:7000; left:0; right:0; bottom:0; min-height:72px; padding:.35rem .35rem calc(.35rem + env(safe-area-inset-bottom)); display:grid; grid-template-columns:repeat(4,1fr); border-top:2px solid #173127; background:#fff; }
.adaptive-mobile-bar a,.adaptive-mobile-bar button { min-height:58px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.18rem; border:0; background:transparent; color:#173127; text-decoration:none; font:750 .72rem/1 system-ui,sans-serif; }.adaptive-mobile-bar span { font-size:1.2rem; }

/* Modo rápido dentro del archivo */
body.mode-quick-content { background:#f2ead9; }
body.mode-quick-content .adaptive-page-summary { margin-top:1.2rem; }

@media (max-width: 980px) {
  .choice-shell { grid-template-columns: 1fr; }.choice-hero { position:relative; min-height:46vh; }.choice-panel { min-height:auto; }.choice-hero h1 { font-size:clamp(4rem,13vw,7rem); }.choice-options--wide { grid-template-columns:1fr 1fr; }
  .quick-grid--utility { grid-template-columns:repeat(2,1fr); }.quick-grid--stories { grid-template-columns:repeat(2,1fr); }.quick-hero { min-height:500px; }.quick-heading { grid-template-columns:1fr; gap:.6rem; }
}
@media (max-width: 767px) {
  .choice-shell { display:block; }.choice-hero { min-height:43vh; }.choice-hero__copy { inset:auto 1.2rem 1.5rem; }.choice-brand { font-size:.7rem; }.choice-hero h1 { font-size:clamp(3.4rem,18vw,5.4rem); }.choice-hero__copy > p:last-child { margin-top:1rem; font-size:.98rem; line-height:1.4; }.choice-panel { padding:1.35rem 1rem 2rem; }.choice-panel h2 { font-size:clamp(2.6rem,14vw,4.2rem); }.choice-options--wide { display:none; }.choice-options--mobile { display:grid; grid-template-columns:1fr; }.choice-card { min-height:120px; grid-template-columns:56px 1fr; gap:.85rem; padding:1rem; border-radius:19px; }.choice-card__icon { width:56px; height:56px; font-size:1.25rem; }.choice-card strong { font-size:1.25rem; }.choice-card small { font-size:.88rem; }.choice-foot { margin-top:1.5rem; }.adaptive-mode-list { grid-template-columns:1fr; }.adaptive-mode-button { right:.7rem; bottom:5.2rem; }
  .quick-home main { width:calc(100% - 1rem); }.quick-top { padding:.55rem .7rem; }.quick-top button { font-size:.76rem; }.quick-hero { grid-template-columns:1fr; min-height:auto; border-radius:22px; }.quick-hero > div { padding:2rem 1.25rem; }.quick-hero h1 { font-size:clamp(3.5rem,17vw,5.7rem); }.quick-hero img { max-height:330px; }.quick-section { margin:3.5rem 0; }.quick-grid--utility,.quick-grid--stories { grid-template-columns:1fr 1fr; }.quick-grid--utility a { min-height:155px; }.quick-grid--stories a { min-height:290px; }.quick-history a { grid-template-columns:1fr; gap:.3rem; }.quick-last { align-items:flex-start; flex-direction:column; }.quick-footer { flex-direction:column; padding-bottom:7rem; }
}
@media (max-width: 480px) {
  .quick-grid--stories { grid-template-columns:1fr; }.quick-grid--stories a { min-height:330px; }
}
@media (prefers-reduced-motion: reduce) {
  .choice-card { transition:none; }.choice-card:hover { transform:none; }
}
body.kids-version .adaptive-mode-button { bottom: 5.7rem; background: #17324d; border-color: #ffd84a; }
body.elder-friendly .adaptive-mode-button { bottom: 6.4rem; right: 1rem; min-height: 56px; background: #0b5b3b; font-size: 1rem; }
body.village-alive .adaptive-mode-button { bottom: 5.8rem; }
@media (min-width: 900px) {
  body.village-alive .adaptive-mode-button { bottom: 1rem; }
  body.kids-version .adaptive-mode-button { bottom: 1rem; }
  body.elder-friendly .adaptive-mode-button { bottom: 1rem; }
}
.choice-card { text-decoration: none; }
.choice-card strong, .choice-card small { text-decoration: none; }
.choice-all__grid a { min-height: 44px; display:inline-flex; align-items:center; padding: .55rem .8rem; border: 2px solid var(--adapt-border); border-radius: 999px; background: white; color:var(--adapt-ink); text-decoration:none; font-weight:800; }
.quick-home .adaptive-mode-button,
.pocket-home .adaptive-mode-button { display: none; }
body.kids-version .adaptive-mode-button { top: 86px; bottom: auto; right: .65rem; min-height: 42px; padding: .48rem .7rem; border: 2px solid #17324d; background: #fff; color: #17324d; font-size: .72rem; box-shadow: 0 4px 0 rgba(23,50,77,.15); }
body.elder-friendly .senior-reading-tools .adaptive-mode-button--inline { position: static; min-height:64px; padding:.65rem .75rem; border:2px solid var(--senior-border); border-radius:12px; background:#e9e1f2; color:var(--senior-text); box-shadow:none; font:800 1em/1.15 var(--senior-font); }
@media (min-width: 900px) {
  body.kids-version .adaptive-mode-button { top: auto; bottom: 1rem; }
}
@media (max-width: 820px) {
  body.elder-friendly.senior-home .senior-home-hero__copy { grid-row: 1; }
  body.elder-friendly.senior-home .senior-home-hero__media { grid-row: 2; }
}

/* El modo rápido no obliga a atravesar una portada enorme antes del resumen. */
body.mode-quick-content .page-hero,
body.mode-quick-content .section-hero {
  min-height: clamp(350px, 46vh, 500px) !important;
  border-radius: 0 0 1.5rem 1.5rem;
}
body.mode-quick-content .hero-inner,
body.mode-quick-content .section-hero-inner {
  padding-top: 5.8rem !important;
  padding-bottom: 2.2rem !important;
}
body.mode-quick-content .page-hero h1,
body.mode-quick-content .section-hero h1 {
  font-size: clamp(3rem, 6.4vw, 5.6rem) !important;
}
body.mode-quick-content .hero-orbit,
body.mode-quick-content .hero-edge {
  display: none !important;
}

/* En el móvil adulto la imagen sigue contando, pero deja sitio pronto a lo útil. */
body.mode-mobile-content .page-hero,
body.mode-mobile-content .section-hero {
  min-height: min(54svh, 520px) !important;
}
body.mode-mobile-content .hero-inner,
body.mode-mobile-content .section-hero-inner {
  padding-top: 5.5rem !important;
  padding-bottom: 2rem !important;
}
body.mode-mobile-content .page-hero h1,
body.mode-mobile-content .section-hero h1 {
  font-size: clamp(3rem, 13vw, 5rem) !important;
}

/* V75 · relación con el pueblo y resúmenes con contenido real */
.choice-audience {
  margin: 0 0 1.4rem;
  padding: 1.05rem;
  border: 3px solid var(--adapt-border);
  border-radius: 20px;
  background: #fffaf0;
  box-shadow: 0 6px 0 rgba(23,34,30,.1);
}
.choice-audience > p:first-child { margin: 0 0 .7rem; font-weight: 900; font-size: 1.05rem; }
.choice-audience__options { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.choice-audience__options button {
  min-height: 92px; padding: .8rem .9rem; display: grid; align-content: center; gap: .28rem;
  border: 2px solid var(--adapt-border); border-radius: 15px; background: #fff; color: var(--adapt-ink); text-align: left; cursor: pointer;
}
.choice-audience__options button:first-child { background: #e7f4ef; }
.choice-audience__options button:last-child { background: #fff0c8; }
.choice-audience__options button.is-selected,
.choice-audience__options button[aria-pressed="true"] { box-shadow: inset 0 0 0 4px var(--adapt-green-2); }
.choice-audience__options strong { font-size: 1.05rem; line-height: 1.15; }
.choice-audience__options small { color: #46514c; line-height: 1.35; }
.choice-audience__status { min-height: 1.4em; margin: .65rem 0 0; color: var(--adapt-green); font-weight: 800; }
.choice-audience--needs-attention { animation: audience-pulse .5s ease 2; border-color: #b62f2f; }
@keyframes audience-pulse { 50% { transform: translateY(-3px); box-shadow: 0 10px 0 rgba(182,47,47,.18); } }

.adaptive-dialog-section { margin-top: 1.3rem; padding-top: 1.1rem; border-top: 2px solid rgba(23,34,30,.18); }
.adaptive-dialog-section h3 { margin: 0 0 .7rem; font: 800 1.15rem/1.2 system-ui,sans-serif; }
.adaptive-audience-list { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.adaptive-audience-list button { min-height: 95px; padding: .85rem; border: 2px solid #17221e; border-radius: 16px; background: #fff; color: #17221e; text-align: left; cursor: pointer; }
.adaptive-audience-list button[aria-pressed="true"] { background: #fff0c8; box-shadow: inset 0 0 0 3px #1e654e; }
.adaptive-audience-list strong,.adaptive-audience-list small { display:block; }
.adaptive-audience-list small { margin-top:.3rem; color:#46514c; line-height:1.32; }
.adaptive-dialog-note { margin-bottom:0; color:#5b655f; font-size:.9rem; }

.adaptive-page-summary { padding: clamp(1.35rem,3.5vw,2.4rem); background: #f6fbf7; }
.adaptive-page-summary__top { display:grid; grid-template-columns:64px 1fr; gap:1rem; align-items:center; }
.adaptive-page-summary__icon { width:64px; height:64px; display:grid; place-items:center; border:3px solid #173127; border-radius:18px; background:#f2c94c; font-size:1.75rem; }
.adaptive-page-summary__story { max-width: 78ch; margin-top: 1.15rem; }
.adaptive-page-summary__story p { margin:.7rem 0; font-size:clamp(1.05rem,1.8vw,1.18rem); line-height:1.65; }
.adaptive-page-summary__relation { padding:.9rem 1rem; border-left:6px solid #1e654e; background:#fff; }
.adaptive-page-summary__highlights { margin-top:1.35rem; }
.adaptive-page-summary__highlights h3 { margin:0 0 .7rem; font:800 1.05rem/1.25 system-ui,sans-serif; }
.adaptive-page-summary__highlights ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; margin:0; padding:0; list-style:none; }
.adaptive-page-summary__highlights li { min-height:150px; padding:1rem; display:flex; flex-direction:column; gap:.45rem; border:2px solid #173127; border-radius:15px; background:#fff; }
.adaptive-page-summary__highlights strong { font-size:1.03rem; line-height:1.2; }
.adaptive-page-summary__highlights span { color:#46514c; line-height:1.48; }
.adaptive-page-summary__links { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; }
.adaptive-page-summary__links a { min-height:46px; padding:.65rem .85rem; display:inline-flex; align-items:center; gap:.45rem; border-bottom:3px solid #1e654e; color:#173127!important; font-weight:850; text-decoration:none!important; }
.adaptive-page-summary--quick { background:#fff4dc; }
.adaptive-page-summary--mobile { width:min(720px,calc(100% - 1rem)); }
.adaptive-page-summary--senior { background:#fff; }

.profile-home-panel { width:min(1180px,calc(100% - 2rem)); margin:clamp(1.2rem,4vw,3rem) auto; padding:clamp(1.2rem,3vw,2rem); border:3px solid #17221e; border-radius:24px; background:#fff; color:#17221e; box-shadow:0 8px 0 rgba(23,34,30,.12); }
.profile-home-panel--local { background:#fff1c9; }
.profile-home-panel__head { display:grid; grid-template-columns:minmax(220px,.65fr) 1.35fr; gap:1.2rem; align-items:end; }
.profile-home-panel__head > p { margin:0; color:#1e654e; font-weight:950; letter-spacing:.08em; text-transform:uppercase; font-size:.76rem; }
.profile-home-panel__head h2 { grid-column:1; margin:.3rem 0 0; font:500 clamp(2rem,4.5vw,4rem)/.92 Georgia,serif; letter-spacing:-.04em; }
.profile-home-panel__head > span { grid-column:2; grid-row:1/3; max-width:52ch; font-size:1.08rem; line-height:1.55; }
.profile-home-panel__grid { margin-top:1.25rem; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; }
.profile-home-panel__grid a { min-height:105px; padding:.85rem; display:grid; grid-template-columns:34px 1fr 20px; align-items:center; gap:.45rem; border:2px solid #17221e; border-radius:15px; background:#f8fbf9; color:#17221e!important; text-decoration:none!important; font-weight:850; }
.profile-home-panel__grid b { color:#1e654e; font-size:.75rem; }
.profile-home-panel__grid i { font-style:normal; font-size:1.35rem; }
.profile-home-panel__switch { margin-top:1rem; min-height:46px; padding:.6rem .8rem; border:2px solid #17221e; border-radius:999px; background:#17221e; color:#fff; font-weight:850; cursor:pointer; }
.pocket-home .profile-home-panel { width:100%; margin:1rem 0 2.3rem; border-radius:20px; }
.pocket-home .profile-home-panel__head { display:block; }
.pocket-home .profile-home-panel__head h2 { font-size:2.25rem; }
.pocket-home .profile-home-panel__head > span { display:block; margin-top:.65rem; }
.pocket-home .profile-home-panel__grid { grid-template-columns:1fr 1fr; }
.pocket-home .profile-home-panel__grid a { min-height:92px; }
.senior-home .profile-home-panel { width:min(var(--senior-content),calc(100% - 1.5rem)); }
.kids-version .profile-home-panel { border-color:#17324d; box-shadow:0 7px 0 rgba(23,50,77,.15); }
.kids-version .profile-home-panel__switch { background:#17324d; }

@media (max-width: 820px) {
  .choice-audience__options,.adaptive-audience-list { grid-template-columns:1fr; }
  .adaptive-page-summary__highlights ul { grid-template-columns:1fr; }
  .adaptive-page-summary__highlights li { min-height:0; }
  .profile-home-panel__head { display:block; }
  .profile-home-panel__head > span { display:block; margin-top:.7rem; }
  .profile-home-panel__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 520px) {
  .adaptive-page-summary__top { grid-template-columns:52px 1fr; }
  .adaptive-page-summary__icon { width:52px; height:52px; border-radius:14px; font-size:1.4rem; }
  .adaptive-page-summary__actions,.adaptive-page-summary__links { display:grid; }
  .adaptive-page-summary__actions button,.adaptive-page-summary__actions a,.adaptive-page-summary__links a { width:100%; justify-content:center; }
  .profile-home-panel__grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) { .choice-audience--needs-attention { animation:none; } }


/* V76 · resúmenes con más contenido y dos experiencias de verdad */
.adaptive-page-summary__section-head { display:grid; grid-template-columns:minmax(220px,.7fr) 1.3fr; gap:1rem; align-items:end; margin-bottom:.85rem; }
.adaptive-page-summary__section-head h3 { margin:0!important; font:800 clamp(1.2rem,2vw,1.55rem)/1.15 system-ui,sans-serif!important; }
.adaptive-page-summary__section-head p { margin:0; color:#4a5750; line-height:1.48; }
.adaptive-page-summary__highlights ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
.adaptive-page-summary__highlights li { min-height:132px; }
.adaptive-page-summary__highlights--local { padding:1rem; border:2px dashed #6e4f15; border-radius:18px; background:#fff4cf; }
.adaptive-page-summary__highlights--local li { background:#fffdf5; border-color:#6e4f15; }
.adaptive-page-summary__highlights--visitor { padding:1rem; border:2px dashed #1e654e; border-radius:18px; background:#eaf6f0; }
.adaptive-page-summary__highlights--visitor li { background:#fff; border-color:#1e654e; }
body.audience-local .adaptive-page-summary { background:#fff8df; }
body.audience-newcomer .adaptive-page-summary { background:#f3faf6; }
.profile-home-panel--local .profile-home-panel__grid a:first-child { background:#173127; color:#fff!important; }
.profile-home-panel--local .profile-home-panel__grid a:first-child b { color:#ffe07b; }
.profile-home-panel--newcomer .profile-home-panel__grid a:first-child { background:#173127; color:#fff!important; }
.profile-home-panel--newcomer .profile-home-panel__grid a:first-child b { color:#ffe07b; }

/* Dos páginas que concentran utilidad y memoria. */
.audience-landing { width:min(1120px,calc(100% - 2rem)); margin:2rem auto 5rem; }
.audience-landing__lead { max-width:78ch; margin:0 auto 2rem; padding:clamp(1.2rem,3vw,2rem); border:3px solid #173127; border-radius:22px; background:#fff; font-size:clamp(1.08rem,1.8vw,1.22rem); line-height:1.65; }
.audience-landing__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.story-scrap,.visit-plan-card { padding:clamp(1.1rem,2.5vw,1.6rem); border:3px solid #173127; border-radius:20px; background:#fff; box-shadow:0 7px 0 rgba(23,49,39,.1); }
.story-scrap:nth-child(4n+1){background:#fff0bf}.story-scrap:nth-child(4n+2){background:#e7f3ec}.story-scrap:nth-child(4n+3){background:#f0e8f5}.story-scrap:nth-child(4n){background:#dceef7}
.story-scrap__tag,.visit-plan-card__tag { margin:0 0 .45rem; color:#1e654e; font-size:.75rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
.story-scrap h2,.visit-plan-card h2 { margin:.1rem 0 .65rem; font:700 clamp(1.45rem,2.6vw,2.15rem)/1.05 Georgia,serif; }
.story-scrap p,.visit-plan-card p,.visit-plan-card li { line-height:1.58; }
.story-scrap a,.visit-plan-card a { display:inline-flex; margin-top:.65rem; font-weight:900; }
.visit-alert { margin:1.2rem 0; padding:1rem 1.1rem; border-left:8px solid #b2482b; background:#fff2e8; font-weight:750; }
.visit-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin:1.2rem 0 2rem; }
.visit-actions a { min-height:100px; padding:1rem; display:flex; flex-direction:column; justify-content:space-between; border:3px solid #173127; border-radius:16px; background:#e7f3ec; color:#173127!important; text-decoration:none!important; font-weight:900; }
.visit-actions span { font-size:1.8rem; }
@media (max-width:820px){.adaptive-page-summary__section-head{display:block}.adaptive-page-summary__section-head p{margin-top:.45rem}.adaptive-page-summary__highlights ul,.audience-landing__grid{grid-template-columns:1fr}.visit-actions{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.visit-actions{grid-template-columns:1fr}.adaptive-page-summary{width:calc(100% - .75rem);padding:1rem}.adaptive-page-summary__story p{font-size:1rem}.adaptive-page-summary__highlights--local,.adaptive-page-summary__highlights--visitor{padding:.65rem}.adaptive-page-summary__highlights li{padding:.85rem}}

/* V77 · cada resumen abre el tema exacto y dosifica la profundidad */
.adaptive-page-summary__highlights li { position:relative; overflow:hidden; }
.adaptive-page-summary__highlights li::before {
  content:""; position:absolute; inset:0 0 auto; height:5px;
  background:linear-gradient(90deg,#f2c94c,#ef7551,#367c9d);
}
.adaptive-detail-link {
  width:max-content; max-width:100%; min-height:38px; margin-top:auto; padding:.48rem .68rem;
  display:inline-flex; align-items:center; gap:.38rem; border:2px solid currentColor; border-radius:999px;
  color:#173127!important; background:rgba(255,255,255,.76); font-size:.82rem; font-weight:900;
  text-decoration:none!important; transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.adaptive-detail-link:hover,.adaptive-detail-link:focus-visible { transform:translateY(-2px); background:#fff; box-shadow:0 5px 0 rgba(23,49,39,.12); outline:none; }
.adaptive-detail-link:active { transform:translateY(2px); box-shadow:none; }
.adaptive-more-details {
  min-height:45px; margin:.8rem 0 0; padding:.6rem .85rem; border:2px solid #173127; border-radius:999px;
  background:#173127; color:#fff; font:850 .88rem/1 system-ui,sans-serif; cursor:pointer;
}
.adaptive-page-summary .is-extra-detail { display:none; }
.adaptive-page-summary.shows-extra-details .is-extra-detail { display:flex; animation:v77-card-in .24s ease both; }
.adaptive-page-summary__trail {
  margin-top:1.25rem; padding:1rem; display:grid; grid-template-columns:minmax(170px,.42fr) 1fr; gap:1rem;
  border:2px solid #173127; border-radius:18px; background:#173127; color:#fff;
}
.adaptive-page-summary__trail > div > p { margin:0 0 .35rem; color:#f5d569; font-size:.72rem; font-weight:950; letter-spacing:.11em; text-transform:uppercase; }
.adaptive-page-summary__trail h3 { margin:0; font:500 clamp(1.55rem,3vw,2.3rem)/.98 Georgia,serif; }
.adaptive-page-summary__trail nav { display:grid; gap:.55rem; }
.adaptive-page-summary__trail a {
  min-height:72px; padding:.75rem .8rem; display:grid; grid-template-columns:1fr auto; gap:.2rem .7rem;
  border:1px solid rgba(255,255,255,.38); border-radius:13px; background:rgba(255,255,255,.08);
  color:#fff!important; text-decoration:none!important; transition:background .18s ease,transform .18s ease;
}
.adaptive-page-summary__trail a:hover,.adaptive-page-summary__trail a:focus-visible { background:rgba(255,255,255,.16); transform:translateX(3px); outline:3px solid #f5d569; outline-offset:2px; }
.adaptive-page-summary__trail a strong { grid-column:1; line-height:1.2; }
.adaptive-page-summary__trail a span { grid-column:1; color:rgba(255,255,255,.76); font-size:.8rem; line-height:1.35; }
.adaptive-page-summary__trail a b { grid-column:2; grid-row:1/3; align-self:center; color:#f5d569; font-size:1.25rem; }
@keyframes v77-card-in { from { opacity:0; transform:translateY(8px) } to { opacity:1; transform:none } }

/* V77 · “El Hoyo en tus manos”: una app móvil más viva y reconocible */
.pocket-home {
  --pocket-a:#ffcc57; --pocket-b:#ff7966; --pocket-c:#56c6a9; --pocket-d:#68a9eb; --pocket-e:#a986e8;
  background:
    radial-gradient(circle at 8% 7%,rgba(255,204,87,.34),transparent 24rem),
    radial-gradient(circle at 96% 33%,rgba(104,169,235,.24),transparent 22rem),
    linear-gradient(180deg,#fff8e8 0,#f3f5ef 55%,#efe9ff 100%);
}
.pocket-top {
  min-height:74px; margin:10px 10px 0; padding:.65rem .75rem .65rem 1rem; border:1px solid rgba(21,35,30,.18);
  border-radius:22px; background:rgba(255,255,255,.78); box-shadow:0 14px 40px rgba(18,54,43,.12);
  backdrop-filter:blur(18px) saturate(1.3);
}
.pocket-top strong { font-size:1.12rem; letter-spacing:-.02em; }
.pocket-top small { color:#52645d; font-weight:750; }
.pocket-top button {
  border:0; color:#fff; background:linear-gradient(145deg,#153d32,#247b61);
  box-shadow:0 8px 22px rgba(21,61,50,.28); transition:transform .18s ease,box-shadow .18s ease;
}
.pocket-top button:active { transform:scale(.91) rotate(5deg); box-shadow:0 3px 10px rgba(21,61,50,.22); }
.pocket-main { padding:0 .85rem; }
.pocket-welcome {
  position:relative; isolation:isolate; overflow:hidden; margin:.85rem 0 2rem; padding:1.35rem;
  border:0; border-radius:30px; background:
    radial-gradient(circle at 88% 10%,rgba(255,220,113,.27),transparent 34%),
    linear-gradient(145deg,#102f27,#175946 70%,#1e7359);
  box-shadow:0 20px 48px rgba(16,47,39,.24),inset 0 1px 0 rgba(255,255,255,.18);
}
.pocket-welcome::after {
  content:""; position:absolute; z-index:-1; width:190px; height:190px; right:-70px; bottom:-100px;
  border:24px solid rgba(255,255,255,.07); border-radius:50%; animation:pocket-orbit 9s ease-in-out infinite;
}
.pocket-welcome h1 { max-width:5.6ch; text-wrap:balance; }
.pocket-clock { border-top-color:rgba(255,255,255,.28); }
.pocket-main h2 { font-size:clamp(2rem,10vw,2.75rem); }
.pocket-grid { gap:.8rem; }
.pocket-grid a {
  position:relative; isolation:isolate; overflow:hidden; min-height:138px; padding:1rem; border:0; border-radius:24px;
  box-shadow:0 13px 30px rgba(21,35,30,.12),inset 0 1px 0 rgba(255,255,255,.68);
  transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,filter .18s ease;
}
.pocket-grid a::before {
  content:""; position:absolute; z-index:-1; width:120px; height:120px; right:-50px; top:-50px;
  border-radius:50%; background:rgba(255,255,255,.38); transition:transform .3s ease;
}
.pocket-grid a::after {
  content:"↗"; position:absolute; right:13px; bottom:13px; width:30px; height:30px; display:grid; place-items:center;
  border-radius:50%; background:rgba(255,255,255,.62); font-weight:950;
}
.pocket-grid a:hover,.pocket-grid a:focus-visible { transform:translateY(-5px) scale(1.012); filter:saturate(1.08); box-shadow:0 19px 38px rgba(21,35,30,.17); outline:3px solid #153d32; outline-offset:3px; }
.pocket-grid a:hover::before { transform:scale(1.25); }
.pocket-grid a:active,.pocket-grid a.is-pocket-tapped { transform:scale(.95); box-shadow:0 6px 14px rgba(21,35,30,.14); }
.pocket-grid--main a:nth-child(1){background:linear-gradient(145deg,#ffe897,#ffcb58)}
.pocket-grid--main a:nth-child(2){background:linear-gradient(145deg,#caf3df,#68d1aa)}
.pocket-grid--main a:nth-child(3){background:linear-gradient(145deg,#d1eaff,#76b8ee)}
.pocket-grid--main a:nth-child(4){background:linear-gradient(145deg,#ffd9cb,#ff927a)}
.pocket-grid:not(.pocket-grid--main) a:nth-child(1){background:linear-gradient(145deg,#ffe6b9,#ffbf62)}
.pocket-grid:not(.pocket-grid--main) a:nth-child(2){background:linear-gradient(145deg,#d6f3e8,#69cfaa)}
.pocket-grid:not(.pocket-grid--main) a:nth-child(3){background:linear-gradient(145deg,#e7dcff,#ae8ee9)}
.pocket-grid:not(.pocket-grid--main) a:nth-child(4){background:linear-gradient(145deg,#d8edff,#79b9ed)}
.pocket-grid a > span {
  width:46px; height:46px; display:grid; place-items:center; border-radius:15px; background:rgba(255,255,255,.64);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8); font-size:1.45rem;
}
.pocket-grid small { max-width:75%; color:#35473f; }
.pocket-list { gap:.75rem; }
.pocket-list a {
  position:relative; overflow:hidden; min-height:84px; border:0; border-radius:22px; background:rgba(255,255,255,.86);
  box-shadow:0 11px 26px rgba(21,35,30,.09); backdrop-filter:blur(9px);
  transition:transform .18s ease,box-shadow .18s ease;
}
.pocket-list a:nth-child(4n+1) > span{background:#ffdf84}.pocket-list a:nth-child(4n+2) > span{background:#d4f2e5}.pocket-list a:nth-child(4n+3) > span{background:#eadfff}.pocket-list a:nth-child(4n) > span{background:#d8edff}
.pocket-list a > span { width:44px; height:44px; display:grid; place-items:center; border-radius:15px; }
.pocket-list a:hover,.pocket-list a:focus-visible { transform:translateX(5px); box-shadow:0 15px 32px rgba(21,35,30,.14); outline:3px solid #153d32; outline-offset:2px; }
.pocket-list a:active,.pocket-list a.is-pocket-tapped { transform:scale(.97); }
.pocket-photo-card,.pocket-contribute { border:0; border-radius:28px; box-shadow:0 16px 36px rgba(21,35,30,.13); }
.pocket-photo-card img { max-height:340px; }
.pocket-photo-card a,.pocket-contribute a { border-radius:999px; box-shadow:0 8px 18px rgba(21,61,50,.22); }
.pocket-live-tools {
  padding:1.05rem; border-radius:28px; background:linear-gradient(135deg,#6e55c7,#a66ed9 55%,#e06fb2); color:#fff;
  box-shadow:0 18px 42px rgba(110,85,199,.24);
}
.pocket-live-tools h2 { color:#fff; }
.pocket-live-tools p { margin:.35rem 0 1rem; line-height:1.45; }
.pocket-live-tools a {
  min-height:54px; padding:.75rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:.8rem;
  border-radius:18px; background:#fff; color:#3a286c; text-decoration:none; font-weight:950;
  box-shadow:0 10px 24px rgba(49,28,91,.2); transition:transform .18s ease;
}
.pocket-live-tools a:active { transform:scale(.96); }
.pocket-dock {
  left:10px; right:10px; bottom:10px; min-height:70px; padding:.4rem; border:1px solid rgba(21,35,30,.14); border-radius:24px;
  background:rgba(255,255,255,.88); box-shadow:0 18px 52px rgba(16,47,39,.22); backdrop-filter:blur(18px) saturate(1.35);
}
.pocket-dock a,.pocket-dock button { border-radius:17px; transition:transform .16s ease,background .16s ease; }
.pocket-dock a:nth-child(1){--dock:#d8f2e6}.pocket-dock a:nth-child(2){--dock:#d8ebff}.pocket-dock a:nth-child(3){--dock:#fff0b9}.pocket-dock button{--dock:#eadfff}
.pocket-dock a:hover,.pocket-dock button:hover,.pocket-dock a:focus-visible,.pocket-dock button:focus-visible { background:var(--dock); outline:none; transform:translateY(-3px); }
.pocket-dock [aria-current="page"] { background:var(--dock); }
.pocket-dock span { transition:transform .18s ease; }
.pocket-dock a:active span,.pocket-dock button:active span { transform:scale(.78); }

/* V77 · panel de utilidades: color por intención y respuesta táctil clara */
.utilities-page {
  background:
    radial-gradient(circle at 10% -5%,rgba(255,203,88,.34),transparent 22rem),
    radial-gradient(circle at 100% 35%,rgba(111,164,255,.22),transparent 24rem),
    linear-gradient(180deg,#fff9ec,#edf6f1 55%,#f0ebff);
}
.utilities-page .app-shell { padding-left:14px; padding-right:14px; }
.utilities-page .app-menu-top,.utilities-page .app-toolbar {
  position:sticky; top:max(8px,env(safe-area-inset-top)); z-index:20; padding:9px; border:1px solid rgba(16,36,30,.13);
  border-radius:22px; background:rgba(255,255,255,.8); box-shadow:0 14px 34px rgba(11,48,38,.12); backdrop-filter:blur(18px);
}
.utilities-page .app-mark { background:linear-gradient(145deg,#143d32,#2b8d6d); color:#ffe084; }
.utilities-page .round-nav { border:0; background:linear-gradient(145deg,#173d32,#28765e); color:#fff; box-shadow:0 9px 22px rgba(11,48,38,.22); }
.utilities-page .round-nav--web { background:linear-gradient(145deg,#ffb75a,#ff7c68); color:#482113; }
.utilities-page .round-nav--web.is-return-beacon { animation:v77-return-beacon 1.55s ease-in-out 3; }
.utilities-page .menu-group { padding:11px; border-radius:26px; background:rgba(255,255,255,.48); box-shadow:inset 0 1px 0 rgba(255,255,255,.7); }
.utilities-page .menu-group h2 { margin:1px 0 9px 4px; color:#28483e; font-size:.7rem; }
.utilities-page .quick-row,.utilities-page .action-row {
  min-height:72px; border:0; border-radius:21px; box-shadow:0 10px 25px rgba(20,52,43,.09);
  transition:transform .17s cubic-bezier(.2,.8,.2,1),box-shadow .17s ease,filter .17s ease;
}
.utilities-page .menu-group:nth-child(1) .quick-row{background:linear-gradient(135deg,#fff1bd,#ffd16c)}
.utilities-page .menu-group:nth-child(2) .quick-row{background:linear-gradient(135deg,#dceeff,#8fc5f1)}
.utilities-page .menu-group:nth-child(3) .quick-row{background:linear-gradient(135deg,#d7f4e6,#79d4af)}
.utilities-page .menu-group:nth-child(4) .quick-row{background:linear-gradient(135deg,#eee4ff,#ba9bea)}
.utilities-page .quick-row:hover,.utilities-page .quick-row:focus-visible,.utilities-page .action-row:hover,.utilities-page .action-row:focus-visible {
  transform:translateY(-3px) scale(1.008); filter:saturate(1.06); box-shadow:0 16px 32px rgba(20,52,43,.15); outline:3px solid #10241e; outline-offset:2px;
}
.utilities-page .quick-row:active,.utilities-page .action-row:active,.utilities-page .is-app-tapped { transform:scale(.95); box-shadow:0 5px 12px rgba(20,52,43,.1); }
.utilities-page .quick-icon,.utilities-page .action-icon { border-radius:15px; background:rgba(255,255,255,.68); color:#173d32; box-shadow:inset 0 1px 0 #fff; }
.utilities-page .quick-row small,.utilities-page .action-row small { color:#3f514a; }
.utilities-page .phone-group { padding:11px; border-radius:24px; background:rgba(255,255,255,.52); }
.utilities-page .action-row { background:#fff; }
.utilities-page .action-row--urgent { background:linear-gradient(135deg,#ffd9d1,#ff9d8c); }

/* V77 · volver de una herramienta externa siempre se reconoce */
.tool-frame-page .tool-float-nav {
  padding:6px; border:1px solid rgba(255,255,255,.24); border-radius:22px; background:rgba(7,34,27,.78);
  box-shadow:0 16px 44px rgba(0,0,0,.3); backdrop-filter:blur(18px);
}
.tool-frame-page .tool-float-nav .tool-circle { width:auto; min-width:60px; height:54px; padding:5px 9px; display:flex; flex-direction:column; gap:2px; border-radius:16px; }
.tool-frame-page .tool-float-nav .tool-circle span { display:block; font-size:.58rem; font-weight:900; letter-spacing:.03em; }
.tool-frame-page .tool-float-nav .tool-circle:first-child { background:linear-gradient(145deg,#1c7058,#103f33); }
.tool-frame-page .tool-float-nav .tool-circle--light { background:linear-gradient(145deg,#ffcf62,#ff8a68); color:#321c12; }
.tool-frame-page .tool-float-nav.is-return-beacon { animation:v77-return-beacon 1.55s ease-in-out 3; }
.tool-frame-page .tool-side-actions .tool-circle { border:1px solid rgba(255,255,255,.6); background:rgba(255,255,255,.92); color:#0b3026; }
.tool-return-hint {
  position:fixed; z-index:22; left:max(12px,env(safe-area-inset-left)); top:calc(max(12px,env(safe-area-inset-top)) + 75px);
  width:min(310px,calc(100vw - 24px)); padding:12px 40px 12px 13px; border:1px solid rgba(255,255,255,.68); border-radius:17px;
  background:rgba(255,253,248,.95); color:#10241e; box-shadow:0 18px 46px rgba(0,0,0,.26); backdrop-filter:blur(16px);
  opacity:0; transform:translateY(-8px); pointer-events:none; transition:opacity .24s ease,transform .24s ease;
}
.tool-return-hint.is-visible { opacity:1; transform:none; pointer-events:auto; }
.tool-return-hint strong { display:block; font-size:.85rem; }
.tool-return-hint p { margin:.3rem 0 0; color:#52625c; font-size:.72rem; line-height:1.35; }
.tool-return-hint button { position:absolute; right:8px; top:8px; width:26px; height:26px; border:0; border-radius:50%; background:#e8eee9; color:#10241e; cursor:pointer; }
@keyframes v77-return-beacon {
  0%,100% { transform:translateZ(0); box-shadow:0 14px 34px rgba(11,48,38,.18) }
  45% { transform:translateY(2px) scale(1.035); box-shadow:0 14px 34px rgba(11,48,38,.2),0 0 0 12px rgba(255,204,87,.22) }
}
@keyframes pocket-orbit { 50% { transform:translate(-18px,-12px) scale(1.12) } }
@media(max-width:820px){
  .adaptive-page-summary__trail { grid-template-columns:1fr; }
  .adaptive-page-summary__trail nav { grid-template-columns:1fr; }
}
@media(max-width:520px){
  .pocket-home { padding-bottom:calc(94px + env(safe-area-inset-bottom)); }
  .pocket-main { padding:0 .7rem; }
  .pocket-welcome { border-radius:26px; }
  .pocket-grid a { min-height:132px; }
  .adaptive-page-summary__trail { padding:.8rem; }
  .adaptive-page-summary__trail a span { display:none; }
}
@media(prefers-reduced-motion:reduce){
  .adaptive-page-summary.shows-extra-details .is-extra-detail,.pocket-welcome::after,
  .utilities-page .round-nav--web.is-return-beacon,.tool-frame-page .tool-float-nav.is-return-beacon { animation:none!important; }
}

/* V78 · dirección móvil de agencia: contraste, profundidad y color con intención */
.pocket-home {
  --v78-ink:#0d1714;
  --v78-forest:#0b3d31;
  --v78-teal:#087f6b;
  --v78-cobalt:#2458c7;
  --v78-orange:#b94e30;
  --v78-gold:#d39824;
  color:var(--v78-ink);
  background:
    linear-gradient(90deg,rgba(13,23,20,.034) 1px,transparent 1px),
    linear-gradient(rgba(13,23,20,.034) 1px,transparent 1px),
    linear-gradient(180deg,#e9eeeb 0,#f8f7f2 22rem,#f0f1ed 100%);
  background-size:30px 30px,30px 30px,auto;
}
.pocket-top {
  border-color:rgba(13,23,20,.14);
  background:rgba(249,249,246,.9);
  box-shadow:0 14px 40px rgba(13,23,20,.12);
  backdrop-filter:blur(20px) saturate(1.05);
}
.pocket-top small{color:#53615b}
.pocket-top button{
  background:linear-gradient(145deg,#0d1714,#0b4d3d);
  box-shadow:0 9px 22px rgba(13,23,20,.24);
}
.pocket-welcome {
  background:
    radial-gradient(circle at 88% 7%,rgba(42,192,164,.18),transparent 30%),
    linear-gradient(128deg,#0d1714 0,#0a392f 55%,#075f50 100%);
  box-shadow:0 22px 50px rgba(13,23,20,.26),inset 0 1px 0 rgba(255,255,255,.13);
}
.pocket-welcome::after{border-color:rgba(255,255,255,.055)}
.pocket-main h2{color:#101a17;letter-spacing:-.035em}
.pocket-grid a{
  color:#fff;
  box-shadow:0 14px 32px rgba(13,23,20,.18),inset 0 1px 0 rgba(255,255,255,.14);
}
.pocket-grid a::before{background:rgba(255,255,255,.1)}
.pocket-grid a::after{background:rgba(255,255,255,.14);color:#fff}
.pocket-grid a:hover,.pocket-grid a:focus-visible{
  filter:brightness(1.06);box-shadow:0 20px 40px rgba(13,23,20,.24);outline-color:#0d1714;
}
.pocket-grid--main a:nth-child(1){background:linear-gradient(145deg,#174b86,#2458c7)}
.pocket-grid--main a:nth-child(2){background:linear-gradient(145deg,#08604f,#087f6b)}
.pocket-grid--main a:nth-child(3){background:linear-gradient(145deg,#6b371e,#b94e30)}
.pocket-grid--main a:nth-child(4){background:linear-gradient(145deg,#3c315d,#644b91)}
.pocket-grid:not(.pocket-grid--main) a:nth-child(1){background:linear-gradient(145deg,#775314,#b17816)}
.pocket-grid:not(.pocket-grid--main) a:nth-child(2){background:linear-gradient(145deg,#0c5748,#087f6b)}
.pocket-grid:not(.pocket-grid--main) a:nth-child(3){background:linear-gradient(145deg,#23468d,#2458c7)}
.pocket-grid:not(.pocket-grid--main) a:nth-child(4){background:linear-gradient(145deg,#79321f,#b94e30)}
.pocket-grid a > span{
  background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}
.pocket-grid small{color:rgba(255,255,255,.76)}
.pocket-list a{
  border:1px solid rgba(13,23,20,.1);background:rgba(255,255,255,.94);
  box-shadow:0 10px 24px rgba(13,23,20,.075);
}
.pocket-list a::before{
  content:"";position:absolute;inset:10px auto 10px 0;width:4px;border-radius:999px;background:var(--row-accent,#087f6b);
}
.pocket-list a:nth-child(4n+1){--row-accent:#2458c7}
.pocket-list a:nth-child(4n+2){--row-accent:#087f6b}
.pocket-list a:nth-child(4n+3){--row-accent:#b17816}
.pocket-list a:nth-child(4n){--row-accent:#b94e30}
.pocket-list a:nth-child(4n+1)>span,
.pocket-list a:nth-child(4n+2)>span,
.pocket-list a:nth-child(4n+3)>span,
.pocket-list a:nth-child(4n)>span{background:#13221d;color:#fff}
.pocket-live-tools{
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,#102746 0,#244f99 58%,#583f78 100%);
  box-shadow:0 20px 44px rgba(16,39,70,.23);
}
.pocket-live-tools a{color:#102746;box-shadow:0 10px 24px rgba(8,22,43,.23)}
.pocket-photo-card,.pocket-contribute{border:1px solid rgba(13,23,20,.1);box-shadow:0 16px 36px rgba(13,23,20,.12)}
.pocket-dock{
  border-color:rgba(255,255,255,.12);background:rgba(13,23,20,.94);
  box-shadow:0 20px 55px rgba(13,23,20,.32);backdrop-filter:blur(20px) saturate(1.1);
}
.pocket-dock a,.pocket-dock button{color:rgba(255,255,255,.72)}
.pocket-dock a:nth-child(1),.pocket-dock a:nth-child(2),.pocket-dock a:nth-child(3),.pocket-dock button{--dock:#075f50}
.pocket-dock a:hover,.pocket-dock button:hover,.pocket-dock a:focus-visible,.pocket-dock button:focus-visible,
.pocket-dock [aria-current="page"]{background:var(--dock);color:#fff}

.utilities-page{
  --v78-ink:#0d1714;
  --v78-teal:#087f6b;
  --v78-cobalt:#2458c7;
  --v78-orange:#b94e30;
  background:
    linear-gradient(90deg,rgba(13,23,20,.034) 1px,transparent 1px),
    linear-gradient(rgba(13,23,20,.034) 1px,transparent 1px),
    linear-gradient(180deg,#e8edea,#f6f6f2 34rem,#eef0ec);
  background-size:30px 30px,30px 30px,auto;
}
.utilities-page .app-menu-top,.utilities-page .app-toolbar{
  border-color:rgba(13,23,20,.14);background:rgba(250,250,247,.92);
  box-shadow:0 14px 34px rgba(13,23,20,.12);backdrop-filter:blur(20px) saturate(1.05);
}
.utilities-page .app-mark{background:linear-gradient(145deg,#0d1714,#0b4d3d);color:#fff}
.utilities-page .round-nav{background:linear-gradient(145deg,#0d1714,#0b4d3d);box-shadow:0 9px 22px rgba(13,23,20,.22)}
.utilities-page .round-nav--web{background:linear-gradient(145deg,#8b5311,#d39824);color:#fff}
.utilities-page .menu-group{
  --group-accent:#087f6b;border:1px solid rgba(13,23,20,.09);
  background:rgba(255,255,255,.58);box-shadow:0 10px 28px rgba(13,23,20,.055);
}
.utilities-page .menu-group:nth-child(2){--group-accent:#b94e30}
.utilities-page .menu-group:nth-child(3){--group-accent:#087f6b}
.utilities-page .menu-group:nth-child(4){--group-accent:#2458c7}
.utilities-page .menu-group h2{color:var(--group-accent);letter-spacing:.1em}
.utilities-page .menu-group:nth-child(1) .quick-row,
.utilities-page .menu-group:nth-child(2) .quick-row,
.utilities-page .menu-group:nth-child(3) .quick-row,
.utilities-page .menu-group:nth-child(4) .quick-row{
  position:relative;overflow:hidden;border:1px solid rgba(13,23,20,.09);background:#fff;
}
.utilities-page .quick-row::before{
  content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--group-accent);
}
.utilities-page .quick-icon,.utilities-page .action-icon{
  background:#14221e;color:#fff;box-shadow:none;
}
.utilities-page .quick-row small,.utilities-page .action-row small{color:#59655f}
.utilities-page .phone-group{border:1px solid rgba(13,23,20,.09);background:rgba(255,255,255,.6)}
.utilities-page .action-row{border:1px solid rgba(13,23,20,.09);background:#fff}
.utilities-page .action-row--urgent{background:#9f3528;color:#fff}
.utilities-page .action-row--urgent small{color:rgba(255,255,255,.76)}
.utilities-page .action-row--urgent .action-icon{background:#fff;color:#9f3528}

@media(max-width:520px){
  .pocket-top{border-radius:18px}
  .pocket-welcome{padding:1.15rem;border-radius:23px}
  .pocket-grid a{min-height:126px;border-radius:20px}
  .pocket-list a{border-radius:18px}
  .utilities-page .quick-row,.utilities-page .action-row{border-radius:17px}
}
