:root{--paper:#f7f1e5;--paper-deep:#efe4d0;--paper-dark:#e6d7bd;--card:#fdf9f0;--ink:#2e1f14;--ink-soft:#4a3826;--ink-faint:#7a6350;--burnt:#c15f2a;--burnt-deep:#a34d20;--brick:#8f3b22;--espresso:#1f140c;--green:#31402f;--gold:#b98a3e;--rule:#d8c6a4;--cream:#f7f1e5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body), "Libre Franklin", Helvetica, Arial, sans-serif;-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 20% 10%,#c15f2a0d,#0000 55%),radial-gradient(at 85% 80%,#8f3b220f,#0000 50%);margin:0;line-height:1.65}::selection{background:var(--burnt);color:#fff}a{color:inherit}.serif{font-family:var(--font-serif), "Fraunces", Georgia, serif}.wrap{max-width:72rem;margin:0 auto;padding:0 1.5rem}header.site{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--rule);background:#f7f1e5f0;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:72rem;margin:0 auto;padding:.6rem 1.5rem;display:flex}.brand{font-family:var(--font-serif), "Fraunces", Georgia, serif;letter-spacing:.04em;align-items:center;gap:.7rem;font-size:1.05rem;font-weight:700;text-decoration:none;display:flex}.brand img{object-fit:cover;border:2px solid var(--paper-deep);border-radius:50%;width:40px;height:40px;box-shadow:0 2px 8px #2e1f1440}.brand .sub{font-family:var(--font-body);color:var(--ink-faint);letter-spacing:.06em;font-size:.75rem;font-weight:400}.topnav{letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:1.4rem;font-size:.72rem;font-weight:600;display:flex}.topnav a{color:var(--ink-soft);text-decoration:none;transition:color .2s}.topnav a:hover{color:var(--burnt)}.locale-switch{letter-spacing:.12em;gap:.6rem;font-size:.7rem;display:flex}.locale-switch a{color:var(--ink-faint);border-radius:3px;padding:.2rem .35rem;text-decoration:none}.locale-switch a.active{color:var(--burnt-deep);background:var(--paper-deep);font-weight:700}.hero{color:var(--cream);text-align:center;background:linear-gradient(#1f140cd6,#1f140c8c 45%,#1f140ce0),repeating-linear-gradient(0deg,#0000 0 34px,#00000024 34px 36px),linear-gradient(100deg,#6b2f1c 0%,#8f3b22 22%,#7a3a20 40%,#93351d 60%,#6e2e1b 82%,#7c3520 100%);padding:5.5rem 1.5rem 6.5rem;position:relative;overflow:hidden}.hero-inner{z-index:1;max-width:760px;margin:0 auto;position:relative}.hero .logo-badge{object-fit:cover;outline-offset:7px;background:var(--burnt);border:3px solid #f3e7d2;border-radius:50%;outline:1px solid #f3e7d28c;width:148px;height:148px;margin:0 auto 1.8rem;transform:rotate(-4deg);box-shadow:0 18px 44px #00000073}.hero .kicker{letter-spacing:.4em;text-transform:uppercase;color:#e9c79b;margin-bottom:1.4rem;font-size:.72rem;font-weight:600}.hero h1{font-family:var(--font-serif), "Fraunces", Georgia, serif;letter-spacing:.01em;margin:0 0 1rem;font-size:clamp(2.6rem,7vw,4.4rem);font-weight:600;line-height:1.05}.hero h1 em{color:#f0b36a;font-style:italic;font-weight:500}.hero .lede{color:#f7f1e5d9;max-width:560px;margin:1.6rem auto 0;font-size:1.02rem;font-weight:300}.hero .lede strong{color:#fff;font-weight:600}.hero-meta{letter-spacing:.08em;color:#e9c79b;flex-wrap:wrap;justify-content:center;gap:.6rem 2rem;margin-top:2.2rem;font-size:.8rem;display:flex}.hero-meta .star{color:#f0b36a}.page-hero{color:var(--cream);background:linear-gradient(#1f140cdb,#1f140cad),repeating-linear-gradient(0deg,#0000 0 34px,#00000024 34px 36px),linear-gradient(100deg,#6b2f1c,#8f3b22 40%,#6e2e1b);padding:4.2rem 0 3.6rem}.page-hero .kicker{letter-spacing:.34em;text-transform:uppercase;color:#e9c79b;margin:0 0 1rem;font-size:.7rem;font-weight:600}.page-hero h1{font-family:var(--font-serif), "Fraunces", Georgia, serif;margin:0 0 .8rem;font-size:clamp(2.2rem,5.5vw,3.6rem);font-weight:600;line-height:1.1}.page-hero .lead{color:#f7f1e5d1;max-width:620px;margin:0;font-weight:300}.chapter{padding:5rem 0 4rem}.chapter+.chapter{border-top:1px solid var(--rule)}.ch-label{align-items:center;gap:1.2rem;margin-bottom:2.6rem;display:flex}.ch-num{font-family:var(--font-serif), "Fraunces", Georgia, serif;color:var(--paper);background:var(--burnt);letter-spacing:.02em;border-radius:50%;flex:0 0 3rem;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:.95rem;font-weight:900;display:flex;box-shadow:inset 0 0 0 2px #ffffff40}.ch-titles h2{font-family:var(--font-serif), "Fraunces", Georgia, serif;margin:0;font-size:clamp(1.7rem,4vw,2.4rem);font-weight:600;line-height:1.15}.ch-titles p{letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);margin:.25rem 0 0;font-size:.72rem;font-weight:600}.ch-rule{background:linear-gradient(90deg, var(--rule), transparent);flex:1;height:1px}.intro{max-width:640px;color:var(--ink-soft);margin:0 0 2.8rem;font-size:1.04rem;font-weight:300}.intro strong{color:var(--ink);font-weight:600}.dropcap:first-letter{font-family:var(--font-serif), "Fraunces", Georgia, serif;float:left;color:var(--burnt);padding:.06em .12em 0 0;font-size:3.4em;font-weight:900;line-height:.85}.cards{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.6rem;display:grid}.libcard{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:1.9rem 1.8rem 1.7rem;transition:transform .25s,box-shadow .25s;position:relative;box-shadow:0 10px 26px #2e1f1414}.libcard:hover{transform:translateY(-5px);box-shadow:0 18px 38px #2e1f1424}.libcard:before{content:"";background:repeating-linear-gradient(90deg, var(--burnt) 0 14px, transparent 14px 22px);opacity:.85;border-radius:3px 3px 0 0;height:8px;position:absolute;top:0;left:0;right:0}.libcard .cat{letter-spacing:.32em;text-transform:uppercase;color:var(--burnt);margin-bottom:.7rem;font-size:.62rem;font-weight:600}.libcard h3{font-family:var(--font-serif), "Fraunces", Georgia, serif;margin:0 0 .35rem;font-size:1.42rem;font-weight:600;line-height:1.25}.libcard .vn{color:var(--ink-faint);margin-bottom:.8rem;font-size:.9rem;font-style:italic}.libcard p.desc{color:var(--ink-soft);margin:0 0 1.2rem;font-size:.9rem;font-weight:300}.price-row{border-top:1px dashed var(--rule);justify-content:space-between;align-items:baseline;padding-top:1rem;display:flex}.price-row .price{font-family:var(--font-serif), "Fraunces", Georgia, serif;color:var(--burnt-deep);font-size:1.25rem;font-weight:700}.price-row .note{color:var(--ink-faint);letter-spacing:.06em;font-size:.72rem}.stamp{border:2px solid var(--burnt);color:var(--burnt-deep);letter-spacing:.28em;text-transform:uppercase;opacity:.9;border-radius:3px;margin-top:1.1rem;padding:.3rem .9rem;font-size:.62rem;font-weight:600;display:inline-block;transform:rotate(-5deg)}.menu-book{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.2rem 2.6rem;display:grid}.menu-section h3{font-family:var(--font-serif), "Fraunces", Georgia, serif;align-items:baseline;gap:.8rem;margin:0 0 .3rem;font-size:1.35rem;font-weight:600;display:flex}.menu-section h3 .num{color:var(--burnt);font-size:.85rem;font-weight:700}.menu-section .sub{color:var(--ink-faint);margin:0 0 1.1rem;font-size:.78rem;font-style:italic}.menu-section ul{margin:0;padding:0;list-style:none}.menu-section li{margin-bottom:.85rem}.item-line{align-items:baseline;gap:.7rem;display:flex}.item-line .name{font-size:.95rem;font-weight:500}.item-line .dots{border-bottom:1px dotted var(--ink-faint);flex:1;min-width:1.2rem;transform:translateY(-4px)}.item-line .amt{font-family:var(--font-serif), "Fraunces", Georgia, serif;color:var(--burnt-deep);white-space:nowrap;font-weight:700}.item-note{color:var(--ink-faint);margin-top:.1rem;font-size:.78rem;font-style:italic;font-weight:300}.menu-foot{flex-wrap:wrap;gap:1rem;margin-top:3rem;display:flex}.ticket{background:var(--espresso);color:#f3e7d2;border-radius:4px;flex:260px;align-items:center;gap:1.2rem;padding:1.5rem 1.7rem;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #1f140c4d}.ticket:after{content:"";background:repeating-linear-gradient(0deg, var(--burnt) 0 12px, transparent 12px 20px);width:6px;position:absolute;top:0;bottom:0;left:0}.ticket .big{font-family:var(--font-serif), "Fraunces", Georgia, serif;color:#f0b36a;font-size:1.9rem;font-weight:700;line-height:1}.ticket p{color:#f3e7d2d9;margin:0;font-size:.82rem;font-weight:300}.ticket strong{color:#fff}.story{background:var(--espresso);color:#f3e7d2;border-radius:6px;padding:3.6rem 3rem;position:relative;overflow:hidden}.story:before{content:"“";font-family:var(--font-serif), "Fraunces", Georgia, serif;color:#c15f2a38;font-size:11rem;line-height:1;position:absolute;top:-1.6rem;left:1.6rem}.pull{font-family:var(--font-serif), "Fraunces", Georgia, serif;max-width:720px;margin:0;font-size:clamp(1.5rem,3.4vw,2.15rem);font-style:italic;font-weight:500;line-height:1.4;position:relative}.pull .hl{color:#f0b36a}.story-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2rem;margin-top:2.8rem;display:grid}.fact h4{letter-spacing:.3em;text-transform:uppercase;color:#e9c79b;margin:0 0 .6rem;font-size:.66rem;font-weight:600}.fact p{color:#f3e7d2d1;margin:0;font-size:.92rem;font-weight:300}.fact p strong{color:#fff}.story-body{max-width:680px;margin-top:2.2rem}.story-body p{color:#f3e7d2d9;margin:0 0 1.2rem;font-weight:300}.story-body p strong{color:#fff}.visit-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.4rem;margin-top:.5rem;display:grid}.visit-block h4{letter-spacing:.3em;text-transform:uppercase;color:var(--burnt);margin:0 0 .9rem;font-size:.66rem;font-weight:600}.visit-block p{color:var(--ink-soft);margin:0 0 .6rem;font-size:1rem;font-weight:300}.visit-block p strong{color:var(--ink);font-weight:600}.visit-block .big-addr{font-family:var(--font-serif), "Fraunces", Georgia, serif;color:var(--ink);font-size:1.5rem;font-weight:600;line-height:1.4}.hours-table{border-collapse:collapse;width:100%;font-size:.95rem}.hours-table td{border-bottom:1px dashed var(--rule);padding:.45rem 0}.hours-table td:last-child{text-align:right;font-weight:600}.phone-link{font-family:var(--font-serif), "Fraunces", Georgia, serif;color:var(--burnt-deep);border-bottom:2px solid var(--burnt);margin-top:1rem;padding-bottom:.15rem;font-size:1.6rem;font-weight:700;text-decoration:none;display:inline-block}.due-stamp{border:3px double var(--brick);color:var(--brick);font-family:var(--font-serif), "Fraunces", Georgia, serif;letter-spacing:.06em;text-align:center;border-radius:4px;margin-top:1.6rem;padding:.8rem 1.4rem;font-weight:600;display:inline-block;transform:rotate(3deg)}.due-stamp small{font-family:var(--font-body);letter-spacing:.3em;text-transform:uppercase;margin-bottom:.25rem;font-size:.62rem;display:block}.dir-link{background:var(--burnt);color:#fff;letter-spacing:.24em;text-transform:uppercase;border-radius:3px;margin-top:1.2rem;padding:.7rem 1.6rem;font-size:.72rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.dir-link:hover{background:var(--burnt-deep)}footer.site{background:var(--espresso);color:#f3e7d2b3;margin-top:5rem;padding:3rem 1.5rem 3.4rem}.foot-inner{text-align:center;max-width:72rem;margin:0 auto}.foot-logo{object-fit:cover;border:2px solid #f3e7d266;border-radius:50%;width:64px;height:64px;margin-bottom:1rem}.f-badge{font-family:var(--font-serif), "Fraunces", Georgia, serif;color:#f3e7d2;letter-spacing:.04em;font-size:1.3rem;font-weight:900}.f-badge span{color:var(--burnt)}.foot-links{letter-spacing:.22em;text-transform:uppercase;justify-content:center;gap:1.6rem;margin:1.2rem 0;font-size:.72rem;font-weight:600;display:flex}.foot-links a{color:#f3e7d2bf;text-decoration:none}.foot-links a:hover{color:#f0b36a}footer.site p{letter-spacing:.05em;margin:.8rem 0 0;font-size:.78rem;font-weight:300}.f-rule{background:var(--burnt);width:56px;height:2px;margin:1.2rem auto}.foot-base{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem 1.6rem;margin-top:1.2rem;font-size:.75rem;display:flex}.foot-base a{color:#f3e7d2d9;text-underline-offset:3px;text-decoration:underline}.foot-base a:hover{color:#f0b36a}.rv{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}.rv.in{opacity:1;transform:none}.sec-cta{text-align:center;margin-top:3rem}.btn-outline{border:2px solid var(--burnt);color:var(--burnt-deep);letter-spacing:.28em;text-transform:uppercase;border-radius:3px;padding:.85rem 2.2rem;font-size:.72rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.btn-outline:hover{background:var(--burnt);color:#fff}.block{padding:4rem 0}.kicker-line{letter-spacing:.34em;text-transform:uppercase;color:var(--burnt);margin:0 0 1rem;font-size:.7rem;font-weight:600}@media (max-width:640px){.topnav{display:none}.story{padding:2.6rem 1.6rem}.chapter{padding:3.4rem 0 2.8rem}.hero{padding:4rem 1.25rem 5.5rem}}
