.library-page { background-color: #e9dcc5; }
.library-main { padding-bottom: 28px; }

.library-hero { width: min(1280px, calc(100% - 32px)); min-height: 610px; margin: 18px auto 0; position: relative; overflow: hidden; border: 1px solid rgba(211,170,101,.62); border-radius: 18px; color: white; background: #17120d; box-shadow: 0 18px 42px rgba(47,29,14,.24), inset 0 0 0 5px rgba(10,7,5,.5); }
.library-hero > img { position: absolute; inset: 12px; width: calc(100% - 24px); height: calc(100% - 24px); object-fit: cover; border-radius: 12px; }
.library-hero-shade { position: absolute; inset: 12px; border-radius: 12px; background: linear-gradient(90deg, rgba(14,10,7,.9) 0%, rgba(14,10,7,.66) 42%, rgba(14,10,7,.1) 78%), linear-gradient(0deg, rgba(14,10,7,.58), transparent 55%); }
.library-hero::after { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(226,182,107,.55); border-radius: 12px; box-shadow: inset 0 0 0 4px rgba(10,7,5,.38), inset 0 0 42px rgba(0,0,0,.34); pointer-events: none; }
.library-hero-copy { position: absolute; z-index: 2; left: clamp(42px, 7vw, 110px); bottom: clamp(48px, 8vw, 92px); width: min(650px, calc(100% - 90px)); }
.library-hero h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(3.6rem, 7.4vw, 7rem); font-weight: 600; line-height: .86; letter-spacing: -.055em; text-shadow: 0 3px 0 rgba(0,0,0,.5), 0 14px 38px rgba(0,0,0,.48); }
.library-hero p { max-width: 620px; margin: 24px 0 16px; color: rgba(255,255,255,.84); font-size: clamp(1rem, 1.7vw, 1.22rem); }
.library-hero small { display: inline-flex; padding: 7px 11px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(15,12,9,.58); color: rgba(255,255,255,.66); font-size: .72rem; backdrop-filter: blur(8px); }

.parchment-section { width: min(1180px, calc(100% - 40px)); margin: 28px auto; padding: clamp(38px, 6vw, 76px); display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(36px, 7vw, 90px); align-items: start; position: relative; background: rgba(255,249,237,.84); border: 1px solid rgba(153,105,61,.35); border-radius: 20px; box-shadow: 0 18px 44px rgba(76,48,27,.1); }
.parchment-section::before { content: ""; position: absolute; inset: 9px; border: 1px solid rgba(153,105,61,.2); border-radius: 13px; pointer-events: none; }
.parchment-section h2, .tea-section h2, .book-section h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(2.25rem, 4.7vw, 4.4rem); line-height: .96; letter-spacing: -.045em; }
.intro-copy, .private-copy { color: #5d5045; font-size: 1.05rem; }
.intro-copy p:first-child, .private-copy p:first-child { margin-top: 0; }

.tea-section { width: min(1180px, calc(100% - 40px)); margin: 70px auto; }
.section-heading-centered { max-width: 750px; margin: 0 auto 34px; text-align: center; }
.section-heading-centered p { color: #75685d; }
.offering-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.offering-card { min-height: 270px; padding: 0 30px 30px; overflow: hidden; border: 1px solid rgba(153,105,61,.32); border-radius: 18px; background: rgba(255,250,241,.86); box-shadow: 0 16px 35px rgba(76,48,27,.09); transition: transform .2s ease, box-shadow .2s ease; }
.offering-card:hover { transform: translateY(-3px); box-shadow: 0 22px 44px rgba(76,48,27,.15); }
.offering-visual { position: relative; margin: 0 -30px 25px; aspect-ratio: 4 / 3; overflow: hidden; background: #17130f; }
.offering-visual::after { content: ""; position: absolute; inset: 0; border-bottom: 1px solid rgba(226,182,107,.55); box-shadow: inset 0 -32px 42px rgba(13,9,6,.28); pointer-events: none; }
.offering-visual img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .5s ease; }
.offering-card:hover .offering-visual img { transform: scale(1.035); }
.offering-card h3 { margin: 0 0 14px; font-family: Georgia, serif; font-size: 1.55rem; }
.offering-card ul { list-style: none; margin: 0; padding: 0; color: #74665a; }
.offering-card li { padding: 8px 0; border-top: 1px solid rgba(153,105,61,.15); }

.book-section { width: min(1180px, calc(100% - 40px)); margin: 28px auto; padding: clamp(42px, 7vw, 82px); display: grid; grid-template-columns: 260px 1fr; gap: clamp(36px, 7vw, 88px); align-items: center; overflow: hidden; position: relative; border: 1px solid rgba(226,182,107,.34); border-radius: 20px; background: #17130f; color: white; box-shadow: 0 22px 52px rgba(40,25,14,.24); }
.book-section::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(226,182,107,.2); border-radius: 13px; pointer-events: none; }
.book-section p { max-width: 690px; color: rgba(255,255,255,.66); font-size: 1.05rem; }
.book-ornament { width: 240px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(226,182,107,.46); border-radius: 50%; color: var(--gold); font-size: 4rem; background: radial-gradient(circle, rgba(125,91,46,.32), rgba(18,14,10,.4) 60%), repeating-radial-gradient(circle, transparent 0 14px, rgba(226,182,107,.09) 15px 16px); box-shadow: inset 0 0 0 10px #17130f, inset 0 0 0 11px rgba(226,182,107,.22); }

.library-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; margin-top: 12px; padding: 0 24px; border: 1px solid #17130f; border-radius: 999px; background: #17130f; color: white; text-decoration: none; font-weight: 800; }
.library-button.light { border-color: rgba(226,182,107,.55); background: var(--gold); color: #17130f; }
.library-button:hover, .library-button:focus-visible { transform: translateY(-1px); }
.private-section { margin-top: 28px; }
.library-footer-link { color: white; text-decoration: none; }

@media (max-width: 760px) {
  .library-hero { width: calc(100% - 16px); min-height: 570px; margin-top: 8px; border-radius: 14px; }
  .library-hero > img { inset: 8px; width: calc(100% - 16px); height: calc(100% - 16px); object-position: 54% center; border-radius: 9px; }
  .library-hero-shade { inset: 8px; border-radius: 9px; background: linear-gradient(0deg, rgba(14,10,7,.94) 3%, rgba(14,10,7,.68) 56%, rgba(14,10,7,.1) 100%); }
  .library-hero::after { inset: 8px; border-radius: 9px; }
  .library-hero-copy { left: 28px; bottom: 38px; width: calc(100% - 56px); }
  .library-hero h1 { font-size: clamp(3rem, 15vw, 4.8rem); }
  .library-hero p { margin-top: 18px; }
  .parchment-section, .book-section { grid-template-columns: 1fr; gap: 26px; width: calc(100% - 18px); padding: 46px 26px; }
  .tea-section { width: calc(100% - 18px); margin: 48px auto; }
  .offering-grid { grid-template-columns: 1fr; }
  .offering-card { min-height: 0; }
  .offering-visual { aspect-ratio: 16 / 10; }
  .book-ornament { width: 150px; }
}

@media (max-width: 380px) {
  .library-hero-copy { left: 24px; width: calc(100% - 48px); }
  .library-hero h1 { font-size: 2.8rem; }
  .library-hero small { border-radius: 12px; }
}
