/* Footer shares one container and one legal/navigation row. */
body .global-footer[data-site-footer]{background:#062743;color:#e7f1f7;padding:44px 0 24px;margin-top:48px}
.global-footer[data-site-footer] .footer-inner{width:min(1400px,calc(100% - 48px));margin:auto}
.global-footer[data-site-footer] .footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1.1fr;gap:clamp(24px,4vw,64px);width:100%;max-width:none;margin:0;padding:0;align-items:start}
.global-footer[data-site-footer] .footer-grid section{min-width:0}
.global-footer[data-site-footer] .footer-grid img{display:block;width:260px;max-width:100%;height:auto;object-fit:contain}
.global-footer[data-site-footer] .footer-grid p{max-width:42ch;font-size:15px;line-height:1.65;margin:20px 0 0;color:#c7dce9}
.global-footer[data-site-footer] .footer-grid h2{font:800 14px/1.4 var(--font-ui);margin:0 0 12px;color:#fff}
.global-footer[data-site-footer] .footer-grid a{display:flex;align-items:center;flex-wrap:wrap;gap:0 5px;min-height:44px;margin:0;color:#e7f1f7;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.global-footer[data-site-footer] .footer-phone-number{white-space:nowrap}
.global-footer[data-site-footer] .footer-bottom{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;max-width:none;width:100%;margin:28px 0 0;padding:20px 0 0;border-top:1px solid #34556e}
.global-footer[data-site-footer] .footer-legal{display:flex;flex-wrap:wrap;gap:4px 16px;color:#c7dce9;font:400 12px/1.6 var(--font-ui)}
.global-footer[data-site-footer] .privacy-footer{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:none;margin:0;padding:0;gap:8px}
.global-footer[data-site-footer] .privacy-footer :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 14px;border:1px solid #58788d;border-radius:999px;background:transparent;color:#e7f1f7;font:600 12px/1.45 var(--font-ui);text-decoration:none;text-align:center;overflow-wrap:anywhere;cursor:pointer}
.global-footer[data-site-footer] :is(a,button):focus-visible{outline:3px solid #a7dcf4;outline-offset:3px}
html.a11y-dark .global-footer[data-site-footer]{background:#061724}
@media(max-width:1000px){.global-footer[data-site-footer] .footer-bottom{grid-template-columns:1fr}.global-footer[data-site-footer] .privacy-footer{justify-content:flex-start}}
@media(max-width:760px){
 body:not(.reels-body) .global-footer[data-site-footer]{padding:20px 0 max(100px,calc(84px + env(safe-area-inset-bottom)))!important;margin-top:32px}
 .global-footer[data-site-footer] .footer-inner{width:calc(100% - 32px)}
 .global-footer[data-site-footer] .footer-grid,.global-footer[data-site-footer] .footer-legal{display:none!important}
 .global-footer[data-site-footer] .footer-bottom{display:block!important;border:0;margin:0;padding:0}
 body .global-footer[data-site-footer] .privacy-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;margin:0}
 .global-footer[data-site-footer] .privacy-footer :is(a,button){height:100%;padding:10px;font-size:12px}
}
/* Stable image frames: visible text, local placeholders, no page overlay. */
.media-pending{background:var(--surface-2,#e7eef2)}
.media-pending::after{z-index:0;background:linear-gradient(100deg,var(--surface-2,#e7eef2) 30%,var(--surface,#f5f8fa) 50%,var(--surface-2,#e7eef2) 70%);animation:media-skeleton 1.6s linear infinite}
.media-pending img{z-index:1}
.media-ready-image{animation:media-soft-enter 240ms cubic-bezier(.23,1,.32,1) both}
@keyframes media-soft-enter{from{opacity:0}to{opacity:1}}
.media-failed{opacity:1!important;visibility:visible;color:var(--muted);background:var(--surface-2)}
.writer-photo.media-pending::after{border-radius:50%}
/* One author component for the home and the directory. */
.columnist-directory-header{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;margin-inline:auto}
.columnist-directory-header .page-title{width:100%;text-align:center;margin-inline:auto}
.columnist-directory-header .page-intro{width:min(100%,720px);max-width:720px;text-align:center;margin:16px auto 0!important}
.home-page .columnists-grid,.author-grid.columnist-directory{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px!important}
.writer-card{display:flex;flex-direction:column;gap:14px;min-width:0;height:100%;padding:22px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:0 8px 24px rgba(6,39,67,.04)}
.writer-card[hidden]{display:none!important}
.writer-identity{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:16px;min-width:0}
.writer-identity>div{min-width:0}
.writer-photo{position:relative;display:grid;place-items:center;width:80px;height:80px;min-width:80px;min-height:80px;border-radius:50%;overflow:hidden;background:var(--blue-soft);color:var(--navy);aspect-ratio:1}
.writer-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:50%;aspect-ratio:1;z-index:1}
.writer-photo img[hidden]{display:none!important}
.writer-initials{font:800 23px/1 var(--font-ui)}
.writer-card h2{font:800 20px/1.2 var(--font-ui);letter-spacing:-.02em;margin:0;overflow-wrap:anywhere;color:var(--ink)}
.writer-count{font:700 12px/1.4 var(--font-ui);color:var(--blue-2);margin:7px 0 0}
.writer-bio{margin:0;color:var(--muted);font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.writer-latest{margin:auto 0 0;padding-top:2px;font:500 11px/1.5 var(--font-ui);color:var(--muted)}
.writer-actions{display:flex;align-items:center;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.writer-actions :is(a,button){font:700 12px/1.2 var(--font-ui);min-height:44px;display:inline-flex;justify-content:center;align-items:center;gap:6px;border-radius:999px;margin:0;white-space:nowrap}
.writer-read{flex:1;padding:10px 12px;background:#0f6f9d;color:#fff}
.writer-actions .author-follow{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 12px;min-width:0}
.writer-actions .author-follow.is-following{background:var(--blue-soft);border-color:var(--blue);color:var(--blue-2)}
.writer-actions .writer-share{flex:0 0 44px;width:44px;padding:0;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.writer-actions .material-symbols-rounded{font-size:18px}
.writer-card :is(a,button):focus-visible,.writer-tools :is(input,select,button):focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.writer-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 12px}
.writer-search{display:flex;align-items:center;gap:10px;flex:1 1 260px;min-height:48px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.writer-search input{min-width:0;width:100%;border:0;outline-offset:3px;background:transparent;color:var(--ink);font:inherit}
.writer-search input::placeholder{color:var(--muted);opacity:1}
.writer-filters{display:flex;padding:4px;gap:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.writer-filters button{min-height:44px;padding:10px 16px;border:0;border-radius:999px;font:700 13px var(--font-ui);background:transparent;color:var(--ink);cursor:pointer}
.writer-filters button[aria-pressed=true]{background:#062743;color:#fff}
.writer-sort{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}
.writer-sort select{min-height:48px;max-width:100%;border:1px solid var(--line);border-radius:999px;padding:10px 16px;background:var(--surface);color:var(--ink);font:700 13px var(--font-ui)}
.writer-status{font-size:12px;color:var(--muted);margin:0 0 20px}
.writer-empty{padding:28px 0;color:var(--muted)}
@media(max-width:1100px){.home-page .columnists-grid,.author-grid.columnist-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
 .home-page .columnists-grid,.author-grid.columnist-directory{grid-template-columns:1fr;gap:16px!important}
 .writer-card{padding:18px;gap:12px}
 .writer-identity{grid-template-columns:72px minmax(0,1fr);gap:14px}
 .writer-photo{width:72px;height:72px;min-width:72px;min-height:72px}
 .writer-card h2{font-size:20px}
 .writer-tools{align-items:stretch}
 .writer-search{flex-basis:100%}
 .writer-sort{flex:1;justify-content:flex-end}
 .writer-actions :is(a,button){font-size:12px}
}
@media(max-width:360px){.writer-card{padding:14px}.writer-actions{gap:6px}.writer-actions .author-follow{padding-inline:9px}.writer-read{padding-inline:9px}.writer-tools{flex-direction:column}.writer-sort{justify-content:flex-start}}
@media(hover:hover) and (pointer:fine){.writer-card{transition:transform 240ms cubic-bezier(.23,1,.32,1),border-color 180ms ease}.writer-card:hover{transform:translateY(-3px);border-color:var(--blue)}.writer-read:hover{background:#0b557a}.global-footer[data-site-footer] .privacy-footer :is(a,button):hover{background:#173e5b}}
@media(prefers-reduced-motion:reduce){.media-ready-image{animation:none}.media-pending::after{animation:none}.writer-card{transition:none!important;transform:none!important}}
.a11y-motion .media-ready-image{animation:none}.a11y-motion .media-pending::after{animation:none}.a11y-motion .writer-card{transform:none!important;transition:none!important}
