:root{--paper:#f4efe7;--paper2:#ebe3d8;--ink:#171614;--muted:#746c63;--accent:#a9442c;--line:#cfc5b8;--white:#faf7f1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.site-wrap,.wrap{width:min(1440px,calc(100% - 64px));margin:auto}header{display:grid;grid-template-columns:330px 1fr 58px;align-items:center;gap:28px;padding:24px 0 20px}.brand{display:flex;align-items:flex-start;gap:24px}.logo{font-size:54px;line-height:.9;font-weight:700;letter-spacing:-3px}.logo span,.footer-logo span{color:var(--accent)}.tag{font-family:Arial,sans-serif;font-size:13px;line-height:1.35;color:#5d554d;max-width:165px;padding-top:2px}nav{display:flex;justify-content:flex-end;gap:30px;font-size:16px;white-space:nowrap}nav ul{list-style:none;display:flex;gap:30px;margin:0;padding:0}nav a:hover{color:var(--accent)}.search{width:42px;height:42px;border-left:1px solid var(--line);display:grid;place-items:center;margin-left:auto}.search:before{content:"";width:17px;height:17px;border:2px solid var(--ink);border-radius:50%;display:block}.search:after{content:"";width:8px;height:2px;background:var(--ink);transform:translate(7px,-8px) rotate(45deg);display:block}.hero{position:relative;min-height:410px;border:1px solid var(--line);overflow:hidden;background:linear-gradient(90deg,rgba(244,239,231,.98) 0%,rgba(244,239,231,.88) 38%,rgba(244,239,231,.18) 67%,rgba(244,239,231,.03) 100%),linear-gradient(135deg,#d8cec1 0 42%,#a9a29b 42% 43%,#c6b7a6 43% 70%,#827b74 70%)}.hero-image{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.52}.city{position:absolute;inset:auto 0 0 34%;height:78%;opacity:.65}.city span{position:absolute;bottom:0;background:#7d7770;border-radius:2px 2px 0 0}.city span:nth-child(1){left:2%;width:10%;height:34%}.city span:nth-child(2){left:11%;width:13%;height:52%}.city span:nth-child(3){left:24%;width:8%;height:72%}.city span:nth-child(4){left:31%;width:15%;height:43%}.city span:nth-child(5){left:45%;width:9%;height:64%}.city span:nth-child(6){left:54%;width:15%;height:36%}.city span:nth-child(7){left:69%;width:11%;height:54%}.city span:nth-child(8){left:80%;width:17%;height:30%}.hero-content{position:relative;z-index:2;width:57%;padding:50px}.eyebrow,.inner-kicker,.kind{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:5px;font-size:12px;color:var(--accent);margin-bottom:18px}h1{font-size:64px;line-height:.92;letter-spacing:-2px;margin:0 0 18px;max-width:780px}.lead{font-size:23px;line-height:1.25;color:#9d3e29;max-width:650px;margin:0 0 12px}.desc,.content{font-size:17px;line-height:1.65;color:#4e4842;max-width:760px}.cta{display:inline-flex;align-items:center;gap:18px;background:var(--accent);color:white;padding:15px 22px;margin-top:16px;font-family:Arial,sans-serif;font-size:14px}.cta:hover{background:#8f3825}.slider{position:absolute;right:22px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:18px;align-items:center;font-family:Arial,sans-serif;color:#6e675f}.slider b{color:var(--accent);font-size:18px}.slider i{width:26px;height:1px;background:var(--accent)}.section{padding:20px 0 0}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.five{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:18px}.card{border:1px solid var(--line);background:rgba(250,247,241,.55);display:grid;min-height:190px}.feature{grid-template-columns:43% 57%}.art{min-height:190px;position:relative;overflow:hidden;background:linear-gradient(145deg,#b8afa2,#5f625f);background-size:cover;background-position:center}.art:before{content:"";position:absolute;inset:0;background:linear-gradient(155deg,transparent 45%,rgba(20,20,18,.35) 45% 47%,transparent 47%),linear-gradient(90deg,transparent 0 62%,rgba(20,20,18,.25) 62% 63%,transparent 63%)}.art.poetry{background:linear-gradient(145deg,#4f5965,#191e29)}.art.crit{background:linear-gradient(145deg,#8d7d6a,#343b40)}.card-copy{padding:26px 25px;display:flex;flex-direction:column}.kind{font-size:10px;letter-spacing:4px;margin-bottom:15px}.card h2{font-size:27px;line-height:1.02;font-weight:500;margin:0 0 12px}.author{font-size:15px;color:#806e61;margin-top:auto}.arrow{margin-top:18px;width:34px;height:34px;border:1px solid #5c5751;border-radius:50%;display:grid;place-items:center;align-self:flex-end;font-family:Arial,sans-serif}.small{min-height:0}.small .art{height:118px;min-height:0}.small .card-copy{padding:14px}.small h3{font-size:18px;line-height:1.05;font-weight:500;margin:7px 0}.small .author{font-size:13px}.small .kind{font-size:9px;letter-spacing:3px;margin:0}.small .arrow{width:27px;height:27px;font-size:12px;margin-top:10px}.inner{width:min(1100px,calc(100% - 64px));margin:0 auto;padding:50px 0 70px}.inner article{max-width:980px;margin:auto}.inner h1{font-size:56px}.wide-image{display:block;width:100%;height:auto;margin:30px 0}.work-image{text-align:center;margin:25px 0}.work-image img{max-height:680px;width:auto;max-width:100%}.inner-author{font-size:18px;color:#806e61;margin-bottom:25px}.content img{max-width:100%;height:auto}.content p{margin:0 0 1em}.authors-grid,.archive-work-grid{margin-top:25px}.author-image{float:left;margin:0 30px 20px 0}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.archive-card{border:1px solid var(--line);background:rgba(250,247,241,.55);position:relative}.archive-card img{display:block;width:100%;height:260px;object-fit:cover}.archive-placeholder{height:260px;display:grid;place-items:center;background:#d8cec1;font-size:34px}.archive-card h2{font-size:24px;padding:18px 18px 4px;margin:0}.archive-number{padding:0 18px 18px;color:var(--muted)}.archive-card .arrow{position:absolute;right:18px;bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.form-grid .full{grid-column:1/-1}.pg-application-form label,.pg-contact-form label{display:block;font-size:14px;margin:0 0 7px}.pg-application-form input:not([type=checkbox]),.pg-application-form textarea,.pg-application-form select,.pg-contact-form input,.pg-contact-form textarea{width:100%;border:1px solid var(--line);background:rgba(250,247,241,.65);padding:12px 13px;outline:none}.pg-application-form input:focus,.pg-contact-form input:focus,.pg-contact-form textarea:focus{border-color:var(--accent)}.check{margin:12px 0;display:block;font-size:14px}.check input{margin-right:8px}.form-note{font-size:12px;color:var(--muted);line-height:1.5;margin-top:18px}.notice{padding:14px 18px;margin-bottom:20px;border:1px solid var(--line)}.notice-ok{background:#ecefe6}.notice-error{background:#f3e5df}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px}.contact-grid .content{max-width:none}footer{margin-top:20px;background:var(--paper2);border-top:1px solid var(--line);padding:30px 0}.footer-grid{display:grid;grid-template-columns:1.3fr 2.1fr .9fr auto;gap:35px;align-items:center}.footer-logo{font-size:34px;font-weight:700;letter-spacing:-2px}.footer-desc{font-size:14px;line-height:1.4;color:#625b53;margin-top:7px}.footer-links{display:flex;flex-wrap:wrap;gap:10px 25px;font-size:15px}.footer-links ul{list-style:none;padding:0;margin:0;display:flex;gap:10px 25px;flex-wrap:wrap}.social{display:flex;gap:10px}.social a{width:38px;height:38px;border-radius:50%;background:#1d1d1b;color:white;display:grid;place-items:center;font:700 14px Arial}.footer-cta{white-space:nowrap}.search-results{padding-top:30px}@media(max-width:1100px){header{grid-template-columns:1fr auto}.brand{grid-column:1/-1}nav{justify-content:flex-start;flex-wrap:wrap}.hero-content{width:70%}h1{font-size:52px}.five{grid-template-columns:repeat(3,1fr)}.footer-grid,.contact-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.site-wrap,.wrap,.inner{width:min(100% - 28px,1440px)}header{display:block}.brand{margin-bottom:20px}.logo{font-size:44px}nav{gap:16px;font-size:14px}nav ul{gap:16px;flex-wrap:wrap}.search{display:none}.hero{min-height:520px}.hero-content{width:100%;padding:32px 25px;background:linear-gradient(90deg,var(--paper) 0%,rgba(244,239,231,.9) 72%,transparent)}h1,.inner h1{font-size:46px}.lead{font-size:20px}.three,.five,.archive-grid,.form-grid,.contact-grid{grid-template-columns:1fr}.feature{grid-template-columns:40% 60%}.card h2{font-size:23px}.five .art{height:160px}.footer-grid{grid-template-columns:1fr}.footer-links{line-height:1.7}.footer-links ul{line-height:1.7}.author-image{float:none;margin:0 0 20px}}

/* Homepage hero remains a wide banner; rows 2 and 3 place all card copy below the image. */
.hero {
    aspect-ratio: 8 / 3;
    min-height: 0;
}
.hero-image {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--paper2);
}
.home-middle .card,
.home-bottom .card {
    position: relative;
    display: flex;
    flex-direction: column;
    aspect-ratio: auto;
    min-height: 0;
    height: auto;
    overflow: hidden;
    background: rgba(250,247,241,.7);
}
.home-middle .art,
.home-bottom .art {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 8 / 3;
    flex: 0 0 auto;
    background-position: center;
    background-repeat: no-repeat;
}
.home-middle .art.has-image,
.home-bottom .art.has-image {
    background-size: contain;
    background-color: var(--paper2);
}
.home-middle .art.has-image::before,
.home-bottom .art.has-image::before {
    display: none;
}
.home-middle .card-copy,
.home-bottom .card-copy {
    position: relative;
    inset: auto;
    z-index: 2;
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: clamp(13px, 1.6vw, 22px);
    background: transparent;
}
.home-middle .kind,
.home-bottom .kind {
    margin: 0 0 8px;
    letter-spacing: clamp(1px, .2vw, 4px);
}
.home-middle .card h2,
.home-bottom .card h2,
.home-bottom .small h3 {
    max-width: 100%;
    margin: 0;
    line-height: 1.08;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.home-middle .card h2 { font-size: clamp(17px, 1.9vw, 27px); }
.home-bottom .small h3 { font-size: clamp(14px, 1.25vw, 18px); }
.home-middle .card-subtitle,
.home-bottom .card-subtitle {
    margin-top: 7px;
    color: #625b53;
    font-size: clamp(12px, 1vw, 15px);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.home-middle .author,
.home-bottom .author {
    margin-top: 8px;
    font-size: clamp(11px, 1vw, 15px);
    line-height: 1.25;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.home-bottom .small .author { font-size: clamp(10px, .95vw, 13px); }
.home-middle .arrow,
.home-bottom .arrow {
    position: static;
    margin: 12px 0 0 auto;
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
}

/* Use proper list markup for WordPress-managed menus and keep nested links usable. */
header nav .primary-menu,
.footer-links .footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
header nav .primary-menu > li,
.footer-links .footer-menu > li {
    position: relative;
}
header nav .primary-menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 20;
    min-width: 190px;
    padding: 10px 14px;
    background: var(--paper);
    border: 1px solid var(--line);
    box-shadow: 0 8px 20px rgba(23,22,20,.12);
    white-space: normal;
}
header nav .primary-menu li:hover > .sub-menu,
header nav .primary-menu li:focus-within > .sub-menu {
    display: block;
}
header nav .primary-menu .sub-menu li + li { margin-top: 8px; }
.footer-links .footer-menu .sub-menu {
    list-style: none;
    padding: 8px 0 0 12px;
    margin: 0;
}

@media (max-width: 1100px) and (min-width: 761px) {
    .hero-content { padding: clamp(22px, 3vw, 38px); }
    .home-middle .card-copy,
    .home-bottom .card-copy { padding: 14px; }
}
@media (max-width: 760px) {
    /* The hero needs extra height on phones so its complete text remains readable. */
    .hero { aspect-ratio: auto; min-height: 520px; }
    .home-middle .card-copy,
    .home-bottom .card-copy { padding: 14px 15px; }
    .home-middle .card h2 { font-size: clamp(18px, 5vw, 23px); }
    .home-bottom .small h3 { font-size: clamp(15px, 4vw, 18px); }
    .home-middle .author,
    .home-bottom .author { font-size: 12px; }
    header nav .primary-menu .sub-menu { right: auto; left: 0; }
}


/* Page template: all authors, presented as a responsive tile grid. */
.all-authors-page > article {
    max-width: 1100px;
}
.all-authors-page .authors-intro {
    margin: 0 0 26px;
}
.author-tiles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 28px;
}
.author-tile {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid var(--line);
    background: rgba(250,247,241,.72);
    transition: border-color .2s ease, transform .2s ease, background-color .2s ease;
}
.author-tile:hover {
    border-color: var(--accent);
    background: var(--white);
    transform: translateY(-2px);
}
.author-tile:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}
.author-tile-media {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-bottom: 1px solid var(--line);
    background: var(--paper2);
}
.author-tile-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .25s ease;
}
.author-tile:hover .author-tile-image {
    transform: scale(1.025);
}
.author-tile-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: var(--accent);
    background: linear-gradient(135deg, #e9dfd2, #d4c6b6);
    font-size: clamp(42px, 5vw, 76px);
}
.author-tile-copy {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
}
.author-tile-copy .kind {
    margin: 0 0 12px;
}
.author-tile-copy h2 {
    width: 100%;
    margin: 0 0 12px;
    font-size: clamp(22px, 2vw, 29px);
    font-weight: 500;
    line-height: 1.04;
    overflow-wrap: anywhere;
}
.author-tile-description {
    margin: 0 0 20px;
    color: #625b53;
    font-size: 15px;
    line-height: 1.5;
}
.author-tile-more {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin-top: auto;
    padding-top: 8px;
    color: var(--accent);
    font: 12px/1.3 Arial, sans-serif;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}
.author-tile-arrow {
    display: grid;
    flex: 0 0 32px;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--ink);
    font-size: 17px;
    letter-spacing: 0;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
.author-tile:hover .author-tile-arrow {
    border-color: var(--accent);
    background: var(--accent);
    color: #fff;
}
.authors-empty {
    margin-top: 26px;
    padding: 22px;
    border: 1px solid var(--line);
    color: var(--muted);
}
@media (max-width: 1000px) {
    .author-tiles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 560px) {
    .author-tiles {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
    .author-tile-copy {
        padding: 18px;
    }
    .author-tile-copy h2 {
        font-size: 25px;
    }
}

/* Application file type hints and accessible admin-facing controls. */
.pg-application-form small{display:block;font-family:Arial,sans-serif;font-size:12px;line-height:1.5;color:var(--muted);margin-top:7px}.pg-application-form input[type=file]{padding:10px;background:rgba(250,247,241,.65);max-width:100%}.pg-application-form .check{line-height:1.5}.pg-application-form .check input{width:auto}
