/* Extends the original literary storefront; book and cauldron mechanics are unchanged. */
.library-story,.library-support,.library-purpose{position:relative;z-index:4;background:var(--bg)}
.library-story{padding-top:32px}.library-story figure,.library-support figure,.library-purpose figure{margin:0}
.library-panorama{position:relative;min-height:680px;display:flex;align-items:center;isolation:isolate;overflow:hidden}
.library-panorama>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% center;z-index:-2}
.library-panorama:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 20%,#100f0d70 46%,#100f0ded 76%),linear-gradient(0deg,#100f0d 0%,transparent 25%);z-index:-1}
.library-panorama-copy{width:48%;margin-left:auto;padding:72px var(--gutter) 100px 30px}
.library-panorama-copy h2,.library-support h2,.library-purpose h2{font-size:clamp(46px,5.6vw,82px);margin:0 0 28px;text-wrap:balance}
.library-story em,.library-support em,.library-purpose em{color:var(--gold)}
.library-story .eyebrow,.library-support .eyebrow,.library-purpose .eyebrow{font-size:14px;letter-spacing:.13em}
.library-panorama-copy>p:not(.eyebrow),.library-support-copy>p,.library-purpose-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;color:#ded5c7;max-width:540px}
.library-panorama figcaption{position:absolute;bottom:15px;left:var(--gutter);right:var(--gutter);font-size:12px;line-height:1.5;color:#ddd1bd}
.library-launch{text-align:center;padding:32px var(--gutter) 65px;border-bottom:1px solid var(--line)}
.library-launch .eyebrow{margin-bottom:12px}.launch-towns{font:clamp(22px,3vw,38px)/1.4 Georgia,serif;margin-bottom:14px}.launch-towns span{color:var(--gold);padding:0 14px}.library-launch>p:last-child{font-size:15px;color:var(--muted);line-height:1.7;margin:0}
.library-how{max-width:1600px;margin:auto;padding:85px var(--gutter) 100px}.library-section-intro h2{font-size:clamp(40px,4.5vw,65px);margin-bottom:48px}
.library-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;padding:0;margin:0}.library-steps li{border-top:1px solid #6b5938;padding-top:20px}.library-step-number{font:50px/1.2 Georgia,serif;color:var(--gold)}.library-steps h3{font-size:30px;line-height:1.2;margin:22px 0 18px}.library-steps p{font-size:16px;line-height:1.8;color:var(--muted)}.library-steps a,.library-inline-link{display:inline-block;color:#e3c797;font-size:15px;border-bottom:1px solid #6b5938;padding-bottom:6px;line-height:1.6}
.library-support{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.04fr 1fr;gap:clamp(30px,6vw,96px);padding:30px var(--gutter) 105px;align-items:center}.library-support figure{align-self:stretch;display:flex;flex-direction:column;min-width:0}.library-support img{width:100%;height:100%;min-height:530px;max-height:780px;object-fit:cover;object-position:center}.library-support figcaption{font-size:12px;line-height:1.6;color:var(--muted);padding-top:12px}.library-support h2{font-size:clamp(42px,4.7vw,68px)}.library-support ul{padding-left:20px;margin:26px 0;color:#ded5c7;font-size:16px;line-height:1.9}.library-support .library-detail{font-size:14px;line-height:1.75;color:var(--muted);margin:24px 0 12px}.library-support .button-row{gap:12px}
.library-purpose{isolation:isolate;min-height:760px;display:flex;align-items:center;padding:90px var(--gutter) 120px;overflow:hidden}.library-purpose figure{position:absolute;inset:0;z-index:-2}.library-purpose img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1)}.library-purpose:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#100f0df5 0%,#100f0dc9 40%,#100f0d26 100%),linear-gradient(0deg,#100f0d 0%,transparent 35%)}.library-purpose-copy{max-width:650px}.library-purpose h2{font-size:clamp(46px,5.4vw,78px)}.library-purpose .button-row{margin-top:28px;gap:25px}.library-photo-credit{position:absolute;bottom:22px;left:var(--gutter);right:var(--gutter);font-size:12px;line-height:1.6;color:#c6bfb2;max-width:700px}.library-photo-credit a{text-decoration:underline}.library-story a:focus-visible,.library-support a:focus-visible,.library-purpose a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.library-story .button,.library-support .button,.library-purpose .button{gap:14px;font-size:16px}
@media(min-width:1800px){.library-panorama{min-height:800px}}
@media(max-width:800px){.library-panorama{min-height:850px;align-items:flex-end}.library-panorama>img{height:64%;object-position:25% center}.library-panorama:after{background:linear-gradient(0deg,#100f0d 0%,#100f0d 28%,#100f0d30 73%,transparent)}.library-panorama-copy{width:100%;padding:360px var(--gutter) 75px;margin:0}.library-panorama-copy h2{font-size:52px;max-width:420px}.library-panorama-copy h2 br:nth-of-type(2){display:none}.library-panorama-copy h2 em{display:block}.library-panorama figcaption{font-size:12px}.library-launch{padding-top:25px;padding-bottom:45px}.launch-towns span{padding:0 4px}.library-how{padding-top:60px;padding-bottom:65px}.library-steps{grid-template-columns:1fr;gap:32px}.library-steps li{position:relative;padding-left:65px;padding-top:20px}.library-step-number{position:absolute;left:0;top:20px;font-size:36px}.library-steps h3{margin:0 0 14px;font-size:28px}.library-steps p{margin-bottom:16px}.library-support{grid-template-columns:1fr;gap:35px;padding-top:15px;padding-bottom:65px}.library-support img{height:auto;min-height:0;max-height:510px;aspect-ratio:4/3;object-fit:cover}.library-support h2{font-size:48px}.library-purpose{min-height:820px;padding-top:70px;padding-bottom:125px}.library-purpose:after{background:linear-gradient(90deg,#100f0de8,#100f0d8a),linear-gradient(0deg,#100f0d 0%,transparent 50%)}.library-purpose img{object-position:65% center}.library-purpose h2{font-size:52px}.library-purpose-copy p{max-width:560px}}
@media(max-width:380px){.library-panorama-copy h2,.library-support h2,.library-purpose h2{font-size:43px}.library-panorama-copy{padding-top:310px}.library-panorama{min-height:810px}.library-steps li{padding-left:52px}}
