:root{--paper:#f4f0e7;--ink:#191816;--muted:#6e695f;--line:#c9c1b3;--soft:#e7e0d3;--max:1480px;color-scheme:light}
[data-theme="dark"]{--paper:#171714;--ink:#eee8dc;--muted:#aaa397;--line:#454139;--soft:#26241f;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;transition:.25s background,.25s color}.wrap{width:min(var(--max),calc(100% - 64px));margin:auto}.site-header{min-height:112px;display:grid;grid-template-columns:1fr auto 48px;align-items:center;gap:38px;border-bottom:1px solid var(--line)}.wordmark{font-size:29px;text-decoration:none;color:inherit;line-height:.95}.wordmark span{display:block;font-size:12px;font-style:italic;letter-spacing:.08em;color:var(--muted);margin-top:9px}nav{display:flex;gap:35px}nav a,.portal a{color:inherit;text-decoration:none}nav a:hover,.portal a:hover{text-decoration:underline;text-underline-offset:5px}.theme-toggle{border:0;background:none;color:inherit;font-size:25px;cursor:pointer}.hero{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);gap:64px;min-height:610px;padding-top:48px;padding-bottom:48px;align-items:center}.placeholder{background:linear-gradient(135deg,var(--soft),transparent),repeating-linear-gradient(45deg,transparent,transparent 12px,var(--line) 13px);display:grid;place-items:center;color:var(--muted);letter-spacing:.18em;font:10px Arial,sans-serif}.portrait{height:510px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font:10px Arial,sans-serif;color:var(--muted)}h1{font-weight:400;font-size:clamp(54px,5vw,82px);line-height:.94;letter-spacing:-.035em;margin:30px 0}.rule{width:34px;border-top:1px solid var(--ink);margin:40px 0}.lede{font-size:20px;line-height:1.5;max-width:430px}.surreal{height:500px;position:relative}.orb{position:absolute;width:180px;height:180px;border-radius:50%;right:25px;top:0;background:radial-gradient(circle at 38% 38%,var(--paper) 0 10%,var(--line) 11% 15%,var(--soft) 45%,var(--line));opacity:.8}.thread{position:absolute;right:114px;top:170px;height:230px;border-left:1px solid var(--ink);transform:rotate(-4deg)}.surreal p{position:absolute;top:235px;left:0;font-style:italic;line-height:1.45;color:var(--muted);transform:rotate(-5deg)}.stone{position:absolute;right:0;bottom:0;width:190px;height:115px;background:var(--ink);clip-path:polygon(4% 100%,13% 55%,34% 42%,43% 17%,64% 31%,76% 4%,100% 18%,100% 100%);opacity:.78}.portals{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0 48px}.portal{padding:0 26px;border-right:1px solid var(--line)}.portal:first-child{padding-left:0}.portal:last-child{border-right:0;padding-right:0}.thumb{height:220px;margin-bottom:24px}.portal h2{text-transform:uppercase;letter-spacing:.12em;font-size:17px;font-weight:400;margin:0 0 7px}.portal em{color:var(--muted);font-size:14px}.portal p{font-size:16px;line-height:1.5;min-height:120px;margin:28px 0}.portal a{font-size:15px;border-bottom:1px solid var(--line);padding-bottom:3px}.afterword{min-height:230px;display:flex;align-items:center;justify-content:space-between;gap:60px}.quote{font-size:25px;font-style:italic;max-width:650px}.small{max-width:330px;color:var(--muted);font-size:13px;line-height:1.5}footer{border-top:1px solid var(--line);min-height:100px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px}
@media(max-width:950px){.site-header{grid-template-columns:1fr 40px}nav{display:none}.hero{grid-template-columns:1fr 1fr}.surreal{display:none}.portals{grid-template-columns:1fr 1fr;gap:40px 0}.portal:nth-child(2){border-right:0}.portal:nth-child(3),.portal:nth-child(4){border-top:1px solid var(--line);padding-top:35px}.portal p{min-height:auto}}
@media(max-width:650px){.wrap{width:min(100% - 32px,var(--max))}.site-header{min-height:90px}.wordmark{font-size:23px}.hero{display:block;padding-top:25px}.portrait{height:60vh;max-height:480px}.intro{padding:35px 0}h1{font-size:52px}.lede{font-size:18px}.portals{display:block}.portal{border-right:0;border-bottom:1px solid var(--line);padding:30px 0}.portal:first-child{padding-top:0}.portal:last-child{border-bottom:0}.thumb{height:240px}.afterword{display:block;padding:55px 0}.quote{font-size:21px}.small{margin-top:35px}footer{font-size:11px}}
/* October 2026 content revision */
.poem{font-size:clamp(34px,3.35vw,58px);line-height:1.08;letter-spacing:-.028em;margin:0 0 34px}
.portal-image{display:block;text-decoration:none;color:inherit}
.portal h2 a{color:inherit;text-decoration:none}.portal h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.portal-kicker{text-transform:uppercase;letter-spacing:.16em;font:11px Arial,sans-serif;color:var(--muted);margin-top:9px}
.portal p{min-height:104px;margin:24px 0}
.afterword{min-height:300px;justify-content:flex-start}.quote{font-size:20px;line-height:1.55;max-width:980px;margin:0}.quote cite{display:block;margin-top:18px;font-size:14px;font-style:normal;color:var(--muted)}
footer{justify-content:flex-start}
.page{padding:72px 0 100px;min-height:calc(100vh - 212px)}.page>h1{margin:16px 0 55px}.page-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(340px,1fr);gap:70px;align-items:start}.page-photo{height:520px}.page-copy,.narrow-copy{font-size:19px;line-height:1.65;max-width:720px}.prompt{border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-style:italic}
@media(max-width:1100px){nav{gap:20px}.site-header{gap:24px}.hero{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:44px}}
@media(max-width:950px){.page-grid{grid-template-columns:1fr}.page-photo{height:430px;max-width:620px}}
@media(max-width:650px){.poem{font-size:38px}.afterword{padding:55px 0}.quote{font-size:18px}.page{padding:45px 0 70px}.page>h1{margin-bottom:35px}.page-photo{height:60vh;max-height:480px}}

/* Keep the homepage poem as an intentional four-line stanza. */
.poem span{display:block;white-space:nowrap}
@media(max-width:1250px){.poem{font-size:clamp(30px,3vw,48px)}}
@media(max-width:650px){.poem span{white-space:normal}.poem{font-size:38px;line-height:1.12}}

/* Keep the four-line poem inside its own grid column; never overlap the photo. */
.intro{min-width:0}
.poem{max-width:100%;font-size:clamp(30px,2.75vw,44px);line-height:1.1}
@media(max-width:1250px){
  .hero{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:44px}
  .poem{font-size:clamp(30px,3.2vw,42px)}
}
@media(max-width:650px){
  .poem{font-size:38px;line-height:1.12}
  .poem span{white-space:normal}
}

/* Homepage hero: one main photograph on the left, poem/introduction on the right. */

/* October 19, 2026: real homepage photography and uniform section thumbnails. */
.hero-photo{
  width:100%;
  height:510px;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.portal-figure{
  position:relative;
  width:100%;
  aspect-ratio:4 / 3;
  margin:0 0 24px;
  overflow:hidden;
  background:var(--soft);
}
.portal-image{
  display:block;
  width:100%;
  height:100%;
}
.thumb{
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
  object-position:center;
}
.thumb-kite{object-position:center 44%}
.portal-figure-language{background:#fff}
.thumb-language{
  object-fit:contain;
  object-position:center;
  padding:10px;
}
.photo-credit{
  position:absolute;
  right:7px;
  bottom:7px;
  z-index:2;
  padding:4px 6px;
  background:rgba(244,240,231,.90);
  color:#191816;
  font:9px/1.25 Arial,sans-serif;
  letter-spacing:.02em;
}
.photo-credit a{color:inherit;text-underline-offset:2px}
@media(max-width:650px){
  .hero-photo{height:60vh;max-height:480px}
  .portal-figure{aspect-ratio:4 / 3}
}

/* October 19, 2026: real homepage photography and uniform section thumbnails. */
.hero-photo{
  width:100%;
  height:510px;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.portal-figure{
  position:relative;
  width:100%;
  aspect-ratio:4 / 3;
  margin:0 0 24px;
  overflow:hidden;
  background:var(--soft);
}
.portal-image{
  display:block;
  width:100%;
  height:100%;
}
.thumb{
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
  object-position:center;
}
.thumb-kite{object-position:center 44%}
.portal-figure-language{background:#fff}
.thumb-language{
  object-fit:contain;
  object-position:center;
  padding:10px;
}
.photo-credit{
  position:absolute;
  right:7px;
  bottom:7px;
  z-index:2;
  padding:4px 6px;
  background:rgba(244,240,231,.90);
  color:#191816;
  font:9px/1.25 Arial,sans-serif;
  letter-spacing:.02em;
}
.photo-credit a{color:inherit;text-underline-offset:2px}
@media(max-width:650px){
  .hero-photo{height:60vh;max-height:480px}
  .portal-figure{aspect-ratio:4 / 3}
}

/* October 19: preserve more of the Paris portrait and keep homepage cards on one visual baseline. */
.hero-photo{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
  align-self:center;
}
/* Equal horizontal insets keep every 4:3 thumbnail exactly the same footprint. */
.portals .portal,
.portals .portal:first-child,
.portals .portal:last-child{
  padding-left:20px;
  padding-right:20px;
}
.portal-figure{
  width:100%;
  aspect-ratio:4 / 3;
  margin-bottom:24px;
}
.portal h2{
  min-height:21px;
}
@media(max-width:950px){
  .portals .portal,
  .portals .portal:first-child,
  .portals .portal:last-child{padding-left:22px;padding-right:22px}
}
@media(max-width:650px){
  .hero-photo{height:auto;max-height:none}
  .portals .portal,
  .portals .portal:first-child,
  .portals .portal:last-child{padding-left:0;padding-right:0}
}

/* October 19: compact above-the-fold hero so the section thumbnails peek into the first viewport. */
.hero{
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
  gap:56px;
  min-height:430px;
  padding-top:26px;
  padding-bottom:30px;
}
.hero-photo{
  width:min(100%,320px);
  height:auto;
  justify-self:center;
}
.portals{
  padding-top:28px;
}
@media(max-width:1100px){
  .hero{grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:40px;min-height:420px}
  .hero-photo{width:min(100%,290px)}
}
@media(max-width:950px){
  .hero{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);min-height:410px}
  .hero-photo{width:min(100%,270px)}
}
@media(max-width:650px){
  .hero{display:block;min-height:0;padding-top:24px;padding-bottom:30px}
  .hero-photo{width:min(76vw,300px);margin:0 auto}
  .intro{padding:28px 0 0}
  .portals{padding-top:24px}
}

/* October 19: understated hover-only photographer credit. */
.photo-credit{
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease, visibility .18s ease;
  font:9px/1.25 Arial,sans-serif;
  letter-spacing:.02em;
}
.portal-figure:hover .photo-credit,
.portal-figure:focus-within .photo-credit{
  opacity:1;
  visibility:visible;
}
.photo-credit a{
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
}
@media (hover:none), (pointer:coarse){
  .photo-credit{
    opacity:1;
    visibility:visible;
  }
}

/* October 19: warm grey frames unify the four homepage thumbnails. */
.portal-figure{
  border:1px solid #aaa397;
}
[data-theme="dark"] .portal-figure{
  border-color:#6e695f;
}

/* October 19: substantial uniform warm-grey frames around homepage thumbnails. */
.portal-figure{
  border:7px solid #aaa397;
  box-sizing:border-box;
  background:#aaa397;
}
[data-theme="dark"] .portal-figure{
  border-color:#777064;
  background:#777064;
}

/* October 19: let the Conlangs artwork sit within a full white mat, while keeping the outer frame identical to the other cards. */
.thumb-language{
  padding:0;
  background:#fff;
  object-fit:contain;
  object-position:center;
}
.portal-figure-language{
  background:#fff;
}

/* October 19: align the homepage card calls-to-action on one baseline. */
.portals .portal{
  display:flex;
  flex-direction:column;
}
.portals .portal > p{
  flex:1 0 auto;
}
.portals .portal > a:last-child{
  margin-top:auto;
  align-self:flex-start;
}
@media(max-width:950px){
  .portals .portal > p{flex:0 0 auto}
  .portals .portal > a:last-child{margin-top:0}
}

/* October 19: give the opening hero a little more presence without losing the thumbnail preview below. */
.hero{
  grid-template-columns:minmax(270px,.78fr) minmax(0,1.22fr);
  gap:60px;
  min-height:455px;
  padding-top:32px;
  padding-bottom:38px;
}
.hero-photo{
  width:min(100%,350px);
}
.portals{
  padding-top:34px;
}
@media(max-width:1100px){
  .hero{grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:44px;min-height:440px;padding-top:30px;padding-bottom:34px}
  .hero-photo{width:min(100%,320px)}
  .portals{padding-top:30px}
}
@media(max-width:950px){
  .hero{grid-template-columns:minmax(225px,.82fr) minmax(0,1.18fr);min-height:425px}
  .hero-photo{width:min(100%,292px)}
}
@media(max-width:650px){
  .hero{display:block;min-height:0;padding-top:26px;padding-bottom:34px}
  .hero-photo{width:min(80vw,320px);margin:0 auto}
  .intro{padding:30px 0 0}
  .portals{padding-top:26px}
}

/* October 19: final hero nudge — slightly larger portrait and a touch more breathing room before the cards. */
.hero{
  grid-template-columns:minmax(285px,.8fr) minmax(0,1.2fr);
  gap:62px;
  min-height:480px;
  padding-top:34px;
  padding-bottom:44px;
}
.hero-photo{
  width:min(100%,370px);
}
.portals{
  padding-top:38px;
}
@media(max-width:1100px){
  .hero{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:46px;min-height:460px;padding-top:32px;padding-bottom:40px}
  .hero-photo{width:min(100%,338px)}
  .portals{padding-top:34px}
}
@media(max-width:950px){
  .hero{grid-template-columns:minmax(235px,.84fr) minmax(0,1.16fr);min-height:440px}
  .hero-photo{width:min(100%,305px)}
}
@media(max-width:650px){
  .hero{display:block;min-height:0;padding-top:28px;padding-bottom:40px}
  .hero-photo{width:min(82vw,335px);margin:0 auto}
  .intro{padding:32px 0 0}
  .portals{padding-top:30px}
}

/* October 19: give the opening poem a lighter, more lyrical identity. */
.poem{
  font-family:'Avenir Next',Avenir,'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-style:italic;
  font-weight:300;
  line-height:1.18;
  letter-spacing:.006em;
}
.poem span:nth-child(2),
.poem span:nth-child(4){
  padding-left:clamp(28px,3.2vw,54px);
}
@media(max-width:950px){
  .poem span:nth-child(2),
  .poem span:nth-child(4){padding-left:28px}
}
@media(max-width:650px){
  .poem{line-height:1.2;letter-spacing:0}
  .poem span:nth-child(2),
  .poem span:nth-child(4){padding-left:20px}
}

/* October 19: warm moss-green accent palette. */
:root{
  --accent:#46583d;
  --accent-soft:#dfe3d7;
}
[data-theme="dark"]{
  --accent:#a7b58d;
  --accent-soft:#30382b;
}
::selection{background:var(--accent-soft);color:var(--ink)}
.wordmark{color:var(--accent)}
.wordmark span{color:var(--muted)}
nav a{transition:color .16s ease}
nav a:hover,
nav a:focus-visible{color:var(--accent)}
.theme-toggle{color:var(--accent)}
.rule{
  width:42px;
  border-top:2px solid var(--accent);
}
.eyebrow{color:var(--accent)}
.portal h2,
.portal h2 a{color:var(--accent)}
.portal-kicker{color:var(--accent)}
.portals .portal > a:last-child{
  color:var(--accent);
  border-bottom-color:var(--accent);
}
.quote cite{color:var(--accent)}
main a:not(.portal-image):not(.wordmark){text-decoration-color:var(--accent)}
a:focus-visible,
button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:4px;
}

/* October 19: make the forest green a visible structural color, not just a typographic accent. */
:root{
  --accent:#244b38;
  --accent-soft:#d8e1da;
  --header-green:#244b38;
  --header-ink:#f4f0e7;
  --header-muted:#d7d5c8;
}
[data-theme="dark"]{
  --accent:#9db89f;
  --accent-soft:#2a3a30;
  --header-green:#1d3d2e;
  --header-ink:#f3eee4;
  --header-muted:#c9cdbf;
}
.site-header{
  position:relative;
  border-bottom:0;
  color:var(--header-ink);
  z-index:0;
}
.site-header::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:var(--header-green);
}
.site-header .wordmark,
.site-header nav a,
.site-header .theme-toggle{
  color:var(--header-ink);
}
.site-header .wordmark span{
  color:var(--header-muted);
}
.site-header nav a:hover,
.site-header nav a:focus-visible{
  color:#fff;
  text-decoration-color:var(--header-muted);
}
.site-header a:focus-visible,
.site-header button:focus-visible{
  outline-color:var(--header-ink);
}
/* Keep the light hero intact; use forest-green rules to tie it to the header. */
.portals{
  border-top:2px solid var(--accent);
  border-bottom:2px solid var(--accent);
}
.portal{
  border-right-color:var(--accent);
}
footer{
  border-top:2px solid var(--accent);
}


/* October 19: full-bleed forest footer and Bloch epigraph treatment. */
footer{
  position:relative;
  z-index:0;
  border-top:0;
  color:var(--header-ink);
}
footer::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:var(--header-green);
}
.bloch-quote{
  font-family:'Avenir Next',Avenir,'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-style:normal;
  font-weight:300;
  letter-spacing:.004em;
}
.bloch-quote > em{
  font-style:italic;
  font-weight:300;
}
.bloch-quote cite{
  font-family:'Avenir Next',Avenir,'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-style:normal;
}
.bloch-quote cite em{font-style:italic}

/* October 19: dark forest thumbnail band + stronger Bloch legibility. */
.portals{
  position:relative;
  z-index:0;
  color:var(--header-ink);
  border-top:0;
  border-bottom:0;
  padding-top:42px;
  padding-bottom:50px;
}
.portals::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:var(--header-green);
}
.portals .portal{
  border-right-color:rgba(244,240,231,.42);
}
.portals .portal h2,
.portals .portal h2 a,
.portals .portal-kicker,
.portals .portal > p,
.portals .portal > a:last-child{
  color:var(--header-ink);
}
.portals .portal-kicker{
  color:var(--header-muted);
}
.portals .portal > a:last-child{
  border-bottom-color:rgba(244,240,231,.62);
}
.portals .portal h2 a:hover,
.portals .portal > a:last-child:hover{
  color:#fff;
  text-decoration-color:var(--header-muted);
}
.portals a:focus-visible{
  outline-color:var(--header-ink);
}
@media(max-width:950px){
  .portals .portal:nth-child(3),
  .portals .portal:nth-child(4){
    border-top-color:rgba(244,240,231,.42);
  }
}
@media(max-width:650px){
  .portals .portal{
    border-bottom-color:rgba(244,240,231,.42);
  }
}

.bloch-quote{
  color:#171714;
  font-weight:400;
}
.bloch-quote > em{font-weight:400}
.bloch-quote cite{
  color:#4f4a42;
  font-weight:400;
}
[data-theme="dark"] .bloch-quote{color:var(--ink)}
[data-theme="dark"] .bloch-quote cite{color:var(--muted)}


/* October 19: About-page photograph. */
.about-photo{
  width:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

/* October 19: show the full Marshall's Beach portrait on the About page without cropping. */
.about-photo{
  height:auto;
  object-fit:contain;
  object-position:center center;
}

/* October 19: smaller opening poem on phone-sized screens only. */
@media(max-width:650px){
  .poem{
    font-size:29px;
    line-height:1.22;
  }
}

/* October 19: keep the full navigation accessible on tablet and mobile. */
@media(max-width:950px){
  .site-header{
    grid-template-columns:1fr 40px;
    grid-template-rows:auto auto;
    min-height:0;
    padding-top:20px;
    padding-bottom:18px;
    row-gap:16px;
  }
  .site-header nav{
    display:flex;
    grid-column:1 / -1;
    grid-row:2;
    flex-wrap:wrap;
    gap:10px 22px;
    align-items:center;
  }
  .site-header .theme-toggle{
    grid-column:2;
    grid-row:1;
  }
}
@media(max-width:650px){
  .site-header{
    padding-top:17px;
    padding-bottom:16px;
    row-gap:14px;
  }
  .site-header nav{
    gap:9px 17px;
  }
  .site-header nav a{
    font-size:13px;
    line-height:1.25;
  }
}

/* October 19: interior-page navigation, scholarship documents, and contact links. */
.site-header nav a[aria-current="page"]{
  text-decoration:underline;
  text-underline-offset:6px;
  text-decoration-thickness:1px;
}
.scholarship-page{
  max-width:1180px;
}
.scholarship-intro{
  max-width:900px;
  font-size:20px;
  line-height:1.7;
}
.scholarship-intro p{
  margin:0 0 1.25em;
}
.scholarship-intro a,
.document-section a,
.contact-page a{
  color:inherit;
  text-decoration-color:var(--accent);
  text-underline-offset:4px;
}
.document-section{
  max-width:900px;
  margin-top:72px;
  padding-top:34px;
  border-top:1px solid var(--line);
}
.document-section h2{
  margin:0 0 28px;
  font-size:25px;
  line-height:1.35;
  font-weight:400;
}
.document-kicker{
  margin:0 0 16px;
  color:var(--muted);
  font-size:14px;
  letter-spacing:.035em;
}
.document-preview-link{
  display:block;
  width:min(100%,680px);
  text-decoration:none;
}
.document-preview{
  display:block;
  width:100%;
  height:auto;
  border:7px solid #aaa397;
  background:#fff;
  box-shadow:0 10px 28px rgba(25,24,22,.08);
  transition:transform .16s ease, box-shadow .16s ease;
}
.document-preview-link:hover .document-preview,
.document-preview-link:focus-visible .document-preview{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(25,24,22,.13);
}
[data-theme="dark"] .document-preview{
  border-color:#777064;
  box-shadow:0 10px 28px rgba(0,0,0,.25);
}
.contact-copy{
  max-width:920px;
}
.contact-email{
  margin:0 0 48px;
  font-size:clamp(22px,2.2vw,31px);
  line-height:1.45;
}
.social-links{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}
.social-link{
  width:148px;
  min-height:148px;
  padding:20px 14px 16px;
  border:1px solid var(--line);
  border-radius:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--ink);
  text-decoration:none;
  text-align:center;
  background:var(--paper);
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.social-link:hover,
.social-link:focus-visible{
  transform:translateY(-2px);
  border-color:var(--accent);
  background:var(--accent-soft);
}
.social-mark{
  width:52px;
  height:52px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:var(--header-green);
  color:var(--header-ink);
  font:600 25px/1 'Avenir Next',Avenir,'Helvetica Neue',Helvetica,Arial,sans-serif;
}
.social-mark-instagram{
  font-size:34px;
  font-weight:300;
}
.social-mark-linkedin{
  font-size:23px;
  letter-spacing:-.04em;
}
.social-link > span:not(.social-mark){
  font:600 13px/1.2 'Avenir Next',Avenir,'Helvetica Neue',Helvetica,Arial,sans-serif;
}
.social-link small{
  color:var(--muted);
  font:11px/1.25 'Avenir Next',Avenir,'Helvetica Neue',Helvetica,Arial,sans-serif;
}
@media(max-width:650px){
  .scholarship-intro{font-size:18px;line-height:1.65}
  .document-section{margin-top:52px;padding-top:26px}
  .document-section h2{font-size:21px}
  .document-preview{border-width:5px}
  .contact-email{margin-bottom:36px;font-size:22px}
  .social-links{gap:12px}
  .social-link{width:calc(50% - 6px);min-height:136px}
}

/* October 20: expanded Creative Work archive. */
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.creative-page{max-width:1180px}
.creative-intro{
  max-width:900px;
  font-size:20px;
  line-height:1.7;
}
.creative-intro p{margin:0 0 1.25em}
.creative-section{
  margin-top:84px;
  padding-top:38px;
  border-top:1px solid var(--line);
}
.creative-section > h2{
  margin:0 0 46px;
  font-size:clamp(34px,3.4vw,50px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.025em;
}
.publication-group{margin:0 0 78px}
.publication-group:last-child{margin-bottom:0}
.publication-kicker{
  margin:0 0 24px;
  color:var(--muted);
  font:600 13px/1.35 'Avenir Next',Avenir,'Helvetica Neue',Helvetica,Arial,sans-serif;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.column-note{
  margin:-8px 0 28px;
  font-size:17px;
  line-height:1.5;
  color:var(--muted);
}
.column-note a{color:inherit;text-underline-offset:4px;text-decoration-color:var(--accent)}
.works-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:48px 34px;
}
.works-grid-single{grid-template-columns:minmax(0,620px)}
.work-card{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.work-card-copy{
  display:flex;
  flex-direction:column;
  min-height:128px;
  margin-bottom:16px;
}
.work-card h3{
  margin:0 0 14px;
  font-size:21px;
  line-height:1.35;
  font-weight:400;
}
.work-action{
  margin-top:auto;
  align-self:flex-start;
  color:inherit;
  font-size:15px;
  text-underline-offset:4px;
  text-decoration-color:var(--accent);
}
.work-thumb-frame{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  overflow:hidden;
  border:6px solid #aaa397;
  background:#fff;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(25,24,22,.06);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.work-thumb-frame:hover,
.work-thumb-frame:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(25,24,22,.12);
  border-color:var(--accent);
}
.work-thumb{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.work-thumb-contain{
  object-fit:contain;
  background:#fff;
}
.work-photo-credit{
  position:absolute;
  right:7px;
  bottom:7px;
  padding:5px 7px;
  background:rgba(244,240,231,.92);
  color:#191816;
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease,visibility .18s ease;
  font:9px/1.25 Arial,sans-serif;
  letter-spacing:.02em;
}
.work-thumb-credit-frame:hover .work-photo-credit,
.work-thumb-credit-frame:focus-visible .work-photo-credit{
  opacity:1;
  visibility:visible;
}
.work-card-poetry-missing{max-width:620px}
.missing-asset-note{
  color:var(--muted);
  text-decoration:none;
  font-style:italic;
}
.work-thumb-placeholder{
  display:grid;
  place-items:center;
  min-height:240px;
  background:linear-gradient(135deg,var(--soft),var(--paper));
  color:var(--ink);
  text-align:center;
}
.work-thumb-placeholder:hover,
.work-thumb-placeholder:focus-visible{
  transform:none;
  border-color:#aaa397;
  box-shadow:0 8px 24px rgba(25,24,22,.06);
}
.work-thumb-placeholder span{
  display:block;
  font-size:30px;
  line-height:1.1;
}
.work-thumb-placeholder small{
  display:block;
  margin-top:12px;
  color:var(--muted);
  font:12px/1.4 'Avenir Next',Avenir,'Helvetica Neue',Helvetica,Arial,sans-serif;
  letter-spacing:.04em;
}
[data-theme="dark"] .work-thumb-frame{
  border-color:#777064;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
}
[data-theme="dark"] .work-thumb-frame:hover,
[data-theme="dark"] .work-thumb-frame:focus-visible{border-color:var(--accent)}
@media (hover:none),(pointer:coarse){
  .work-photo-credit{opacity:1;visibility:visible}
}
@media(max-width:800px){
  .works-grid{grid-template-columns:1fr;gap:44px}
  .works-grid-single{grid-template-columns:1fr}
  .work-card{max-width:680px}
  .work-card-copy{min-height:0;margin-bottom:14px}
}
@media(max-width:650px){
  .creative-intro{font-size:18px;line-height:1.65}
  .creative-section{margin-top:60px;padding-top:28px}
  .creative-section > h2{margin-bottom:34px;font-size:34px}
  .publication-group{margin-bottom:58px}
  .publication-kicker{font-size:12px;margin-bottom:20px}
  .work-card h3{font-size:19px}
  .work-thumb-frame{border-width:5px}
  .work-thumb-placeholder span{font-size:25px}
}

/* October 20: tighten Creative Work item clusters and use a page-shaped poetry preview. */
.work-card-copy{
  min-height:0;
  margin-bottom:10px;
}
.work-card h3{
  margin-bottom:6px;
}
.work-action{
  margin-top:0;
}
.work-thumb-frame{
  margin-top:2px;
}
.work-card-document{
  width:min(100%,400px);
}
.work-thumb-frame-document{
  width:100%;
  aspect-ratio:auto;
  overflow:visible;
}
.work-thumb-document{
  width:100%;
  height:auto;
  object-fit:contain;
  background:#fff;
}
@media(max-width:650px){
  .work-card-document{width:min(100%,340px)}
}


/* October 20: Creative Work hierarchy/alignment refinements. */
.publication-kicker{
  font-size:17px;
  line-height:1.4;
  letter-spacing:.035em;
}
.works-grid-cu .work-card{
  display:grid;
  grid-template-rows:1fr auto;
}
.works-grid-cu .work-card-copy{
  align-self:start;
}
.works-grid-cu .work-thumb-frame{
  align-self:end;
}
@media(max-width:800px){
  .works-grid-cu .work-card{display:flex}
}
@media(max-width:650px){
  .publication-kicker{font-size:15px;line-height:1.45}
}

/* October 20: scale the Phase Change preview up and equalize Duke Magazine/CU Independent card widths. */
.work-card-document{
  width:min(100%,620px);
}
.works-grid-single{
  grid-template-columns:minmax(0,calc((100% - 34px) / 2));
}
@media(max-width:800px){
  .works-grid-single{grid-template-columns:1fr}
}
@media(max-width:650px){
  .work-card-document{width:min(100%,600px)}
}
