
:root{--paper:#f3eee4;--ink:#28231f;--muted:#756d63;--line:#bfb5a7;--card:#f8f4eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif}button{font:inherit;color:inherit}nav{display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;background:rgba(243,238,228,.96);backdrop-filter:blur(10px)}.brand span{display:block;font-size:27px}.brand small{display:block;font:10px Arial,sans-serif;letter-spacing:.34em;margin-top:4px}.navlinks{display:flex;gap:28px;align-items:center}.navlinks a{text-decoration:none;font-size:15px}.rabbit{border:1px solid var(--ink);background:none;padding:9px 12px;font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.hero{min-height:82vh;padding:6vw 7vw 7vw;display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center}.eyebrow{font:11px Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}h1,h2{font-weight:400}.hero h1{font-size:clamp(48px,6vw,92px);line-height:.94;margin:.18em 0 .45em}.heroquote{font-size:clamp(18px,1.8vw,27px);line-height:1.48}.heroquote small,.source{display:block;margin-top:22px;font:11px Arial,sans-serif;letter-spacing:.1em;color:var(--muted)}.hero-art{margin:0}.hero-art img{display:block;width:100%;max-height:68vh;object-fit:contain}.hero-art figcaption,.alice-grid figcaption{font-size:11px;font-style:italic;text-align:right;color:var(--muted);margin-top:7px}section{padding:7vw;border-top:1px solid var(--line)}.head{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;margin-bottom:42px}.head h2{font-size:clamp(45px,5vw,76px);margin:0}.intro{font:16px/1.65 Arial,sans-serif;color:var(--muted);max-width:560px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}.filter{background:none;border:1px solid var(--line);padding:8px 13px;cursor:pointer;font:11px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.filter.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.gallery{columns:3 280px;column-gap:30px}.work{break-inside:avoid;margin:0 0 40px}.art-open{border:0;padding:0;background:none;width:100%;cursor:pointer}.work img{display:block;width:100%;height:auto}.cap{padding-top:11px}.cap strong{font-size:19px;font-weight:400}.meta,.unverified{font:11px/1.5 Arial,sans-serif;color:var(--muted);margin-top:5px}.unverified{font-style:italic}.alice-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}.alice-grid h2{font-size:clamp(38px,4.7vw,70px);line-height:1.07;margin:.25em 0}.alice-grid img{width:100%;display:block}.alice-lines{font-size:20px;line-height:1.55;margin-top:35px}.poemgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.poemcard{border-top:1px solid var(--ink);min-height:230px;padding-top:20px}.poem-open{display:block;border:0;background:none;text-align:left;padding:0;cursor:pointer;width:100%}.poemcard h3{font-size:26px;font-weight:400;margin:0 0 18px}.poemcard p{font-size:16px;line-height:1.55;margin:0;color:#4e4841}.about-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center}.portraits{display:grid;grid-template-columns:.9fr 1fr;gap:22px;align-items:end}.portraits img{display:block;width:100%;filter:grayscale(100%)}.about-words blockquote{font-size:clamp(25px,3vw,43px);line-height:1.25;margin:0}.about-divider{border-top:1px solid var(--line);margin:48px 0}.secondary-quote{font-size:31px;line-height:1.2}.rabbit-section{text-align:center;padding-top:5vw;padding-bottom:5vw}.rabbit-big{background:none;border:1px solid var(--ink);padding:22px 45px;cursor:pointer;min-width:min(560px,90vw)}.rabbit-big span{display:block;text-transform:uppercase;letter-spacing:.2em;font:12px Arial,sans-serif}.rabbit-big small{display:block;margin-top:10px;font-size:14px;font-style:italic;color:var(--muted)}footer{border-top:1px solid var(--line);padding:35px 7vw 60px;display:flex;justify-content:space-between;font:11px Arial,sans-serif;color:var(--muted)}.modal{position:fixed;inset:0;background:rgba(20,18,16,.95);z-index:100;display:none;color:white;overflow:auto}.modal.open{display:block}.close{position:fixed;right:25px;top:17px;background:none;border:0;color:white;font-size:38px;cursor:pointer}.modalinner{min-height:100vh;display:grid;grid-template-columns:1.4fr .6fr;gap:5vw;align-items:center;padding:6vw}.modalinner img{width:100%;max-height:84vh;object-fit:contain}.modaltext h2{font-size:42px;margin:0 0 15px}.modaltext pre{white-space:pre-wrap;font:18px/1.7 Georgia,serif}.modaltext .meta{color:#c8c0b6;font-size:13px}
@media(max-width:820px){.navlinks a{display:none}.navlinks{gap:8px}.brand span{font-size:22px}.hero,.alice-grid,.about-layout,.head,.modalinner{grid-template-columns:1fr}.hero{padding:10vw 6vw}.hero-art{order:-1}.gallery{columns:2 150px}.poemgrid{grid-template-columns:1fr}.portraits{gap:12px}.about-words{margin-top:20px}section{padding:12vw 6vw}.head{gap:18px}.modalinner{padding:80px 6vw 40px}}


/* V4 layout corrections */
:root { --ink:#1c1b18; --paper:#f3eee4; --panel:#ebe4d8; }
nav a, .links a, header a { color:var(--ink) !important; }
.hero {
  max-width:1180px !important;
  margin:0 auto !important;
  gap:36px !important;
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr) !important;
}
.gallery {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:38px 26px !important;
  columns:auto !important;
}
.work { margin:0 !important; break-inside:auto !important; }
.work img {
  width:100% !important;
  height:330px !important;
  object-fit:contain !important;
  background:var(--panel) !important;
}
.caption { min-height:70px; }
@media(max-width:980px){
  .hero{grid-template-columns:1fr 1fr !important;gap:26px !important;}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .work img{height:300px !important;}
}
@media(max-width:700px){
  .hero{grid-template-columns:1fr !important;}
  .gallery{grid-template-columns:1fr !important;}
  .work img{height:360px !important;}
}


/* V5 refinements */
.hero{
  max-width:1320px !important;
  grid-template-columns:minmax(0,.72fr) minmax(560px,1.28fr) !important;
  gap:28px !important;
  padding-left:5vw !important;
  padding-right:5vw !important;
}
.hero h1{
  font-family:Baskerville,"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif !important;
  font-size:clamp(42px,4.8vw,72px) !important;
  line-height:1.08 !important;
  letter-spacing:-.025em !important;
  color:#746b61 !important;
  margin:.2em 0 .5em !important;
}
.heroquote{
  font-size:clamp(17px,1.45vw,22px) !important;
  line-height:1.58 !important;
}
.quoted-writing,
.quoted-writing p,
.quoted-writing blockquote{
  font-style:italic !important;
}
.hero-art img{
  width:100% !important;
  max-height:76vh !important;
  object-fit:contain !important;
}
#art .head,
#about .head{
  margin-bottom:34px !important;
}
#about .head .intro:empty{
  display:none !important;
}
#about .head{
  grid-template-columns:1fr !important;
}
.portraits{
  overflow:hidden;
}
.portraits img{
  width:calc(100% + 7px) !important;
  max-width:none !important;
}
/* The original portrait crops retain a narrow white strip on the right.
   Shift that edge outside the visible grid cell rather than altering the photograph. */
.portraits img:first-child,
.portraits img:last-child{
  margin-right:-7px !important;
}
.modal{
  background:rgba(55,50,45,.97) !important;
}
.modaltext pre{
  font-style:italic !important;
}
.poemcard p{
  color:#5d554d !important;
}
@media(max-width:980px){
  .hero{
    grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr) !important;
    gap:22px !important;
  }
}
@media(max-width:700px){
  .hero{grid-template-columns:1fr !important;}
  .hero h1{font-size:clamp(40px,12vw,58px) !important;}
}


/* V6 typography refinements */
h1, h2, h3, .section-title, .head h2, .alice-copy h2, .about-copy h2 {
  color:#57534e !important;
}
.hero h1 {
  color:#66615b !important;
  font-style:italic !important;
}


/* V7 requested refinements */
.hero h1{
  font-family:Georgia,'Times New Roman',serif !important;
  font-style:normal !important;
  font-weight:400 !important;
  line-height:1.07 !important;
  letter-spacing:normal !important;
  color:#66615b !important;
}
.modal{
  background:rgba(226,218,205,.985) !important;
  color:#393531 !important;
}
.modaltext h2{
  color:#5d5750 !important;
}
.modaltext pre{
  color:#393531 !important;
  font-style:italic !important;
}
.modaltext .meta{
  color:#756d63 !important;
}
.close{
  color:#514b45 !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  font-family:Arial,sans-serif !important;
}
.close span{
  font:38px/1 Georgia,serif !important;
}
.close small{
  font-size:10px !important;
  letter-spacing:.12em !important;
  white-space:nowrap !important;
}
.poemcard h3{
  color:#716960 !important;
}


/* V8 Alice collection */
.alice-section{
  padding:92px 5vw 104px;
  max-width:1440px;
  margin:0 auto;
}
.alice-intro{
  display:grid;
  grid-template-columns:minmax(280px,.7fr) minmax(430px,1.3fr);
  gap:48px;
  align-items:start;
  margin-bottom:64px;
}
.alice-copy h2{
  margin:0 0 24px;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(38px,4vw,64px);
  line-height:1.06;
  color:#625d57;
}
.alice-copy .quoted-writing{display:none;}
.alice-copy p{
  max-width:420px;
  color:#655f58;
  line-height:1.6;
}
.alice-view-all{
  margin-top:18px;
  border:0;
  border-bottom:1px solid #777069;
  background:none;
  padding:0 0 5px;
  color:#514c47;
  font:12px/1.4 Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
}
.alice-lead{margin:0;}
.alice-lead img{
  display:block;
  width:100%;
  height:480px;
  object-fit:contain;
  background:#ebe4d8;
}
.alice-lead figcaption,
.alice-gallery figcaption{
  margin-top:12px;
  color:#514c47;
  font-size:14px;
}
.alice-lead figcaption span,
.alice-gallery figcaption span{
  display:block;
  margin-top:4px;
  color:#817970;
  font-size:12px;
}
.alice-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:42px 26px;
}
.alice-gallery figure{margin:0;min-width:0;}
.alice-gallery img{
  width:100%;
  height:300px;
  object-fit:contain;
  display:block;
  background:#ebe4d8;
}
.alice-gallery strong{font-weight:400;}
@media(max-width:900px){
  .alice-intro{grid-template-columns:1fr;gap:30px;}
  .alice-lead img{height:400px;}
  .alice-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
  .alice-section{padding-top:64px;}
  .alice-gallery{grid-template-columns:1fr;}
  .alice-gallery img{height:340px;}
}


/* V9: About section portrait balance only */
#about .portraits{
  align-items:center !important;
}
#about .portraits img:first-child{
  width:88% !important;
  max-width:88% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}


/* V10: further reduce left portrait in About section */
#about .portraits img:first-child{
  width:72% !important;
  max-width:72% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}


/* V11: soften all major section headings */
#art .head h2,
#writing .head h2,
#about .head h2,
#alice h2,
section > .head h2,
.section-title {
  color:#817a72 !important;
  font-weight:400 !important;
}


/* V12: further soften major section headings */
#art .head h2,
#writing .head h2,
#about .head h2,
#alice h2,
section > .head h2,
.section-title {
  color:#aaa39a !important;
  font-weight:400 !important;
}


/* V13: match opening title to major section headings */
.hero h1 {
  color:#aaa39a !important;
  font-size:clamp(52px,6vw,88px) !important;
  font-weight:400 !important;
}


/* V14: recomposed opening screen */
.hero{
  max-width:1380px !important;
  min-height:calc(100vh - 90px) !important;
  grid-template-columns:minmax(330px,.68fr) minmax(600px,1.32fr) !important;
  gap:30px !important;
  align-items:center !important;
  padding-top:42px !important;
  padding-bottom:56px !important;
}
.hero h1{
  margin:0 0 28px !important;
  font-size:clamp(50px,5.4vw,82px) !important;
  line-height:1.02 !important;
  color:#aaa39a !important;
}
.heroquote{
  max-width:430px !important;
  margin-top:0 !important;
  font-size:clamp(17px,1.25vw,20px) !important;
  line-height:1.65 !important;
  color:#5f5953 !important;
}
.heroquote small{
  display:block !important;
  margin-top:18px !important;
  font-style:normal !important;
  color:#817970 !important;
}
.hero-art{
  align-self:center !important;
  margin:0 !important;
}
.hero-art img{
  display:block !important;
  width:100% !important;
  height:min(72vh,720px) !important;
  max-height:none !important;
  object-fit:contain !important;
  background:#ebe4d8 !important;
}
.hero-art figcaption{
  margin-top:10px !important;
}
@media(max-width:900px){
  .hero{
    min-height:auto !important;
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .hero-art img{height:auto !important;max-height:70vh !important;}
}


/* V16: restore top-level navigation on phones */
@media (max-width: 700px) {
  nav {
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:14px 18px !important;
    padding:16px 18px 14px !important;
  }
  nav .brand {
    width:100% !important;
    display:flex !important;
    align-items:baseline !important;
    justify-content:space-between !important;
    gap:12px !important;
  }
  nav .brand span,
  nav .brand small {
    display:block !important;
  }
  nav .navlinks {
    width:100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:10px 18px !important;
  }
  nav .navlinks a {
    display:inline-block !important;
    color:var(--ink) !important;
    font-size:12px !important;
    letter-spacing:.08em !important;
  }
  nav .navlinks .rabbit {
    display:inline-block !important;
    margin-left:auto !important;
    font-size:10px !important;
    padding:8px 10px !important;
  }
}


/* V17: cleaner mobile header + correct anchor landing positions */
@media (max-width: 700px) {
  nav {
    display:block !important;
    padding:18px 20px 16px !important;
  }

  nav .brand {
    display:block !important;
    width:100% !important;
    margin:0 0 15px !important;
    text-align:left !important;
  }

  nav .brand span,
  nav .brand small {
    display:block !important;
    text-align:left !important;
  }

  nav .brand small {
    margin-top:3px !important;
  }

  nav .navlinks {
    display:grid !important;
    grid-template-columns:max-content max-content max-content max-content !important;
    justify-content:start !important;
    gap:0 17px !important;
    width:100% !important;
    text-align:left !important;
  }

  nav .navlinks a:not(.rabbit) {
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:12px !important;
    line-height:1.5 !important;
    letter-spacing:.06em !important;
  }

  nav .navlinks .rabbit {
    grid-column:1 / -1 !important;
    justify-self:start !important;
    display:block !important;
    width:max-content !important;
    margin:12px 0 0 !important;
    padding:7px 10px !important;
    font-size:9px !important;
    letter-spacing:.11em !important;
  }

  /* Sticky mobile navigation is taller than desktop.
     Leave enough room above each anchored section title. */
  #art,
  #writing,
  #alice,
  #about {
    scroll-margin-top:150px !important;
  }
}


/* V18: use the site's actual mobile breakpoint (820px), not 700px */
@media (max-width:820px){
  nav{
    display:block !important;
    padding:18px 20px 16px !important;
  }
  nav .brand{
    display:block !important;
    width:100% !important;
    margin:0 0 15px !important;
    text-align:left !important;
  }
  nav .brand span,
  nav .brand small{
    display:block !important;
    text-align:left !important;
  }
  nav .brand small{margin-top:3px !important;}

  nav .navlinks{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    width:100% !important;
    gap:0 18px !important;
  }
  nav .navlinks a{
    display:inline-block !important;
    margin:0 !important;
    padding:0 !important;
    color:var(--ink) !important;
    font-size:12px !important;
    line-height:1.5 !important;
    letter-spacing:.06em !important;
  }
  nav .navlinks .rabbit{
    flex-basis:100% !important;
    width:max-content !important;
    max-width:max-content !important;
    display:block !important;
    margin:12px 0 0 0 !important;
    padding:7px 10px !important;
    align-self:flex-start !important;
    font-size:9px !important;
    letter-spacing:.11em !important;
  }

  #art,#writing,#alice,#about{
    scroll-margin-top:150px !important;
  }
}


/* V20 — definitive mobile navigation */
@media screen and (max-width: 900px) {
  body > nav {
    position:relative !important;
    top:auto !important;
    display:block !important;
    padding:18px 20px 17px !important;
  }

  body > nav .brand {
    display:block !important;
    width:100% !important;
    margin:0 0 16px 0 !important;
    text-align:left !important;
  }

  body > nav .brand span,
  body > nav .brand small {
    display:block !important;
    text-align:left !important;
  }

  body > nav .brand small { margin-top:3px !important; }

  body > nav .navlinks {
    display:grid !important;
    grid-template-columns:repeat(4,max-content) !important;
    grid-template-rows:auto auto !important;
    justify-content:start !important;
    justify-items:start !important;
    align-items:center !important;
    column-gap:18px !important;
    row-gap:12px !important;
    width:100% !important;
  }

  body > nav .navlinks > a {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:static !important;
    margin:0 !important;
    padding:0 !important;
    color:var(--ink) !important;
    font-size:12px !important;
    line-height:1.4 !important;
    letter-spacing:.06em !important;
    text-align:left !important;
  }

  body > nav .navlinks > button.rabbit {
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    justify-self:start !important;
    display:block !important;
    position:static !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:7px 10px !important;
    font-size:9px !important;
    line-height:1.3 !important;
    letter-spacing:.11em !important;
    text-align:left !important;
  }

  #art,#writing,#alice,#about {
    scroll-margin-top:18px !important;
  }
}


/* V21 mobile header: compact sticky masthead */
@media screen and (max-width:900px){
  body > nav{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-rows:auto auto !important;
    align-items:center !important;
    gap:11px 14px !important;
    padding:11px 18px 10px !important;
    background:rgba(245,240,230,.97) !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
  }

  body > nav .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    width:auto !important;
    margin:0 !important;
    display:block !important;
    text-align:left !important;
  }
  body > nav .brand span{
    display:block !important;
    font-size:25px !important;
    line-height:1.05 !important;
  }
  body > nav .brand small{
    display:block !important;
    margin-top:3px !important;
    font-size:8px !important;
    letter-spacing:.26em !important;
  }

  body > nav .navlinks{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:20px !important;
    width:100% !important;
  }
  body > nav .navlinks > a{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:static !important;
    margin:0 !important;
    padding:0 !important;
    font-size:11px !important;
    line-height:1.25 !important;
  }

  body > nav .navlinks > button.rabbit{
    position:absolute !important;
    right:18px !important;
    top:14px !important;
    width:auto !important;
    margin:0 !important;
    padding:6px 8px !important;
    font-size:8px !important;
    line-height:1.15 !important;
    letter-spacing:.10em !important;
    white-space:nowrap !important;
  }

  #art,#writing,#alice,#about{
    scroll-margin-top:108px !important;
  }
}


/* V22: explicit mobile primary nav, independent of legacy .navlinks rules */
.mobile-primary-nav{display:none;}

@media screen and (max-width:900px){
  body > nav{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:auto auto !important;
    column-gap:12px !important;
    row-gap:10px !important;
    padding:11px 18px 10px !important;
    background:rgba(245,240,230,.98) !important;
  }

  body > nav .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    margin:0 !important;
    width:auto !important;
  }

  /* Hide only the desktop section links; retain Rabbit Hole at top right. */
  body > nav .navlinks{
    display:contents !important;
  }
  body > nav .navlinks > a{
    display:none !important;
  }
  body > nav .navlinks > .rabbit{
    grid-column:2 !important;
    grid-row:1 !important;
    position:static !important;
    align-self:center !important;
    justify-self:end !important;
    display:block !important;
    margin:0 !important;
    width:auto !important;
    white-space:nowrap !important;
    padding:7px 9px !important;
    font-size:8px !important;
    letter-spacing:.10em !important;
  }

  body > nav .mobile-primary-nav{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    display:flex !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:20px !important;
    width:100% !important;
  }
  body > nav .mobile-primary-nav a{
    display:block !important;
    color:var(--ink) !important;
    text-decoration:none !important;
    font-size:12px !important;
    line-height:1.35 !important;
    letter-spacing:.04em !important;
  }

  #art,#writing,#alice,#about{scroll-margin-top:100px !important;}
}


/* V23: remove duplicate desktop links from mobile header */
@media screen and (max-width:900px){
  body > nav{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:auto auto !important;
    gap:9px 12px !important;
    padding:11px 18px 10px !important;
    background:rgba(245,240,230,.98) !important;
  }

  body > nav .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    margin:0 !important;
  }

  /* Desktop nav container contributes only the Rabbit Hole button on mobile. */
  body > nav .navlinks{
    grid-column:2 !important;
    grid-row:1 !important;
    display:block !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    align-self:center !important;
    justify-self:end !important;
  }
  body > nav .navlinks > a{
    display:none !important;
    visibility:hidden !important;
  }
  body > nav .navlinks > .rabbit{
    display:block !important;
    position:static !important;
    margin:0 !important;
    width:auto !important;
    padding:7px 9px !important;
    white-space:nowrap !important;
    font-size:8px !important;
    line-height:1.15 !important;
    letter-spacing:.10em !important;
  }

  body > nav .mobile-primary-nav{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:20px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  body > nav .mobile-primary-nav a{
    display:block !important;
    visibility:visible !important;
    color:var(--ink) !important;
    text-decoration:none !important;
    font-size:12px !important;
    line-height:1.3 !important;
    letter-spacing:.04em !important;
  }

  #art,#writing,#alice,#about{scroll-margin-top:96px !important;}
}


/* V24: lock Rabbit Hole into the upper-right masthead row */
@media screen and (max-width:900px){
  body > nav{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) max-content !important;
    grid-template-rows:auto auto !important;
    column-gap:10px !important;
    row-gap:10px !important;
    align-items:start !important;
    padding:11px 18px 10px !important;
  }

  body > nav .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:center !important;
    min-width:0 !important;
  }

  body > nav .navlinks{
    grid-column:2 !important;
    grid-row:1 !important;
    display:block !important;
    position:static !important;
    align-self:center !important;
    justify-self:end !important;
    width:auto !important;
    height:auto !important;
  }

  body > nav .navlinks > a{display:none !important;}

  body > nav .navlinks > button.rabbit{
    display:block !important;
    position:static !important;
    inset:auto !important;
    transform:none !important;
    float:none !important;
    margin:0 !important;
    width:auto !important;
    max-width:none !important;
    padding:7px 8px !important;
    white-space:nowrap !important;
    font-size:7.5px !important;
    line-height:1.15 !important;
    letter-spacing:.08em !important;
  }

  body > nav .mobile-primary-nav{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    margin:0 !important;
    padding:0 !important;
  }
}


/* V29: structural mobile masthead fix */
.mobile-rabbit{display:none;}

@media screen and (max-width:900px){
  body > nav{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:auto auto !important;
    column-gap:18px !important;
    row-gap:9px !important;
    align-items:center !important;
    padding:12px 18px 11px !important;
    background:rgba(245,240,230,.98) !important;
  }

  body > nav .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    margin:0 !important;
    padding:0 !important;
    align-self:center !important;
  }

  body > nav .mobile-rabbit{
    grid-column:2 !important;
    grid-row:1 !important;
    display:block !important;
    align-self:center !important;
    justify-self:end !important;
    position:static !important;
    margin:0 !important;
    padding:9px 13px !important;
    width:auto !important;
    max-width:none !important;
    white-space:nowrap !important;
    background:transparent !important;
    border:1px solid var(--ink) !important;
    color:var(--ink) !important;
    font:9px/1.2 Arial,sans-serif !important;
    letter-spacing:.11em !important;
    text-transform:uppercase !important;
  }

  /* Hide the entire desktop navigation block on mobile. */
  body > nav .navlinks{
    display:none !important;
  }

  body > nav .mobile-primary-nav{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:20px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  body > nav .mobile-primary-nav a{
    display:block !important;
    visibility:visible !important;
    color:var(--ink) !important;
    text-decoration:none !important;
    font-size:12px !important;
    line-height:1.3 !important;
  }
}


/* V30: Contact and archive inquiries */
.contact-section{
  padding:86px 6vw 92px;
  border-top:1px solid rgba(40,36,32,.14);
}
.contact-inner{
  max-width:760px;
}
.contact-section h2{
  margin:.35rem 0 1.1rem;
  font-weight:400;
}
.contact-section p{
  max-width:650px;
  margin:0 0 1.25rem;
  line-height:1.7;
}
.contact-email{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:2px;
}

.artwork-inquiry{
  display:inline-block;
  margin-top:14px;
  color:inherit;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:2px;
}

@media screen and (max-width:900px){
  body > nav .mobile-primary-nav{
    gap:16px !important;
  }
  body > nav .mobile-primary-nav a{
    font-size:11px !important;
  }
  .contact-section{
    padding:62px 18px 68px;
  }
}


/* V34: archival context, life & work, and art/writing pairings */
.paired{margin-top:5px;font-size:10px;line-height:1.45;opacity:.62}
.alice-statement{max-width:650px;line-height:1.72!important;font-size:16px!important}
.life-work{margin-top:88px;padding-top:68px;border-top:1px solid rgba(40,36,32,.14)}
.life-head{display:grid;grid-template-columns:minmax(130px,.35fr) 1fr;align-items:end;margin-bottom:38px}
.life-head h3{font-size:clamp(34px,5vw,68px);font-weight:400;color:#aaa39a;margin:0;line-height:1}
.life-photos{display:grid;grid-template-columns:1.05fr .9fr .9fr 1.05fr;gap:18px;align-items:start;margin-bottom:58px}
.life-photos figure{margin:0}.life-photos img{display:block;width:100%;height:300px;object-fit:cover;object-position:center}
.life-photos figcaption{font-size:10px;line-height:1.45;margin-top:8px;opacity:.62}
.timeline{margin-left:calc(35%);border-top:1px solid rgba(40,36,32,.18)}
.timeline>div{display:grid;grid-template-columns:110px 1fr;gap:28px;padding:18px 0;border-bottom:1px solid rgba(40,36,32,.12)}
.timeline time{font-size:12px;letter-spacing:.08em}.timeline p{margin:0;line-height:1.55;max-width:620px}
@media(max-width:900px){
 .alice-statement{font-size:14px!important}.life-work{margin-top:62px;padding-top:48px}.life-head{display:block}.life-head h3{margin-top:10px}
 .life-photos{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:42px}.life-photos img{height:230px}.timeline{margin-left:0}.timeline>div{grid-template-columns:78px 1fr;gap:16px}
}

/* Paired poems in artwork views */
.modalinner.has-paired-poem{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start;gap:clamp(24px,4vw,64px);padding-top:100px}
.modalinner.has-paired-poem>div:first-child{position:sticky;top:100px}
.modalinner.has-paired-poem img{max-height:calc(100vh - 140px)}
.art-paired-poem{border-top:1px solid rgba(50,45,39,.25);padding:22px 0 0;margin-top:28px}
.art-paired-poem h3{font-size:clamp(24px,2.5vw,34px);font-weight:400;margin:14px 0 18px}
.art-paired-poem pre{white-space:pre-wrap;overflow-wrap:anywhere;font:italic 17px/1.7 Georgia,serif;margin:0;color:#393531}
@media(max-width:820px){.modalinner.has-paired-poem{grid-template-columns:1fr;padding-top:80px}.modalinner.has-paired-poem>div:first-child{position:static}.modalinner.has-paired-poem img{max-height:70vh}.art-paired-poem{margin-top:24px}}

/* Adele reading her poetry */
.reading-video{max-width:600px;margin:0 0 58px}
.reading-video video{display:block;width:100%;aspect-ratio:4/3;background:#28231f}
.reading-video figcaption{margin-top:10px;font:12px/1.5 Arial,sans-serif;color:var(--muted)}
@media(max-width:820px){.reading-video{margin-bottom:42px}}

/* Match the two About quotes */
.about-words blockquote{font-size:31px;line-height:1.2}

/* Writing heading and reading video */
#writing .head{display:block}
#writing .head .intro{margin-top:12px}
#writing .reading-video{max-width:420px}
@media(max-width:820px){#writing .reading-video{max-width:100%}}

/* Two archival views of Adele reading */
#writing .reading-media{display:grid;grid-template-columns:minmax(0,420px) minmax(0,225px);gap:28px;align-items:start;margin:0 0 58px}
#writing .reading-media .reading-video{margin:0}
#writing .reading-photo{margin:0}
#writing .reading-photo img{display:block;width:100%;height:315px;object-fit:contain;object-position:center top}
@media(max-width:680px){#writing .reading-media{grid-template-columns:1fr;gap:22px;margin-bottom:42px}#writing .reading-photo{max-width:230px}#writing .reading-photo img{height:auto}}

/* Dated portrait in the About photo sequence */
.life-photos{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:900px){.life-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.life-photos figure:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 7px)}}

/* Keep the Art introduction with its heading */
#art .head{display:block}
#art .head .intro{margin-top:12px}

/* Alice introduction links to the full filtered gallery */
.alice-intro{display:block;max-width:850px;margin-bottom:0}
.alice-copy .quoted-writing{display:block}
.alice-copy p{max-width:700px}
#art{scroll-margin-top:100px}

/* One featured Alice work beside Adele's reflection */
.alice-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:clamp(28px,5vw,80px);align-items:center;max-width:1200px}
.alice-feature-open{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer}
.alice-feature-open:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.alice-lead img{height:auto;max-height:440px;background:none;object-fit:contain}
.alice-lead figcaption{text-align:left;font-style:italic;font-size:12px}
@media(max-width:900px){.alice-intro{grid-template-columns:1fr;gap:32px}.alice-lead{max-width:410px}.alice-lead img{max-height:440px}}

/* Align the Leonardo caption with the visible image edge */
.alice-lead{width:min(100%,370px);justify-self:center}
.alice-feature-open{width:100%}
.alice-lead img{width:100%;height:auto;max-height:none;object-fit:initial}
.alice-lead figcaption{text-align:left}

/* Position Art near the top of its section and give Contact a proper title */
#art{padding-top:clamp(28px,3vw,48px)}
.contact-section h2{font-size:clamp(50px,5vw,76px);line-height:1.05;color:#aaa39a;margin:0 0 30px}
@media(max-width:820px){#art{padding-top:36px}}

/* Keep Art tucked under the sticky masthead without a second horizontal rule */
#art{border-top:0;scroll-margin-top:64px}
.contact-section h2{font-size:clamp(38px,3.8vw,56px)}
@media(max-width:900px){#art{scroll-margin-top:64px !important}}

/* Keep artwork and poem close controls above the mobile masthead */
#modal{z-index:2000 !important}
#modal .close{z-index:1}
@media(max-width:900px){
  #modal .close{top:calc(env(safe-area-inset-top,0px) + 10px);right:12px;min-height:44px;padding:4px 10px;background:rgba(243,238,228,.98);border:1px solid #bfb5a7;border-radius:3px}
  #modal .close small{font-size:9px;white-space:nowrap}
}
