/* Autores y Aula docente. Identidad editorial y lectura accesible. */
.ag-intro{padding-bottom:36px}
.ag-intro h1{max-width:21ch}
.ag-main-section{padding-block:22px 72px;scroll-margin-top:calc(var(--header) + 24px)}
.ag-heading{max-width:850px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:26px}
.ag-heading h2{font:500 clamp(32px,4vw,47px)/1.14 var(--serif);margin:0 0 12px}
.ag-heading p{font:400 15px/1.75 var(--sans);color:var(--muted);max-width:70ch}
.ag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ag-tile{position:relative;display:flex;flex-direction:column;min-height:176px;padding:25px 26px 29px;
  background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);
  color:var(--ink);text-decoration:none;min-width:0}
.ag-tile h3{font:500 clamp(23px,2.1vw,29px)/1.18 var(--serif);letter-spacing:-.02em;margin:0 0 12px;
  text-wrap:balance}
.ag-tile p{font:400 13px/1.65 var(--sans);color:var(--muted);margin:0;max-width:43ch}
.ag-tile>span{position:absolute;right:20px;bottom:12px;color:var(--accent);font-size:20px}
.ag-tile:hover,.ag-tile:focus-visible{background:var(--wash);border-color:var(--accent)}
.ag-search-label{display:block;max-width:550px;font:600 12px/1.5 var(--sans);
  color:var(--muted);margin-bottom:22px}
.ag-search-label input{display:block;width:100%;min-height:48px;padding:12px 15px;border:1px solid var(--line);
  background:var(--surface);font:400 15px/1.5 var(--sans);color:var(--ink);margin-top:7px}
#ag-count{margin:0 0 14px!important;font:400 12px/1.55 var(--sans);color:var(--muted)}
.ag-note{padding:28px 34px;margin-top:4px;margin-bottom:80px;border-block:1px solid var(--line);
  background:var(--wash)}
.ag-note h2{font:500 30px/1.2 var(--serif);margin-bottom:11px}
.ag-note p{max-width:78ch;font:400 14px/1.7 var(--sans);margin:0 0 12px;color:var(--muted)}
.ag-note a,.ag-entry a,.ag-map-linked a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.ag-profile-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);
  gap:60px;align-items:start;padding-bottom:88px}
.ag-profile-copy{min-width:0}
.ag-text{font:400 17px/1.73 var(--serif);max-width:850px}
.ag-text>p,.ag-text>ul{margin:0 0 22px}
.ag-text h2{font:500 clamp(27px,3vw,37px)/1.17 var(--serif);
  margin:37px 0 14px;scroll-margin-top:calc(var(--header) + 20px)}
.ag-text h3{font:600 17px/1.4 var(--sans);margin:23px 0 13px}
.ag-text ul{padding-left:25px;display:grid;gap:7px}
.ag-text li{padding-left:5px}
.ag-text a,.ag-back a{color:var(--accent);text-decoration:underline;
  text-decoration-color:var(--line);text-underline-offset:4px}
.ag-text a:hover,.ag-back a:hover{text-decoration-color:var(--accent)}
.ag-profile-aside{padding:25px 27px 26px;background:var(--wash);
  border-top:3px solid var(--accent);min-width:0}
.ag-profile-aside h2{font:500 30px/1.18 var(--serif);margin-bottom:13px}
.ag-profile-aside h3{font:600 14px/1.5 var(--sans);margin:23px 0 10px;color:var(--ink)}
.ag-reading-list{list-style:decimal;padding-left:22px;margin:10px 0 24px}
.ag-reading-list li{font:400 13px/1.55 var(--sans);padding:6px 0 7px 5px;
  border-bottom:1px solid var(--line)}
.ag-reading-list a{color:var(--ink);text-decoration:underline;text-decoration-color:transparent;
  text-underline-offset:3px}
.ag-reading-list a:hover,.ag-reading-list a:focus-visible{color:var(--accent);
  text-decoration-color:var(--accent)}
.ag-profile-aside ul{list-style:disc;margin:10px 0;padding-left:21px}
.ag-profile-aside ul li{font:400 13px/1.6 var(--sans);margin:0 0 10px}
.ag-profile-aside ul a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);
  text-underline-offset:3px}
.ag-profile-aside ul a:hover{color:var(--accent)}
.ag-aside-note{font:400 12px/1.65 var(--sans);color:var(--muted);margin-top:20px!important}
.ag-back{font:600 13px/1.6 var(--sans);border-top:1px solid var(--line);
  padding-top:23px;margin:36px 0 0!important}
.ag-entry,.ag-map-linked{font:600 13px/1.65 var(--sans);margin:12px 0 0!important}
.ag-session{border-top:1px solid var(--line);padding:24px 0 27px;
  scroll-margin-top:calc(var(--header) + 15px)}
.ag-session .eyebrow{font-size:11px;color:var(--accent);font-family:var(--sans)}
.ag-session h3{font:500 27px/1.2 var(--serif);margin:8px 0 15px}
.ag-session p{margin:0 0 14px}
.ag-session .ag-reading-list{margin:4px 0 20px}
.ag-session .ag-reading-list li{font-size:14px;border-color:var(--line)}
.ag-audience{border-left:3px solid var(--accent);padding:14px 19px;
  margin:0 0 32px!important;background:var(--wash);font:400 14px/1.65 var(--sans)}
.ag-export{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--line)}
.ag-export a,.ag-export button{font:600 13px/1.5 var(--sans);
  display:block;width:100%;padding:11px 13px;border:1px solid var(--accent);
  text-align:center;color:var(--on-accent);background:var(--accent);
  text-decoration:none}
.ag-export button{background:transparent;color:var(--accent)}
.ag-export a:hover,.ag-export button:hover{filter:brightness(.94)}
@media(max-width:1120px){
  .ag-profile-layout{gap:32px;grid-template-columns:minmax(0,1.3fr) minmax(250px,.75fr)}
  .ag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ag-profile-aside{padding:21px}
}
@media(max-width:780px){
  .ag-profile-layout{grid-template-columns:1fr}
  .ag-profile-aside{order:0}
  .ag-profile-copy{order:1}
  .ag-teaching .ag-profile-aside{order:1}
  .ag-teaching .ag-profile-copy{order:0}
  .ag-grid{gap:12px}
}
@media(max-width:600px){
  .ag-grid{grid-template-columns:1fr}
  .ag-tile{min-height:130px;padding:22px 22px 28px}
  .ag-tile h3{font-size:26px}
  .ag-tile p{font-size:13px}
  .ag-profile-aside{padding:22px 20px}
  .ag-profile-layout{gap:23px}
  .ag-text{font-size:16px}
  .ag-note{padding:22px 18px;margin-bottom:48px}
  .ag-main-section{padding-bottom:48px}
}
@media print {
  .site-header,.site-footer,.ag-search-label,#ag-count,.ag-export,.ag-entry,.ag-map-linked,
  .top-button,.search-dialog,.toast,.ag-back{display:none!important}
  body{background:#fff;color:#111}
  .container{width:100%;max-width:none}
  .ag-intro{padding:0 0 12px}
  .ag-profile-layout{display:block;padding:0}
  .ag-profile-aside{background:none;border-top:1px solid #999;padding:20px 0}
  .ag-text{max-width:none}
  .ag-session{break-inside:avoid}
  .ag-grid{display:block}
  .ag-tile{break-inside:avoid;min-height:auto;margin-bottom:10px;border:1px solid #ccc}
  .ag-reading-list a,.ag-text a{text-decoration:none;color:#111}
}
