/* Approved story pages and door reveal. Shared by review and production. */
.site-footer-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px;margin-bottom:14px;max-width:850px}
.site-footer-nav a,.site-footer-extras a{display:inline-flex;align-items:center;min-height:44px;color:#62491f;font:400 14px/1.6 var(--sc-font-text);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.site-footer-nav a[aria-current="page"]{font-weight:600;color:#3f382d;text-decoration-thickness:2px}.site-footer-extras{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 28px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #dbd0bf;max-width:850px}.footer-social{display:flex;flex-wrap:wrap;gap:6px 24px}.site-footer-extras a{font-size:12px}.footer-social a{gap:6px}
.resource-contact .resource-main{max-width:820px}.resource-contact .letter{position:relative;inset:auto;opacity:1;transform:none;display:grid;gap:18px;padding:0;margin:0;max-width:none;width:auto;box-sizing:border-box}.resource-contact .letter h1{margin:0 0 4px;max-width:18ch}.resource-contact .letter>p{margin:0;font:400 16px/1.7 var(--sc-font-text)}.resource-contact .letter>.bio-label{font:500 11px/1.5 var(--sc-font-text)}.resource-contact .letter>.form-note{font:400 12px/1.7 var(--sc-font-text)}.resource-contact .letter .reach{flex-wrap:wrap;gap:8px 24px}.resource-contact .letter .reach a{min-height:44px;display:inline-flex;align-items:center}
.resource-nav nav a[aria-current="page"]{font-weight:600;text-decoration-thickness:2px}
.resource-nav{position:relative}.resource-nav nav{padding-right:50px}.resource-nav .site-music{position:absolute;left:auto;bottom:auto;right:16px;top:22px}.resource-nav>a{display:inline-block;padding-right:0;max-width:calc(100% - 44px);box-sizing:border-box}
@media(max-width:700px){.site-footer-nav{grid-template-columns:1fr 1fr;gap:0 22px}.site-footer-extras{display:block}.footer-social{gap:4px 22px}.resource-contact .letter h1{font-size:30px}.resource-contact .letter>p{font-size:15px}.resource-nav nav{flex-wrap:wrap;gap:8px 20px}}
@media(max-width:700px){.resource-nav nav{padding-right:0}}
/* The panels leave an open doorway around the form. No field width is lost. */
.form-door-contact .letter::before,.resource-contact .letter::before{content:"";position:absolute;inset:-20px -12px;border:1px solid #a0ab94;outline:1px solid #d2c8b3;outline-offset:5px;border-radius:2px;pointer-events:none}
.resource-contact .resource-main{padding-top:64px;padding-bottom:80px}
@media(max-width:700px){.resource-contact .resource-main{padding-top:48px;padding-bottom:64px}}
.story-link{display:inline-flex;align-items:center;min-height:44px;color:#62491f;font:500 15px/1.6 var(--sc-font-text);text-underline-offset:5px;margin-top:8px}
.story-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;align-items:start;margin:18px 0 64px}
.story-grid h1{max-width:14ch}.story-copy p{font:400 17px/1.85 var(--sc-font-text);max-width:56ch;color:#575044}
.story-photo{margin:0}.story-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;border-radius:46% 46% 2px 2px}.story-photo figcaption{font:400 12px/1.6 var(--sc-font-text);color:#655d50;margin-top:16px}
.story-mission{border-block:1px solid #c6b69a;padding:30px 0;max-width:820px}.story-mission h2,.library-link h2{font:500 26px/1.35 var(--sc-font-text);letter-spacing:-.025em;margin:0 0 12px}.story-mission p{font:400 20px/1.7 var(--sc-font-text);color:#575044;max-width:58ch;margin:0}
.story-bottom{max-width:760px;margin-top:40px}.story-bottom p{font:400 16px/1.8 var(--sc-font-text)}.library-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:45px 0}.library-link{border-block:1px solid #c6b69a;padding:28px 0;color:#3f382d;text-decoration:none}.library-link p{font:400 16px/1.8 var(--sc-font-text);max-width:38ch}.library-link span{font:500 14px/1.6 var(--sc-font-text);text-decoration:underline;text-underline-offset:5px}
.form-door-contact{position:relative;isolation:isolate;padding:0!important;min-height:0!important;scroll-snap-align:start!important;scroll-snap-stop:normal!important}.form-door-contact>.sc-wrap{position:relative;top:auto;padding-block:40px 26px;box-sizing:border-box}.form-door-cover{position:absolute;z-index:3;inset:0 0 auto;height:min(100%,780px);perspective:1200px;pointer-events:none;overflow:clip;border-radius:3px}.form-door-leaf{position:absolute;inset:0 50% 0 0;background:#aeb6a5;border:8px double #dce0d4;transform-origin:left center;transform:rotateY(calc(var(--form-open,0) * -105deg));opacity:calc(1 - max(0,var(--form-open,0) - .85)*6.67);box-shadow:inset 0 0 0 22px #aeb6a5,inset 0 0 0 24px #87947c;backface-visibility:hidden}.door-opening .form-door-leaf{transition:transform .7s ease,opacity .7s ease}.form-door-leaf.right{inset:0 0 0 50%;transform-origin:right center;transform:rotateY(calc(var(--form-open,0) * 105deg))}.form-door-leaf:after{content:'';position:absolute;right:14px;top:48%;width:8px;height:40px;background:#927b4f;border-radius:5px}.form-door-leaf.right:after{left:14px;right:auto}.form-door-open{position:absolute;z-index:4;left:50%;top:180px;transform:translateX(-50%);border:1px solid #766443;border-radius:3px;background:#f6f1e8;color:#554630;padding:14px 22px;font:500 16px/1.5 var(--sc-font-text);min-height:48px;cursor:pointer;white-space:nowrap}.form-door-contact.door-revealed .form-door-cover,.form-door-contact.door-revealed .form-door-open{display:none}.form-door-contact:has(.letter:focus-within) .form-door-cover,.form-door-contact:has(.letter:focus-within) .form-door-open{display:none}
.form-door-cover,.form-door-open{display:none}.form-door-ready .form-door-cover,.form-door-ready .form-door-open{display:block}.form-door-ready .form-door-open[hidden]{display:none}
@media(max-width:700px){.story-grid{grid-template-columns:1fr;gap:28px;margin-bottom:38px}.story-grid h1{max-width:17ch}.story-copy p{font-size:16px}.story-photo{max-width:300px}.story-mission p{font-size:18px}.library-grid{grid-template-columns:1fr;gap:0}.library-link+.library-link{border-top:0}.resource-nav nav{flex-wrap:wrap;gap:8px 20px}.form-door-open{font-size:14px;top:165px}.form-door-cover{height:min(100%,680px)}}
@media(prefers-reduced-motion:reduce){.form-door-ready .form-door-cover,.form-door-ready .form-door-open{display:none}.form-door-contact{min-height:0!important}.form-door-contact>.sc-wrap{position:relative}}

/* Scroll Craft already provides short reading holds. Native snap also
   snapped backwards and jumped on field blur, even with proximity. */
@media(max-width:860px){html.sc-ready{scroll-snap-type:none!important}.hero,.simple-bio,.simple-move,.featured-listings,.door-act{scroll-snap-stop:normal!important}}
