@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--paper:#eeeae1;--ink:#232923;--muted:#62655e;--line:#cacabe;--accent:#875b3b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #ad774d;outline-offset:6px}img{display:block;max-width:100%}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:9}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line)}.brand{font-size:19px;letter-spacing:.12em;line-height:1.3;font-weight:600}.brand span{display:block;font-size:10px;letter-spacing:.24em;margin-top:8px;font-weight:400}nav{display:flex;gap:32px;font-size:14px}.contact{font-size:14px;border-bottom:1px solid;padding-bottom:3px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.hero-copy{padding:65px 10% 24px;display:flex;flex-direction:column}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:500;margin:0 0 30px}h1,h2,.opening>p:not(.eyebrow){font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(100px,10.5vw,164px);margin:0 0 28px}em{font-weight:400;color:var(--accent)}.intro{font-size:18px;color:var(--muted);margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--ink);color:var(--paper);padding:17px 23px;font-size:14px;align-self:flex-start;transition:background .2s}.button:hover{background:#455044}.hero-foot{margin-top:auto;padding-top:46px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.15em}.hero-foot a{font-size:28px}.hero-photo{margin:0;position:relative;overflow:hidden;background:#252522;min-height:720px}.hero-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 41%}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:50px 24px 22px;background:linear-gradient(transparent,#0009);color:white;font-size:10px;letter-spacing:.12em;display:flex;justify-content:space-between}.opening{padding:100px 8%;display:grid;grid-template-columns:1.4fr 1fr;gap:28px 80px;border-bottom:1px solid var(--line)}.opening .eyebrow{grid-column:1/-1;margin:0}.opening>p:not(.eyebrow){font-size:58px;margin:0}.opening>div{max-width:390px;align-self:end;color:var(--muted)}.section{padding:95px 8%}h2{font-size:62px;margin:0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:50px}.section-head .eyebrow{margin-bottom:20px}.section-head>p{color:var(--muted);font-size:15px}.work{border-top:1px solid var(--line);display:grid;grid-template-columns:55px 1.5fr 1fr 80px 35px;gap:20px;align-items:center;width:100%;background:none;text-align:left;color:var(--ink);padding:27px 0;border-right:0;border-left:0;border-bottom:0;transition:padding .2s,background .2s}.work:last-child{border-bottom:1px solid var(--line)}.work:hover{background:#e5e1d7;padding-left:12px}.work .num{font-size:12px;color:var(--muted)}.work strong{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:38px}.work .type,.work .year{font-size:14px;color:var(--muted)}.work .arrow{font-size:24px}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:4px;margin-top:30px}.life{background:#deded3;display:grid;grid-template-columns:.85fr 1fr;gap:10%;align-items:start}.life-image img{width:100%;max-height:680px;object-fit:cover}.life-image span{display:block;font-size:10px;letter-spacing:.14em;margin-top:14px}.body-copy{color:var(--muted);margin:30px 0}.timeline article{display:grid;grid-template-columns:100px 1fr;border-top:1px solid #b8bcb1;padding:17px 0;gap:15px;font-size:14px}.timeline p{margin:0}.timeline b{font-weight:500}.family{position:relative;min-height:700px;background:#101c18}.family>img{width:100%;height:700px;object-fit:cover;object-position:50% 40%}.family:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b1a16ed,transparent 75%)}.family>div{position:absolute;z-index:1;top:80px;left:8%;color:#fff;max-width:330px}.family h2{font-size:90px}.family p:not(.eyebrow){margin-top:32px;color:#e3e5dc}.family .text-link{border-color:#fff}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 28px}.archive-item{background:none;border:0;padding:0;text-align:left;color:var(--ink)}.archive-item .img-wrap{height:310px;background:#dfdcd3;overflow:hidden;display:flex;align-items:center;justify-content:center}.archive-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.archive-item.document img{object-fit:contain;padding:16px}.archive-item:hover img{transform:scale(1.035)}.archive-item small{display:block;color:var(--muted);font-size:12px;margin:15px 0 4px}.archive-item strong{font-weight:500;font-size:17px}.performers{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:30px 80px}.performers>.eyebrow{grid-column:1/-1;margin:0}.performers em{color:#cba67e}.performers>div{align-self:end}.performers>div p{color:#c6cbbf;margin:0 0 30px}.light{background:var(--paper);color:var(--ink)}.light:hover{background:#fff}footer{padding:65px 8% 25px;display:grid;grid-template-columns:1fr 1fr;gap:40px}footer p{font-size:14px;color:var(--muted)}footer .eyebrow{margin-bottom:16px}.email{font-size:23px}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}dialog{border:0;background:var(--paper);color:var(--ink);padding:60px;width:min(880px,92vw);max-height:90vh}dialog::backdrop{background:#101711cf}.close{position:absolute;right:16px;top:8px;background:none;border:0;font-size:34px;color:var(--ink)}dialog img{max-height:65vh;margin:0 auto;object-fit:contain}dialog h2{font-size:48px;margin:20px 0}dialog p{max-width:680px}dialog .eyebrow{margin-bottom:20px}
@media(max-width:900px){header{padding:22px 5%;height:auto;flex-wrap:wrap;gap:20px}nav{order:3;width:100%;gap:24px;overflow:auto;white-space:nowrap}.hero{min-height:610px}.hero-copy{padding:40px 9% 20px}.hero-photo{min-height:610px}h1{font-size:100px}.hero-photo figcaption span{display:none}.opening{gap:28px}.opening>p:not(.eyebrow){font-size:44px}.section{padding:70px 6%}h2{font-size:48px}.work{grid-template-columns:30px 1.5fr 1fr 25px;gap:12px}.work .year{display:none}.life{gap:6%}.gallery{gap:30px 18px}.archive-item .img-wrap{height:230px}.family:after{background:linear-gradient(90deg,#0b1a16d9,transparent)}.performers{gap:30px}.email{font-size:20px}}@media(max-width:600px){header .brand{font-size:16px}nav{font-size:13px;gap:22px}.hero{grid-template-columns:1fr}.hero-copy{padding:36px 6% 25px}.eyebrow{margin-bottom:23px}h1{font-size:105px}.intro{font-size:17px}.hero-foot{padding-top:35px}.hero-photo{min-height:520px}.hero-photo img{object-position:center 38%}.opening{padding:60px 6%;grid-template-columns:1fr;gap:25px}.opening>p:not(.eyebrow){font-size:44px}.section-head{display:block;margin-bottom:30px}h2{font-size:46px}.work{grid-template-columns:25px 1fr 25px}.work strong{font-size:34px}.work .type{grid-column:2;grid-row:2}.work .arrow{grid-column:3;grid-row:1/3}.work{gap:0 10px;padding:20px 0}.life{grid-template-columns:1fr;gap:45px}.life-image{max-width:80%}.life-image img{max-height:440px}.family,.family>img{height:720px;min-height:0}.family>img{object-position:62% center}.family:after{background:linear-gradient(0deg,#0b1a16f5,transparent 85%)}.family>div{top:auto;bottom:40px;left:6%;max-width:300px}.family h2{font-size:65px}.family .eyebrow{margin-bottom:12px}.family p:not(.eyebrow){margin-top:18px}.gallery{grid-template-columns:1fr 1fr;gap:28px 16px}.archive-item .img-wrap{height:210px}.archive-item strong{font-size:15px}.archive-item.document img{padding:6px}.performers{grid-template-columns:1fr}footer{grid-template-columns:1fr;padding:50px 6% 20px}.footer-bottom{flex-direction:column;gap:12px}.timeline article{grid-template-columns:95px 1fr}dialog{padding:45px 22px}dialog h2{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Crop the printed border from the biography portrait, preserving the archive scan. */
.portrait-crop{position:relative;overflow:hidden;aspect-ratio:2418/3656}.life-image .portrait-crop img{position:absolute;top:0;left:0;width:105.264%;max-width:none;height:auto;max-height:none;transform:translate(-2.8%,-1.6%)}

/* Neutral paper relief sits behind all content, preserving the existing palette. */
body,.life,.program-teaser,.performers,dialog{background-image:linear-gradient(var(--paper-wash),var(--paper-wash)),url('assets/paper-texture.png');background-size:auto,850px 850px;background-repeat:repeat;background-blend-mode:normal,soft-light;--paper-wash:rgba(238,234,225,.38)}
.life{--paper-wash:rgba(222,222,211,.38)}
.program-teaser{--paper-wash:rgba(220,222,211,.38)}
.performers{--paper-wash:rgba(35,41,35,.65)}

/* Partners: official marks in a quiet monochrome footer. */
.partners{grid-column:1/-1;padding-bottom:56px;margin-bottom:8px;border-bottom:1px solid var(--line);text-align:center}.partners h2{font-size:clamp(32px,3.5vw,52px);margin:15px 0}.partners-intro{color:var(--muted);font-size:15px}.partner-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:40px;margin:48px auto 0;max-width:1060px}.partner-logos a{min-height:92px;display:flex;align-items:center;justify-content:center;padding:12px;opacity:.66;transition:opacity .2s}.partner-logos a:hover,.partner-logos a:focus-visible{opacity:1}.partner-logos img{width:auto;max-width:150px;max-height:66px;object-fit:contain;filter:brightness(0);mix-blend-mode:multiply}.partner-logos img.ministry-logo{max-width:230px;width:100%;max-height:76px}@media(max-width:650px){.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px}.partner-logos img{max-width:120px;max-height:56px}.partner-logos img.ministry-logo{max-width:180px}.partners{padding-bottom:32px}.partners-intro{max-width:290px;margin-inline:auto}}

.partner-logos img.ministry-logo{filter:grayscale(1) invert(1)}

/* Calm desktop proportions; preserve the existing narrow-window layout. */
@media(min-width:1200px){
 html{background:#e8e5dd}
 body{width:calc(100% - 96px);max-width:1280px;margin:0 auto;box-shadow:0 0 0 1px rgba(35,41,35,.06)}
 .hero h1{font-size:128px}
 .hero,.hero-photo{min-height:680px}
 header{padding-inline:4%;gap:22px}
 header nav{gap:18px;font-size:12px}
 header .brand{font-size:17px;flex-shrink:0}
 header .contact{white-space:nowrap}
}
