/* The second red screen is an editorial directory; portrait styling is separate. */
.hero>.footer,.directory-page>.footer{position:absolute}
.footer-icp{display:flex;align-items:center;min-height:44px;white-space:nowrap;opacity:.72}
.footer-icp:hover,.footer-icp:focus-visible{opacity:1;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){
  .hero>.footer,.directory-page>.footer{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px 20px;align-content:center;gap:0 8px}
  .footer-icp{grid-column:1/-1;grid-row:2;justify-self:center;min-height:20px;font-size:10px;letter-spacing:.04em}
  .footer-mail{grid-column:2;grid-row:1}
}
.home:has(.directory-page){--directory-min:560px;height:calc(max(var(--screen),var(--screen-min)) + max(var(--screen),var(--directory-min)));min-height:calc(max(var(--screen),var(--screen-min)) + max(var(--screen),var(--directory-min)))}
.directory-page{--directory-edge:clamp(24px,4.4921875vw,96px);pointer-events:auto;min-height:var(--directory-min);overflow:hidden;color:#fff1d7}
.directory-backdrop{position:absolute;inset:0;pointer-events:none}
/* Keep the original background underneath. Repaired pixels are limited to the
   person's former footprint with a soft margin to avoid a silhouette seam. */
.directory-repair{-webkit-mask-image:url('assets/front-mask.png');mask-image:url('assets/front-mask.png');-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:var(--portrait-pos);mask-position:var(--portrait-pos);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.directory-content{position:relative;z-index:3;box-sizing:border-box;height:100%;min-height:var(--directory-min);width:100%;max-width:100%;margin:0;padding:clamp(34px,5.96svh,64px) var(--directory-edge) clamp(90px,16.25svh,150px);display:flex;flex-direction:column}
.directory-eyebrow{display:flex;align-items:center;gap:10px;margin:0;color:#f4d1b7;font-size:11px;letter-spacing:.13em;line-height:1.6}
.directory-eyebrow>span{font-family:serif;font-size:22px;line-height:1}
.directory-body{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(40px,4.8828125vw,80px);align-items:center;padding-block:30px}
.directory-title{margin:0;min-width:0;font-family:"Noto Serif SC","Songti SC","SimSun",serif;font-size:clamp(80px,8.59375vw,128px);font-weight:400;line-height:1.22;letter-spacing:.03em;color:inherit}
.directory-title>span{display:block}
.directory-links{position:static;left:auto;transform:none;display:block;align-self:center;min-width:0;border-top:1px solid rgba(255,241,215,.32);width:100%;font-size:inherit}
.directory-links .directory-entry{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:100px;margin:0;padding:23px 0;border:0;border-bottom:1px solid rgba(255,241,215,.32);border-radius:0;background:transparent;color:inherit;text-align:left;letter-spacing:0}
.directory-entry-copy{display:block;transition:transform .18s ease}
.directory-entry-title{display:block;font-size:clamp(26px,2.5390625vw,34px);font-weight:400;line-height:1.3;letter-spacing:0}
.directory-entry-description{display:block;margin-top:5px;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.05em;color:#f4d1b7}
.directory-entry-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-family:Arial,sans-serif;font-size:22px;line-height:1;transition:transform .18s ease}
.directory-links .directory-entry:focus-visible{outline-offset:6px}
@media(hover:hover) and (pointer:fine){
  .directory-entry:hover .directory-entry-copy{transform:translateX(7px)}
  .directory-entry:hover .directory-entry-arrow{transform:translate(3px,-3px)}
}
.directory-dialog{width:min(570px,calc(100% - 40px));max-height:calc(100svh - 40px);padding:0;border:1px solid #fff0d944;border-radius:0;background:#8e2330;color:var(--text);box-shadow:0 24px 100px #38051e66;overflow-y:auto}
.directory-dialog::backdrop{background:#3c0c208c;backdrop-filter:blur(8px)}
.directory-dialog-content{padding:clamp(28px,5vw,54px)}
.directory-dialog-kicker{margin:0 0 28px;color:#fff0d9b8;font-size:11px;letter-spacing:.13em}
.directory-dialog h2{margin:0 0 18px;font-family:"Songti SC","SimSun",serif;font-size:46px;font-weight:400;line-height:1.3}
.directory-dialog-copy{margin:0;font-size:14px;line-height:1.9;color:#fff0d9c7}
.directory-back{display:inline-flex;align-items:center;min-height:44px;margin-top:44px;padding:8px 0;border-bottom:1px solid #fff0d96b;font-size:13px;line-height:1.5;letter-spacing:.06em}
.directory-dialog button:focus-visible{outline-color:var(--paper)}
@media(max-width:1000px) and (min-width:761px){
  .directory-body{gap:50px}
}
@media(max-width:760px){
  .home:has(.directory-page){--directory-min:560px}
  .directory-page{--directory-edge:24px}
  .directory-content{padding:52px var(--directory-edge) 116px}
  .directory-eyebrow{font-size:11px;gap:8px;letter-spacing:.08em}
  .directory-eyebrow>span{font-size:22px}
  .directory-body{grid-template-columns:1fr;gap:42px;align-content:center;padding-block:36px}
  .directory-title{font-size:clamp(48px,15vw,70px);line-height:1.3;letter-spacing:.015em;white-space:nowrap}
  .directory-title>span{display:inline}
  .directory-links{align-self:auto}
  .directory-links .directory-entry{min-height:90px;padding-block:18px}
  .directory-entry-title{font-size:26px}
  .directory-entry-description{font-size:11px;margin-top:4px}
  .directory-entry-arrow{font-size:25px}
}
@media(max-width:760px) and (max-height:700px){
  .directory-content{padding-top:30px;padding-bottom:100px}
  .directory-body{gap:26px;padding-block:20px}
  .directory-links .directory-entry{min-height:80px;padding-block:14px}
}
@media(prefers-reduced-motion:reduce){
  .directory-entry-copy,.directory-entry-arrow{transition:none;transform:none!important}
  .directory-dialog::backdrop{backdrop-filter:none}
}
