:root{color-scheme:light;--ink:#203f32;--green:#214637;--paper:#f7f2e6;--white:#fffdf7;--line:#dddccf;--muted:#61685f;--gold:#d7b474;--radius:22px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-size:16px;line-height:1.55}a{color:inherit;text-underline-offset:4px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,iframe:focus-visible{outline:3px solid #a86420;outline-offset:5px}.skip-link{position:fixed;left:16px;top:-100px;padding:12px 20px;background:var(--green);color:white;border-radius:8px;z-index:20}.skip-link:focus{top:12px}.site-header{max-width:1224px;margin:auto;padding:25px 28px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;min-width:0;text-decoration:none}.brand-mark{flex-shrink:0;width:49px;height:49px;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid #b4bbae;border-radius:50%;font:36px/1 Georgia,serif}.brand-mark span{position:absolute;font-size:12px;top:-4px;right:0;background:var(--paper);padding:1px 2px}.brand-name{min-width:0;overflow-wrap:break-word;font:24px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.3px}.brand-name small{display:block;font:10px/1.4 Arial,sans-serif;letter-spacing:2.4px;margin-top:7px}.header-contact{display:flex;align-items:center;gap:9px;font-size:14px;text-decoration:none}.header-contact svg{width:19px;height:19px}.header-contact:hover{text-decoration:underline}.page{max-width:1224px;margin:auto;padding:34px 28px 46px}.intro{margin-bottom:26px}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;color:#657663}h1{font:44px/1.12 Georgia,'Times New Roman',serif;letter-spacing:-1.1px;margin:10px 0 12px}.intro p{margin:0;color:var(--muted);font-size:17px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 298px;gap:28px;align-items:start}.payment-panel{background:var(--white);border:1px solid #dfdfd2;border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 36px #203f3208;scroll-margin-top:20px}.payment-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e7e6da;padding:19px 25px;font-size:15px}.payment-topline>span:first-child{display:flex;align-items:center;gap:10px;font-weight:700}.payment-topline svg{width:23px;height:23px}.payment-provider{font-size:13px;color:var(--muted)}.form-wrap{position:relative;background:#f7f2e6;min-height:380px}iframe{display:block;border:0;width:100%;min-width:100%;height:520px;min-height:380px;background:#f7f2e6}.loading{position:absolute;left:20px;top:5px;right:20px;text-align:center;font-size:14px;color:var(--muted);pointer-events:none;background:var(--paper);padding:10px;z-index:1}.loading[hidden]{display:none}.payment-note{font-size:13px;line-height:1.6;color:var(--muted);margin:0;padding:22px 25px 23px;border-top:1px solid #e7e6da}.welcome-panel{border-radius:var(--radius);overflow:hidden;background:var(--green);color:#fff9eb}.welcome-copy{padding:31px 29px 33px}.little-star{color:var(--gold);font-size:25px;line-height:1}h2{font:42px/1.06 Georgia,'Times New Roman',serif;letter-spacing:-.6px;margin:20px 0 20px}.welcome-copy p{color:#e3e8de;font-size:16px;margin:0}.welcome-rule{width:40px;border-top:1px solid #96a28c;margin:26px 0 23px}address{font-style:normal;font-size:15px;line-height:1.7;color:#e3e8de}.map-link{display:inline-block;font-size:13px;margin-top:15px;color:#f3dfb7}.map-link span{margin-left:5px}.welcome-image{display:block;width:100%;height:240px;object-fit:cover;background:#e9deca}.site-footer{max-width:1224px;padding:20px 28px 30px;margin:auto;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:13px;color:var(--muted)}.site-footer>span:first-child{color:var(--ink)}.site-footer>span:first-child>span{margin:0 6px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:950px){.layout{grid-template-columns:minmax(0,1fr) 252px;gap:20px}.welcome-copy{padding:25px 23px}h2{font-size:36px}.welcome-image{height:210px}}
@media(max-width:720px){.site-header{padding:19px 20px}.brand-mark{width:41px;height:41px;font-size:29px}.brand-name{font-size:21px}.brand-name small{font-size:10px}.header-contact{width:40px;height:40px;justify-content:center;border:1px solid var(--line);border-radius:50%;flex-shrink:0}.header-contact span{display:none}.header-contact svg{width:20px;height:20px}.page{padding:27px 16px 32px}.intro{padding:0 4px;margin-bottom:23px}.eyebrow{font-size:11px}h1{font-size:34px;letter-spacing:-.6px;max-width:350px}.intro p{font-size:16px;max-width:360px}.layout{grid-template-columns:1fr;gap:23px}.payment-topline{padding:16px 20px}.payment-note{padding:20px}.welcome-panel{display:flex;align-items:stretch}.welcome-copy{flex:1;min-width:0;padding:26px}.welcome-copy h2{font-size:35px}.welcome-image{width:36%;height:auto;object-fit:cover}.welcome-rule{margin:21px 0 17px}.site-footer{padding:20px 20px 26px;display:block}.site-footer>span{display:block;margin:0 0 8px}iframe{min-height:380px}.little-star{font-size:21px}}
@media(max-width:390px){h1{font-size:30px}.welcome-panel{display:block}.welcome-image{width:100%;height:200px}.brand-name{font-size:19px}.brand{gap:9px}}
.share-trigger{font:600 14px/1.2 Arial,sans-serif;background:var(--white);color:var(--ink);border:1px solid #bfc7b9;border-radius:9px;min-height:46px;padding:10px 16px;display:inline-flex;gap:8px;align-items:center;cursor:pointer;flex-shrink:0}.share-trigger svg{width:19px;height:19px}.share-trigger:hover{background:#e9eddf}button:focus-visible,input:focus-visible{outline:3px solid #a86420;outline-offset:3px}.phone-link{display:inline-block;margin-top:12px}.share-dialog{border:0;border-radius:23px;padding:28px;max-width:500px;width:calc(100% - 32px);color:var(--ink);background:var(--white);box-shadow:0 20px 80px #10241838;max-height:calc(100dvh - 32px);overflow:auto}.share-dialog::backdrop{background:#142e24a8;backdrop-filter:blur(3px)}body:has(.share-dialog[open]){overflow:hidden}.share-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.share-heading h2{font-size:29px;line-height:1.15;letter-spacing:-.5px;margin:7px 0 0}.close-share{width:44px;min-width:44px;height:44px;margin:-8px -10px 0 0;border:0;background:transparent;color:var(--muted);font:30px/1 Arial,sans-serif;cursor:pointer;border-radius:50%}.close-share:hover{background:#eeeede}.share-dialog>p{margin:14px 0 19px;color:var(--muted)}.share-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.share-option{background:#f6f5ed;border:1px solid #e0e3d7;border-radius:11px;padding:13px;display:flex;align-items:center;gap:10px;color:var(--ink);font:600 16px/1.2 Arial,sans-serif;text-decoration:none;min-height:65px;cursor:pointer}.share-option:hover{background:#e9efdf}.share-icon{display:flex;align-items:center;justify-content:center;width:32px;flex-shrink:0}.share-icon svg{width:26px;height:26px}.whatsapp{color:#168343}.signal{color:#3568c6}.email{color:#536f7d}.sms{color:#637f3b}.share-dialog .signal-note{font-size:13px;line-height:1.6;margin:16px 0 21px}.link-label{display:block;font-size:13px;margin-bottom:7px;color:var(--muted)}.copy-row{display:flex;gap:7px}.copy-row input{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;background:var(--paper);font:16px/1.5 Arial,sans-serif;padding:10px;color:var(--muted)}.copy-row button{min-height:46px;border:0;border-radius:7px;background:var(--green);color:white;font:600 14px Arial,sans-serif;white-space:nowrap;padding:10px 14px;cursor:pointer}.share-dialog .share-status{min-height:22px;font-size:14px;margin:10px 0 0;color:var(--green)}
@media(max-width:720px){.site-header{padding:14px 16px}.brand-name{font-size:20px}.share-trigger{padding:10px 12px}.page{padding-top:22px}.intro{margin-bottom:21px}.intro h1{font-size:32px;margin-top:7px}.intro p{font-size:15px}.share-dialog{margin:auto auto max(12px,env(safe-area-inset-bottom));padding:24px 20px 18px;width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:22px}.share-heading h2{font-size:27px}.share-heading .eyebrow{font-size:11px}.share-option{padding:12px 10px;min-height:64px}.copy-row{flex-wrap:wrap}.copy-row input{width:100%;flex-basis:100%}.copy-row button{width:100%;min-height:48px}.brand-name small{letter-spacing:1.7px}}
@media(max-width:350px){.brand-name{font-size:18px}.brand-mark{width:35px;height:35px;font-size:25px}.share-trigger{padding:10px;font-size:13px;gap:5px}.site-header{gap:8px}.intro h1{font-size:29px}}
.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 22px}.site-footer nav a,.site-footer nav button{display:inline-flex;align-items:center;min-height:44px}.site-footer nav button{background:none;padding:0;border:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.site-footer{align-items:center}.legal-page{max-width:820px;margin:auto;padding:30px 28px 55px;overflow-wrap:anywhere}.legal-page h1{margin:22px 0 30px}.legal-page h2{font-size:26px;line-height:1.25;letter-spacing:-.2px;margin:0 0 14px}.legal-page section{padding:25px 0;border-top:1px solid var(--line)}.legal-page p{margin:0 0 15px}.legal-page p:last-child{margin-bottom:0}.legal-page dl{margin:0}.legal-page dt{font-weight:700;margin-top:18px}.legal-page dt:first-child{margin-top:0}.legal-page dd{margin:4px 0 0}.legal-page a{overflow-wrap:anywhere}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px}.legal-source{font-size:14px;color:var(--muted);margin-top:23px!important}.draft-note{background:#eee5ce;border:1px solid #d1bc8d;border-radius:10px;padding:16px;font-size:15px;margin-bottom:27px!important}.draft-note strong{display:block;margin-bottom:5px}
@media(max-width:720px){.legal-page{padding:20px 20px 35px}.legal-page h1{font-size:33px}.legal-page h2{font-size:24px}.site-footer nav{margin:4px 0 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Shared navigation and the café homepage. */
.site-header .brand{flex:1}
.main-nav{display:flex;align-items:center;gap:6px}
.main-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border-radius:9px;font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap}
.main-nav a:hover{background:#e5e9dc}
.main-nav a[aria-current="page"]{background:var(--green);color:var(--white)}
.home-page{padding-top:28px;padding-bottom:8px}
.home-hero{display:grid;grid-template-columns:1.08fr 1fr;overflow:hidden;border-radius:var(--radius);background:var(--green);color:var(--white)}
.home-copy{padding:clamp(32px,4.3vw,60px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.home-copy .eyebrow{color:#e4c78f;font-size:12px;letter-spacing:1.8px}
.home-copy h1{font-size:clamp(45px,5.2vw,68px);line-height:1.04;letter-spacing:-1.8px;margin:22px 0}
.home-copy p{color:#e3e8de;font-size:18px;line-height:1.65;margin:0}
.primary-link{display:inline-flex;align-items:center;justify-content:center;gap:16px;max-width:100%;min-height:54px;padding:14px 20px;border-radius:10px;background:#f1d69f;color:#19382b;font-size:16px;font-weight:700;text-decoration:none;text-align:center}
.primary-link:hover{background:#ffe7b8}
.primary-link svg{width:22px;height:22px;flex-shrink:0}
.home-payment-caption{display:block;margin-top:13px;max-width:270px;color:#e3e8de;font-size:14px;line-height:1.6}
.home-art{min-width:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;background:#f5ecd7}
.home-art img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:48% center}
.home-art figcaption{padding:10px 14px;font-size:12px;line-height:1.6;color:var(--muted);background:var(--paper)}
.visit-section{display:grid;grid-template-columns:1.15fr 1fr 1fr 1.35fr;gap:28px;padding:42px 10px}
.visit-section h2{font-size:34px;line-height:1.15;letter-spacing:-.6px;margin:12px 0 0}
.visit-section h3{font-size:16px;margin:4px 0 12px}
.visit-section address{font-size:16px;line-height:1.7;color:var(--muted)}
.visit-link{display:inline-flex;align-items:center;gap:5px;min-height:44px;font-size:14px;margin-top:6px}
.visit-phone{display:inline-flex;align-items:center;min-height:44px;margin-top:-10px;font-size:22px;font-family:Georgia,'Times New Roman',serif}
.visit-contact p{font-size:14px;line-height:1.7;color:var(--muted);margin:9px 0 0}
.visit-hours{min-width:0}
.visit-hours table{width:100%;border-collapse:collapse;font-size:14px;color:var(--muted);line-height:1.5}
.visit-hours th,.visit-hours td{padding:5px 0;text-align:left;vertical-align:top}
.visit-hours th{font-weight:400;padding-right:12px}
.visit-hours td{text-align:right;white-space:nowrap}
@media(max-width:950px){.site-header{gap:12px}.main-nav a{padding-inline:13px}.brand-name{font-size:22px}.home-copy{padding:32px}.home-copy h1{font-size:49px}.home-copy p{font-size:17px}.visit-section{gap:25px}.visit-section h2{font-size:30px}}
@media(max-width:720px){
 .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand share" "nav nav";gap:16px 12px;padding:16px}
 .site-header .brand{grid-area:brand}.site-header>.share-trigger{grid-area:share}
 .brand-name{font-size:20px}.main-nav{grid-area:nav;gap:8px;width:100%}.main-nav a{flex:1;min-height:46px;background:#eeeee2}
 .home-page{padding-top:20px}.home-hero{grid-template-columns:1fr}
 .home-copy{padding:32px 27px 30px}.home-copy h1{font-size:49px;max-width:none;letter-spacing:-1.2px;margin:18px 0}
 .home-copy p{font-size:16px}.home-copy .eyebrow{font-size:12px;letter-spacing:1.4px}
 .primary-link{width:100%;gap:12px}.home-payment-caption{max-width:none;font-size:14px}
 .home-art{height:auto}.home-art img{height:auto;aspect-ratio:1206/676;object-position:center}
 .visit-section{grid-template-columns:1fr 1fr;gap:24px 18px;padding:32px 5px}.visit-heading{grid-column:1/-1}.visit-section h2{font-size:31px}.visit-section h2 br{display:none}.visit-section h3{font-size:15px}.visit-section address{font-size:16px}.visit-phone{font-size:20px}.visit-contact p{font-size:14px}.visit-link{line-height:1.5}
}
@media(max-width:390px){.brand-name{font-size:18px}.brand{gap:9px}.site-header{gap:14px 8px}.home-copy{padding:29px 22px}.home-copy h1{font-size:43px}.primary-link{padding-inline:13px;gap:10px}.visit-section{grid-template-columns:1fr;gap:25px}.visit-heading{grid-column:auto}.visit-section h2{max-width:260px}.visit-section h2 br{display:initial}}
@media(max-width:1100px) and (min-width:721px){.visit-section{grid-template-columns:1fr 1fr 1.25fr}.visit-heading{grid-column:1/-1}.visit-heading h2 br{display:none}}
@media(max-width:720px){.visit-hours{grid-column:1/-1}.visit-hours table{max-width:360px;font-size:15px}}

.home-art .gallery-rating{padding:0 14px 10px;text-align:center;background:var(--paper)}
.home-rating{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:var(--ink);text-decoration:none;font-size:14px;line-height:1.6}
.rating-main{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rating-star{color:#a86420;font-size:22px;line-height:1}
.home-rating:hover .rating-main{text-decoration:underline;text-underline-offset:4px}
.intro .payment-methods{margin-top:8px;color:var(--ink)}

.photo-trigger{display:block;position:relative;min-width:0;min-height:0;overflow:hidden;cursor:zoom-in}
.photo-trigger:focus-visible{outline-offset:-5px}
.photo-hint{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:8px;background:#fffdf7ed;color:var(--ink);font-size:14px;box-shadow:0 2px 12px #0002}
.photo-hint>span{font-size:21px;line-height:1}
.photo-dialog{width:calc(100% - 32px);max-width:1240px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:16px;background:var(--white);color:var(--ink);overflow:auto;box-shadow:0 20px 80px #0006}
.photo-dialog::backdrop{background:#10241ce8}
body:has(.photo-dialog[open]){overflow:hidden}
.photo-heading{display:flex;align-items:center;gap:8px;padding:12px 14px}
.photo-heading h2{flex:1;min-width:0;font-size:22px;line-height:1.2;margin:0;letter-spacing:-.2px}
.photo-control{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:28px/1 Arial,sans-serif;cursor:pointer}
.photo-control:hover{background:#e5e9dc}
.photo-stage{max-height:calc(100dvh - 160px);overflow:auto;overscroll-behavior:contain;background:#152e24;outline-offset:-3px}
.photo-stage img{display:block;width:100%;height:auto;max-height:calc(100dvh - 160px);object-fit:contain}
.photo-stage.is-zoomed img{width:200%;max-width:none;max-height:none}
.photo-credit{padding:12px 16px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:720px){.photo-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.photo-heading{padding:10px;gap:6px}.photo-heading h2{font-size:19px}.photo-hint{right:10px;bottom:10px}.photo-credit{padding:10px 12px}}

.gallery-main{position:relative;min-width:0;min-height:0;background:#172e25}
.gallery-main .photo-trigger{width:100%;height:100%;touch-action:pan-y pinch-zoom}
.gallery-main .photo-trigger img{width:100%;height:100%;object-fit:contain;aspect-ratio:auto}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#fffdf7eb;color:var(--ink);font:34px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 8px #0003}
.gallery-arrow:hover{background:var(--white)}.gallery-prev{left:10px}.gallery-next{right:10px}
.gallery-controls{display:flex;align-items:center;gap:12px;min-width:0;padding:12px;background:var(--paper);color:var(--ink)}
.gallery-thumbnails{display:flex;align-items:center;gap:8px;min-width:0;flex:1;overflow-x:auto;overscroll-behavior-x:contain;padding:5px 3px;scrollbar-width:thin;scrollbar-color:#a1ac99 transparent}
.gallery-thumb{flex-shrink:0;width:76px;height:58px;border:2px solid transparent;padding:2px;border-radius:8px;overflow:hidden;background:transparent;cursor:pointer}
.gallery-thumb[aria-pressed="true"]{border-color:var(--green)}
.home-art .gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:4px;aspect-ratio:auto}
.gallery-count{flex-shrink:0;margin-left:auto;white-space:nowrap;font-size:13px}
.photo-stage{max-height:calc(100dvh - 170px)}.photo-stage img{max-height:calc(100dvh - 170px)}.photo-stage.is-zoomed img{max-height:none}
.photo-footer{display:flex;align-items:center;justify-content:center;gap:20px;padding:10px;font-size:14px}
@media(max-width:720px){.gallery-main{aspect-ratio:4/3}.gallery-controls{gap:8px;padding:10px}.gallery-thumb{width:68px;height:54px}.gallery-thumbnails{gap:6px}.gallery-count{font-size:12px}.photo-hint{font-size:13px;padding:6px 9px}.gallery-arrow{width:44px;height:44px}}
@media(max-width:350px){.gallery-thumb{width:60px;height:49px}.gallery-controls{padding:8px;gap:6px}}

/* A small secondary note about the hall. */
.hall-section{margin:0 10px 28px;padding:22px 0 0;border-top:1px solid var(--line);scroll-margin-top:24px}
.hall-section h2{font-size:24px;line-height:1.25;letter-spacing:-.3px;margin:0 0 8px}
.hall-section p{max-width:90ch;margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.hall-contact{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 5px;min-height:44px;margin-top:4px;font-size:15px;text-decoration:underline}
.hall-contact:hover{color:#596747}
.hall-contact span{white-space:nowrap}
@media(max-width:720px){.hall-section{margin:0 4px 20px;padding-top:20px}.hall-section h2{font-size:23px}}
