/* Portraits and bylines share the journal's parchment, warm ink and gold rules. */
.ember .team-heading{max-width:1180px;margin:0 auto;padding:60px 30px 38px}
.ember .team-heading h1{font:500 clamp(45px,5vw,68px)/1.1 var(--serif);margin:16px 0 22px;letter-spacing:-.035em}
.ember .team-heading h1 em{color:#875e2d;font-weight:400}
.ember .team-heading>p:last-child{max-width:660px;font:17px/1.75 var(--sans)}
.ember .team-grid{max-width:1180px;margin:0 auto 110px;padding:0 30px;display:grid;gap:38px}
.ember .team-card{display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid #c8b187;background:#f5ead4;position:relative}
.ember .team-card:before,.ember .article-author:before{content:'';position:absolute;top:-2px;left:28px;width:72px;height:3px;background:#a87934}
.ember .team-portrait-column{align-self:start;padding:18px}
.ember .team-portrait{display:block}
.ember .team-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}
.ember .team-copy{padding:32px 36px 34px 20px}
.ember .team-copy h2{font:500 40px/1.12 var(--serif);margin:14px 0 23px}
.ember .team-copy h2 a,.ember .article-author h2 a{color:inherit;text-decoration:none}
.ember .team-copy>p:not(.eyebrow),.ember .author-profile p:not(.eyebrow){font:16px/1.8 var(--sans);margin:0 0 18px}
.ember .team-copy .button{margin-top:7px;gap:18px;font-size:14px}
.ember .author-count{border-left:1px solid currentColor;padding-left:16px;font-size:12px}
.ember .author-profile{max-width:1180px;margin:0 auto;padding:55px 30px 50px;display:grid;grid-template-columns:310px minmax(0,1fr);gap:50px;align-items:start}
.ember .author-profile-portrait{border:1px solid #bda479;padding:8px;background:#f8edda}
.ember .author-profile img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:cover}
.ember .team-back{display:inline-block;margin-bottom:25px;font-size:14px;text-underline-offset:5px}
.ember .author-profile h1{font:500 clamp(38px,4vw,56px)/1.12 var(--serif);margin:16px 0 24px;letter-spacing:-.025em}
.ember .author-profile .quiet-link{display:inline-block;margin-top:12px}
.ember .author-collection{max-width:1180px;margin:0 auto 110px;padding:35px 30px 0;border-top:1px solid #c8b187;scroll-margin-top:25px}
.ember .author-collection-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}
.ember .author-collection h2{font:500 clamp(30px,3vw,40px)/1.2 var(--serif);margin:12px 0 0}
.ember .author-collection-heading>a{white-space:nowrap;font-size:14px;text-underline-offset:5px}
.ember .author-collection .journal-card h3{font:600 27px/1.2 var(--serif);margin:12px 0 16px;letter-spacing:-.02em}
.ember .author-collection .journal-card h3 a{color:#413222;text-decoration:none}
.ember .article-author{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;position:relative;max-width:760px;margin:48px 0 0;padding:28px;border:1px solid #bea67b;background:#f2e5cb;scroll-margin-top:25px}
.ember .author-portrait img{display:block;width:96px;height:96px;object-fit:cover;border-radius:50%;border:3px solid #fcf3df}
.ember .article-body .article-author .eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#866232;margin:0 0 8px}
.ember .article-body .article-author h2{font:500 28px/1.2 var(--serif);margin:0 0 12px}
.ember .article-body .article-author p:not(.eyebrow){font:15px/1.75 var(--sans);margin:0 0 15px}
.ember .article-author .author-articles-link{font:600 14px/1.6 var(--sans);text-underline-offset:5px}
.ember .article-meta a{color:inherit;text-underline-offset:4px}
.ember .journal-team-link{font-size:15px;text-underline-offset:5px;display:inline-block;margin-top:14px}
.ember .journal-card .journal-byline{font-size:13px;margin:0 0 18px;color:#71583a}
.ember :is(.team-grid,.author-profile,.author-collection,.article-author) a:focus-visible{outline:3px solid #805626;outline-offset:4px}
@media(max-width:760px){.ember .team-heading{padding:38px 22px 28px}.ember .team-grid{padding:0 20px;margin-bottom:70px;gap:28px}.ember .team-card{grid-template-columns:1fr}.ember .team-portrait-column{max-width:320px;width:100%;padding:18px 18px 0}.ember .team-copy{padding:24px}.ember .team-copy h2{font-size:35px}.ember .author-profile{display:block;padding:32px 22px 35px}.ember .author-profile-portrait{max-width:290px;margin-bottom:28px}.ember .author-profile h1{font-size:40px}.ember .author-collection{padding:30px 20px 0;margin-bottom:70px}.ember .author-collection-heading{align-items:start;flex-direction:column}.ember .article-author{grid-template-columns:64px minmax(0,1fr);gap:16px;padding:22px 18px}.ember .author-portrait img{width:64px;height:64px}.ember .article-body .article-author h2{font-size:25px}}
@media(max-width:420px){.ember .article-author{grid-template-columns:1fr}.ember .team-copy .button{gap:10px;padding:12px 15px}.ember .author-count{padding-left:10px}}

.ember .team-heading>p:last-child{max-width:900px}
.ember .party-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1180px;margin:0 auto 44px;padding:0 30px}
.ember .party-mini-card{position:relative;min-width:0;padding:25px 26px 24px;border:1px solid #c8b187;background:#f5ead480}
.ember .party-mini-card:before{content:'';position:absolute;top:-2px;left:25px;width:48px;height:3px;background:#a87934}
.ember .party-mini-card .eyebrow{font-size:10px;line-height:1.5;letter-spacing:.13em;color:#866232;margin:0 0 12px}
.ember .party-mini-card h2{font:500 31px/1.15 var(--serif);margin:0 0 13px;color:#443021}
.ember .party-mini-card p:not(.eyebrow){font:15px/1.7 var(--sans);margin:0;color:#655037}
@media(max-width:760px){.ember .party-mini-grid{grid-template-columns:1fr;padding:0 20px;gap:16px;margin-bottom:30px}.ember .party-mini-card{padding:22px 24px}.ember .party-mini-card h2{font-size:29px}}

/* Compact campaign roster follows all team biographies. */
.ember .team-grid{margin-bottom:34px}
.ember .party-campaign{max-width:1120px;margin:0 auto 100px;padding:23px 28px 24px;border:1px solid #c8b187;background:#f5ead480;position:relative}
.ember .party-campaign:before{content:'';position:absolute;top:-2px;left:28px;width:48px;height:3px;background:#a87934}
.ember .party-campaign-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.ember .party-campaign .eyebrow{font-size:10px;letter-spacing:.14em;color:#866232;margin:0 0 8px}
.ember .party-campaign h2{font:500 clamp(26px,2.8vw,33px)/1.15 var(--serif);margin:0;color:#443021;letter-spacing:-.025em}
.ember .party-campaign h2 em{color:#875e2d;font-weight:400}
.ember .party-level{display:inline-block;white-space:nowrap;padding:6px 11px;border:1px solid #c8b187;border-radius:3px;font:600 12px/1.4 var(--sans);color:#725329;background:#e8d7b4}
.ember .party-campaign-summary{font:15px/1.65 var(--sans);margin:12px 0 0;color:#655037}
.ember .party-roster{list-style:none;padding:18px 0 0;margin:18px 0 0;border-top:1px solid #c8b187;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.ember .party-roster li{min-width:0;padding:0;margin:0}
.ember .party-roster h3{font:500 23px/1.2 var(--serif);margin:0 0 9px;color:#443021}
.ember .party-roster .party-class{font:600 13px/1.45 var(--sans);margin:0 0 8px;color:#594128}
.ember .party-roster .party-class:last-child{margin-bottom:0}
.ember .party-class span{display:block;font-weight:400;font-size:12px;color:#7a6345}
@media(max-width:1180px){.ember .party-campaign{margin-left:30px;margin-right:30px}}
@media(max-width:760px){.ember .team-grid{margin-bottom:28px}.ember .party-campaign{margin:0 20px 65px;padding:21px 20px}.ember .party-campaign-heading{align-items:start;flex-wrap:wrap;gap:12px}.ember .party-level{padding:4px 9px;font-size:11px}.ember .party-roster{display:block;padding-top:6px;margin-top:16px}.ember .party-roster li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #d8c5a3}.ember .party-roster li:last-child{border-bottom:0;padding-bottom:0}.ember .party-roster h3{font-size:21px;margin:0}.ember .party-build{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ember .party-roster .party-class{margin:0}.ember .party-campaign-summary{font-size:14px}}

.ember .party-build>.party-class:only-child{grid-column:1/-1}

/* Personal dice picks sit directly beneath the writer portraits. */
.ember .author-favourite{margin-top:14px;padding:13px 2px 4px;border-top:1px solid #cfb88d}
.ember .favourite-label{display:block;margin-bottom:6px;font:600 10px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#866232}
.ember .author-favourite>a{display:inline-block;color:#55391f;font:500 22px/1.25 var(--serif);text-decoration:none}
.ember .author-favourite>a span{font:18px var(--sans);display:inline-block;margin-left:4px;color:#946b32}
.ember .author-favourite>a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.ember .author-profile-portrait .author-favourite{margin:14px 5px 4px}
