/* Local magazine treatment. This file is not loaded by El especial. */
.portal {
  --marker: #fbefb7;
  --sky: #e8f3f6;
  --green-wash: #eff5f0;
  --rule: #baccc3;
}
.portal .ui-icon { width:20px; height:20px; flex:0 0 20px; object-fit:contain; }
.portal .masthead { border-bottom:2px solid var(--green); }
.portal .masthead .wordmark { font-size:29px; }
.portal .masthead .site-nav a[aria-current=page] { color:var(--green); box-shadow:inset 0 -5px var(--yellow); }
.portal .masthead .site-nav a:hover { color:var(--terra); }
.portal :is(a,button,input,select,summary):focus-visible { outline:3px solid var(--blue); outline-offset:4px; }

/* A ruled opening, rather than a framed hero. */
.portal .catalog-intro { border-bottom:7px solid var(--yellow); position:relative; }
.portal .catalog-intro:after { content:""; position:absolute; height:1px; background:#77998c; bottom:12px; left:0; right:0; }
.portal .intro-layout { grid-template-columns:minmax(0,1fr) 240px; min-height:240px; padding-block:30px; }
.portal .catalog-intro h1 { font-size:68px; }
.portal .catalog-intro p:not(.eyebrow) { font-size:18px; max-width:600px; }
.portal .intro-gami { height:225px; }
.portal .intro-gami img { object-fit:contain; object-position:top; }
.portal .catalog { padding-block:40px 55px; }
.portal .catalog-heading { margin-bottom:25px; align-items:center; }
.portal .catalog-heading h2 { font-size:37px; }
.portal .catalog-heading h2:after { content:""; display:block; width:80px; height:5px; background:var(--yellow); margin-top:10px; transform:rotate(-2deg); }
.portal .catalog-heading>p { border-left:3px solid var(--terra); font-size:18px; max-width:330px; padding-left:16px; }
.portal .catalog-search { background:var(--sky); border:0; border-left:4px solid var(--blue); padding:17px 20px; gap:18px; margin-bottom:30px; }
.portal .catalog-search>label { font-weight:800; }
.portal .search-entry { display:flex; align-items:center; gap:10px; min-width:0; background:white; border:1px solid #93ada6; border-radius:6px; padding-left:14px; }
.portal .search-entry input { border:0; background:transparent; min-height:48px; padding-left:0; }
.portal .search-entry:focus-within { outline:3px solid var(--blue); outline-offset:3px; }
.portal .search-entry input:focus-visible { outline:none; }
.portal .reset-search { width:48px; height:48px; padding:0; display:grid; place-items:center; border-color:var(--green); border-radius:6px; }
.portal .has-active-filters .reset-search { background:var(--yellow); border-color:var(--green); }
.portal .reset-search:hover { background:var(--marker); }
.portal .catalog-layout { grid-template-columns:190px minmax(0,1fr); gap:32px; }
.portal .filters { border-left:3px solid var(--yellow); padding-left:16px; }
.portal .filters legend,.portal .select-label { font-size:13px; }
.portal .filters fieldset label { padding:9px 8px; margin-left:-8px; border-radius:4px; font-size:13px; }
.portal .filters fieldset label:has(input:checked) { background:var(--marker); color:var(--ink); font-weight:800; }
.portal .filters input[type=checkbox] { accent-color:var(--green); }
.portal .filters select { border-radius:6px; font-size:13px; }
.portal .filters select:has(option:checked:not([value=""])) { border:2px solid var(--green); background:var(--green-wash); padding:10px 11px; }
.portal .catalog-results { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; min-height:43px; margin-bottom:18px; border-bottom:1px solid var(--rule); padding-bottom:12px; }
.portal .result-status { margin:0; font-size:13px; color:var(--ink); }
.portal .result-status strong { font-size:20px; font-weight:800; background:var(--marker); padding:2px 7px; border-radius:2px; margin-right:3px; }
.portal .active-filter-count { font-size:11px; color:var(--green); font-weight:800; }
.portal .resource-grid { gap:22px; }
.portal .resource-card { --accent:var(--blue); --card-pad:23px; border:1px solid var(--rule); border-radius:8px; padding:var(--card-pad); background:#fff; position:relative; min-height:355px; transition:border-color .16s ease, box-shadow .16s ease; }
.portal .resource-card.support-mixto { --accent:var(--terra); background:#fffdf5; }
.portal .resource-card.support-papel { --accent:var(--green); background:var(--green-wash); }
.portal .resource-card:hover,.portal .resource-card:focus-within { border-color:var(--green); box-shadow:inset 0 -3px var(--accent); }
.portal .resource-top { display:flex; align-items:center; gap:12px; min-height:96px; font-size:10px; background:var(--sky); padding:16px var(--card-pad); margin:calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad)) 20px; width:calc(100% + 2 * var(--card-pad)); border-radius:7px 7px 0 0; }
.portal .support-mixto .resource-top { background:var(--marker); }
.portal .support-papel .resource-top { background:#d8e9dd; }
.portal .resource-identity { display:flex; flex-direction:column; gap:6px; min-width:0; }
.portal .resource-mark { width:86px; height:44px; display:flex; align-items:center; justify-content:flex-start; }
.portal .resource-mark img { width:80px; height:40px; object-fit:scale-down; }
.portal .resource-mark.brand-mobbyt { background:var(--green); border-radius:4px; padding:4px; }
.portal .resource-mark.brand-mobbyt img { width:78px; }
.portal .resource-kind { font-size:11px; color:var(--muted); font-weight:600; }
.portal .resource-modality { border-radius:4px; color:#215568; background:var(--sky); padding:5px 8px; font-size:10px; line-height:1.45; text-align:right; max-width:120px; margin:0; }
.portal .support-mixto .resource-modality { background:var(--marker); color:#57451c; }
.portal .support-papel .resource-modality { background:var(--green); color:#fff; }
.portal .support-digital .resource-modality,.portal .support-mixto .resource-modality { background:#fff; }
.portal .resource-paper { height:44px; display:flex; align-items:center; }
.portal .resource-paper .ui-icon { width:32px; height:32px; }
.portal .resource-card h3 { margin-bottom:12px; font-size:30px; line-height:1.15; }
.portal .resource-title { text-decoration:none; padding:0; min-height:38px; }
.portal .resource-title:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.portal .resource-description { font-size:14px; line-height:1.7; }
.portal .resource-tags { color:var(--green); font-size:10px; margin:18px 0 22px; gap:6px 10px; }
.portal .resource-tags li+li:before { margin-right:8px; }
.portal .resource-open { min-height:52px; padding-top:13px; gap:12px; line-height:1.5; font-size:13px; border-color:var(--rule); }
.portal .resource-open:hover { color:var(--terra); }
.portal .curation { border-top:2px solid var(--green); border-bottom:1px solid var(--rule); margin-top:35px; }
.portal .curation summary { color:var(--green); }
.portal .special-band { border-top:6px solid var(--yellow); }
.portal .special-preview { padding-block:38px; }
.portal .special-preview h2 { font-size:40px; }
.portal .home-news { padding-block:55px 60px; }
.portal .section-top { border-bottom:2px solid var(--green); padding-bottom:24px; }
.portal .section-top h2 { font-size:40px; }
.portal .section-top h2 em { color:var(--green); }
.portal .section-top .text-link { gap:18px; font-size:13px; }

/* The lead is editorially selected; dates remain attached to each source. */
.portal .news-heading { position:relative; padding-block:42px 28px; border-bottom:0; }
.portal .news-heading .eyebrow { display:flex; align-items:center; gap:12px; }
.portal .news-heading .eyebrow:after { content:""; width:65px; height:3px; background:var(--terra); }
.portal .news-heading h1 { font-size:60px; line-height:1.08; }
.portal .news-heading h1 em { color:var(--green); position:relative; z-index:0; }
.portal .news-heading h1 em:after { content:""; position:absolute; bottom:4px; left:0; right:0; height:12px; background:var(--marker); z-index:-1; transform:rotate(-1deg); }
.portal .news-heading>p:not(.eyebrow) { font-size:15px; max-width:670px; line-height:1.75; }
.portal .news-list { padding-top:0; }
.portal .news-controls { background:var(--sky); border-left:4px solid var(--blue); padding:16px 20px; gap:15px; margin-bottom:32px; }
.portal .news-controls>label { font-weight:800; font-size:13px; }
.portal .news-controls select { border-radius:6px; }
.portal .news-controls select.is-selected { border:2px solid var(--green); background:var(--green-wash); padding:10px 11px; }
.portal .news-controls p { font-size:12px; color:var(--green); font-weight:600; }
.portal .news-grid { gap:34px 28px; align-items:stretch; }
.portal .news-card { display:flex; border-bottom:1px solid var(--rule); padding-bottom:22px; }
.portal .news-visual { width:100%; min-width:0; }
.portal .news-art.news-art-photo { width:100%; aspect-ratio:16/9; height:auto; border:0; border-radius:6px; background:var(--paper); }
.portal .news-art.news-art-photo img { width:100%; height:100%; max-width:none; object-fit:contain; }
.portal .news-art.news-art-photo.image-contain img { padding:20px; object-fit:scale-down; background:white; }
.portal .news-image-credit { color:var(--muted); font-size:10px; line-height:1.5; margin:8px 0 0; }
.portal .news-image-credit a { color:inherit; text-underline-offset:3px; }
.portal .news-copy { display:flex; flex-direction:column; align-items:start; flex:1; min-width:0; width:100%; }
.portal .news-meta { margin-top:18px; font-size:10px; gap:6px 12px; }
.portal .news-meta>span:first-child { border-bottom:2px solid var(--yellow); padding-bottom:2px; color:var(--terra); font-size:11px; }
.portal .news-card h2 { font-size:28px; margin:12px 0 0; line-height:1.19; }
.portal .news-card h2 a:hover { color:var(--terra); text-decoration-thickness:1px; text-underline-offset:4px; }
.portal .news-deck { font-size:14px; line-height:1.75; margin-top:14px; }
.portal .news-card .news-date { margin:14px 0 16px; font-size:11px; color:var(--muted); }
.portal .article-link { font-size:13px; gap:14px; margin-top:auto; align-items:center; padding-top:10px; }
.portal .news-card.news-lead { display:grid; grid-column:1/-1; grid-template-columns:1.15fr 1fr; align-items:center; gap:34px; padding:28px; border-radius:8px; background:var(--sky); border:0; }
.portal .news-lead .news-copy { align-self:stretch; }
.portal .news-lead .lead-label { font-size:11px; background:var(--yellow); color:var(--ink); padding:4px 9px; margin:0 0 4px; border-radius:2px; }
.portal .news-lead .news-meta { margin-top:10px; }
.portal .news-lead h2 { font-size:39px; margin-top:13px; }
.portal .news-lead .news-deck { font-size:15px; }
.portal .news-lead .news-date { margin-top:16px; }
.portal .news-lead .article-link { margin-top:8px; }
.portal .home-news .news-grid-editorial { grid-template-columns:1fr 1fr; }
.portal .home-news .news-lead { background:var(--green-wash); }
.portal .portal-footer { border-top:3px solid var(--green); background:var(--paper); }

/* Dates are an agenda, not publication dates for the editorial archive. */
.portal .agenda-jump { margin-top:20px; gap:18px; font-size:14px; }
.portal .agenda-section { background:var(--green-wash); border-top:3px solid var(--green); padding-block:45px 50px; }
.portal .agenda-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; }
.portal .agenda-heading h2 { font-size:43px; }
.portal .agenda-heading h2 em { color:var(--green); }
.portal .agenda-heading>p { font-size:12px; color:var(--muted); border-left:3px solid var(--yellow); padding-left:15px; }
.portal .agenda-intro { max-width:850px; font-size:14px; margin-top:23px; line-height:1.75; }
.portal .agenda-controls { display:flex; align-items:center; gap:18px; border-block:1px solid var(--rule); padding-block:18px; margin-top:28px; }
.portal .agenda-controls label { font-size:13px; font-weight:800; }
.portal .agenda-controls select { width:230px; border-radius:6px; }
.portal .agenda-controls p { margin:0 0 0 auto; font-size:12px; font-weight:600; }
.portal .agenda-controls .is-selected { background:var(--marker); border:2px solid var(--green); padding:10px 11px; }
.portal .agenda-list { margin-top:8px; }
.portal .agenda-event { display:grid; grid-template-columns:100px minmax(0,1fr); gap:30px; border-bottom:1px solid var(--rule); padding-block:32px; }
.portal .agenda-date { display:flex; flex-direction:column; align-items:start; color:var(--green); padding-top:4px; }
.portal .agenda-date span { font-size:12px; font-weight:800; border-bottom:3px solid var(--yellow); padding-bottom:5px; }
.portal .agenda-date strong { font:400 58px/1.2 var(--serif); }
.portal .agenda-meta { display:flex; flex-wrap:wrap; gap:6px 14px; font-size:11px; color:var(--muted); }
.portal .agenda-meta>span:first-child { font-weight:800; color:var(--terra); }
.portal .agenda-copy { min-width:0; }
.portal .agenda-copy h3 { font-size:29px; margin:10px 0 14px; max-width:850px; line-height:1.2; }
.portal .agenda-copy>p { max-width:850px; font-size:14px; line-height:1.75; }
.portal .agenda-copy p+p { margin-top:12px; }
.portal .agenda-copy .agenda-date-label { font-size:12px; font-weight:800; }
.portal .agenda-tags { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:7px 18px; margin:16px 0 10px; font-size:11px; color:var(--green); }
.portal .agenda-tags li { border-bottom:1px solid var(--rule); padding-bottom:3px; }
.portal .agenda-copy .agenda-scope { font-size:11px; font-weight:800; color:var(--muted); margin:0; }
.portal .agenda-copy details { font-size:13px; margin-top:16px; max-width:850px; }
.portal .agenda-copy summary { min-height:44px; padding-block:10px; font-weight:600; color:var(--green); }
.portal .agenda-copy dl { display:grid; grid-template-columns:85px minmax(0,1fr); gap:12px 16px; padding-block:12px; border-top:1px solid var(--rule); }
.portal .agenda-copy dt { font-weight:800; }
.portal .agenda-copy dd { margin:0; line-height:1.75; }
.portal .agenda-sources { font-size:11px; line-height:1.8; }
.portal .agenda-registration { font-size:13px; gap:18px; margin-top:10px; }
.portal .agenda-note { font-size:12px; color:var(--muted); max-width:950px; margin-top:25px; line-height:1.8; }
.portal .agenda-empty { padding-block:25px; font-size:14px; }
.portal .agenda-archive { margin-top:20px; padding-block:15px; font-size:13px; }
.portal .agenda-archive summary { min-height:44px; padding-block:10px; }
.portal .agenda-archive li+li { margin-top:14px; }

@media(max-width:760px) {
  .portal .agenda-section { padding-block:30px 35px; }
  .portal .agenda-heading { display:block; }
  .portal .agenda-heading h2 { font-size:36px; }
  .portal .agenda-heading>p { margin-top:20px; }
  .portal .agenda-intro { font-size:13px; }
  .portal .agenda-controls { flex-wrap:wrap; gap:12px; }
  .portal .agenda-controls select { flex:1; width:auto; min-width:0; font-size:13px; }
  .portal .agenda-controls p { flex-basis:100%; margin:0; }
  .portal .agenda-event { grid-template-columns:66px minmax(0,1fr); gap:20px; padding-block:26px; }
  .portal .agenda-date span { font-size:10px; }
  .portal .agenda-date strong { font-size:47px; }
  .portal .agenda-copy h3 { font-size:25px; }
  .portal .agenda-copy>p { font-size:13px; }
  .portal .agenda-copy .agenda-date-label { font-size:11px; }
  .portal .agenda-copy dl { display:block; }
  .portal .agenda-copy dt { margin-top:14px; }
  .portal .agenda-copy dd { margin-top:5px; }
  .portal .agenda-registration { font-size:12px; }
}
@media(max-width:360px) {
  .portal .agenda-event { grid-template-columns:1fr; gap:12px; }
  .portal .agenda-date { flex-direction:row; align-items:center; gap:14px; }
  .portal .agenda-date strong { font-size:38px; }
  .portal .agenda-copy h3 { font-size:26px; }
}

@media(min-width:1600px) {
  .portal .resource-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .portal .resource-card { --card-pad:20px; }
  .portal .resource-card h3 { font-size:28px; }
  .portal .resource-top { gap:8px; }
  .portal .resource-modality { max-width:105px; font-size:9px; }
}
@media(max-width:1050px) {
  .portal .catalog-layout { grid-template-columns:170px minmax(0,1fr); gap:24px; }
  .portal .resource-card { --card-pad:20px; }
  .portal .resource-top { align-items:start; }
  .portal .resource-modality { max-width:90px; }
  .portal .resource-card h3 { font-size:28px; }
  .portal .news-grid { grid-template-columns:1fr 1fr; }
  .portal .news-card.news-lead { gap:24px; padding:24px; grid-template-columns:1fr 1fr; }
  .portal .news-lead h2 { font-size:33px; }
}
@media(max-width:760px) {
  .portal .masthead .wordmark { font-size:27px; }
  .portal .intro-layout { grid-template-columns:minmax(0,1fr) 120px; min-height:210px; gap:14px; padding-block:25px; }
  .portal .catalog-intro h1 { font-size:45px; }
  .portal .catalog-intro p:not(.eyebrow) { font-size:14px; }
  .portal .intro-gami { height:190px; }
  .portal .catalog { padding-block:29px 35px; }
  .portal .catalog-heading h2 { font-size:33px; }
  .portal .catalog-heading>p { font-size:17px; margin-top:22px; max-width:none; }
  .portal .catalog-search { grid-template-columns:minmax(0,1fr) 48px; padding:15px; gap:12px; }
  .portal .catalog-search>label { grid-column:1/-1; }
  .portal .search-entry { padding-left:10px; gap:8px; }
  .portal .search-entry input { font-size:13px; padding-right:8px; }
  .portal .catalog-layout { display:block; }
  .portal .filters { padding-left:13px; border-bottom:0; padding-bottom:8px; margin-bottom:16px; gap:0 14px; }
  .portal .filters fieldset { gap:0 12px; }
  .portal .filters fieldset label { font-size:12px; padding:9px 6px; margin:0; }
  .portal .filters select { font-size:12px; }
  .portal .filters legend { font-size:13px; }
  .portal .filter-note { margin-top:0; font-size:11px; }
  .portal .catalog-results { gap:8px; margin-bottom:18px; }
  .portal .resource-grid { gap:18px; }
  .portal .resource-top { align-items:center; }
  .portal .resource-modality { max-width:120px; }
  .portal .resource-card { min-height:345px; }
  .portal .special-preview h2 { font-size:30px; }
  .portal .section-top h2 { font-size:34px; }
  .portal .home-news { padding-block:35px 40px; }
  .portal .news-heading { padding-block:30px 24px; }
  .portal .news-heading h1 { font-size:47px; }
  .portal .news-heading h1 em:after { height:8px; bottom:2px; }
  .portal .news-heading>p:not(.eyebrow) { font-size:14px; margin-top:22px; }
  .portal .news-controls { padding:15px; gap:12px; }
  .portal .news-controls select { min-width:0; font-size:13px; }
  .portal .news-controls p { flex-basis:100%; margin:0; }
  .portal .news-grid,.portal .home-news .news-grid-editorial { grid-template-columns:1fr; gap:28px; }
  .portal .news-card.news-lead { display:flex; padding:18px; gap:0; }
  .portal .news-lead .news-copy { margin-top:18px; }
  .portal .news-lead h2 { font-size:31px; }
  .portal .news-lead .news-deck { font-size:14px; }
  .portal .news-card h2 { font-size:30px; }
  .portal .news-image-credit { font-size:10px; }
  .portal .news-card { padding-bottom:24px; }
  .portal .article-link { margin-top:0; }
}
@media(max-width:520px) {
  .portal .intro-layout { grid-template-columns:minmax(0,1fr) 100px; gap:10px; }
  .portal .catalog-intro h1 { font-size:34px; }
  .portal .catalog-intro p:not(.eyebrow) { font-size:13px; }
  .portal .intro-gami { height:175px; }
  .portal .resource-grid { grid-template-columns:1fr; }
  .portal .resource-card { --card-pad:22px; min-height:330px; }
  .portal .resource-card h3 { font-size:31px; }
  .portal .resource-top { font-size:10px; }
  .portal .resource-modality { max-width:130px; font-size:10px; }
  .portal .resource-tags { font-size:11px; }
  .portal .resource-open { font-size:13px; }
  .portal .special-preview h2 { font-size:27px; }
}
@media(max-width:360px) {
  .portal .intro-layout { grid-template-columns:minmax(0,1fr) 76px; }
  .portal .catalog-intro h1 { font-size:30px; }
  .portal .intro-gami { height:155px; }
  .portal .catalog-heading h2 { font-size:29px; }
  .portal .catalog-search { padding:13px 11px; grid-template-columns:minmax(0,1fr) 44px; gap:9px; }
  .portal .reset-search { width:44px; }
  .portal .search-entry>.ui-icon { display:none; }
  .portal .search-entry input { font-size:12px; }
  .portal .resource-card { --card-pad:19px; }
  .portal .resource-card h3 { font-size:28px; }
  .portal .resource-modality { max-width:110px; }
  .portal .news-heading h1 { font-size:39px; }
  .portal .news-lead h2,.portal .news-card h2 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) {
  .portal .resource-card { transition:none; }
}
@media print {
  .portal .resource-grid,.portal .news-grid,.portal .home-news .news-grid-editorial { grid-template-columns:1fr 1fr; }
  .portal .news-card.news-lead { grid-column:1/-1; }
  .portal .resource-card { box-shadow:none; }
}
