@import url("fonts.css");
:root{--green:#245d2b;--button:#478f42;--pink:#eb559e;--ink:#30383d;--cream:#faf8ef;--line:#e3e6db;--serif:'PT Serif',Georgia,'Times New Roman',serif;--sans:Roboto,Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.65}img{max-width:100%;height:auto}a{color:var(--green);text-underline-offset:.18em}a:hover{color:#954166}button{font:inherit;cursor:pointer}h1,h2,h3{font-family:var(--serif);color:var(--green);line-height:1.2;margin:0 0 22px}h1{font-size:clamp(2.1rem,4.6vw,3.6rem)}h2{font-size:clamp(1.8rem,3vw,2.8rem)}h3{font-size:1.5rem}p{margin:0 0 20px}.wrap{width:min(1110px,calc(100% - 44px));margin:auto}.skip-link{position:absolute;left:12px;top:-100px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #245d2b;outline-offset:5px}.site-header{background:#fff;position:relative;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:125px;gap:32px}.brand{display:inline-block;line-height:0}.brand img{width:166px;height:auto}.header-inner nav ul{display:flex;align-items:center;gap:38px;list-style:none;margin:0;padding:0}.header-inner nav a{text-decoration:none;color:#222;font-family:var(--serif);font-size:20px;font-weight:700;white-space:nowrap}.header-inner nav a:hover,.header-inner nav .current>a{color:var(--green)}.menu-toggle{display:none;border:1px solid var(--green);background:#fff;color:var(--green);border-radius:4px;padding:8px 12px}.home-hero{min-height:650px;background-size:cover;background-position:center;margin:0 5px;display:flex;align-items:flex-start}.hero-copy{max-width:530px;padding:30px 0 65px}.hero-copy h1{font-size:clamp(3rem,6vw,4.6rem);font-style:italic;line-height:1.14;margin-bottom:8px}.hero-brand{font-family:var(--serif);font-size:25px;font-weight:bold;color:#111;line-height:1.2;margin:0}.hero-hours{font-size:20px;font-weight:bold;font-style:italic;line-height:1.4;margin:4px 0 22px}.button-row{display:flex;flex-wrap:wrap;gap:10px}.button{background:var(--button);color:#fff;padding:16px 28px;border-radius:8px;text-decoration:none;display:inline-block;font-size:15px;text-transform:uppercase;line-height:1.4}.button:hover{background:#2e6d31;color:#fff}.button.pink{background:var(--pink)}.button.pink:hover{background:#bd3579}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:5px}.feature{min-height:300px;display:flex;align-items:end;justify-content:center;text-align:center;background-size:cover;background-position:center;padding:28px 18px;position:relative}.feature:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.45))}.feature>div{position:relative}.feature h2{color:#fff;font-size:30px;font-style:italic;text-shadow:0 1px 5px #333;margin-bottom:16px}.content-wrap{padding:64px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.intro-grid>img{width:100%;object-fit:cover}.intro-grid p{font-size:18px}.eyebrow{text-transform:uppercase;font-family:var(--serif);font-size:18px;color:var(--pink);font-weight:bold;letter-spacing:.05em}.module-area{margin-top:45px}.hours-panel{background:var(--cream);border:2px solid var(--green);padding:35px 45px;text-align:center;max-width:850px;margin:auto}.hours-panel h2{font-size:2rem}.hours-panel dl{max-width:650px;margin:0 auto 24px}.hours-panel dl>div{display:grid;grid-template-columns:1fr 1.8fr;gap:15px;text-align:left;padding:9px;border-bottom:1px solid var(--line)}dt{font-weight:bold}dd{margin:0}.hours-panel p:last-child{margin:0}.fees{text-align:center;background:#f5f8ef;padding:52px 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fees h2{font-style:italic;font-size:3rem}.fee-grid{display:flex;justify-content:center;gap:120px}.fee-grid h3{font-style:italic;font-size:1.8rem}.fee-grid p{font-size:2.8rem;font-family:var(--serif);font-weight:bold;color:var(--pink);margin:0}.page-heading{text-align:center;margin:0 auto 38px}.prose{max-width:1000px;margin:auto}.prose h1{margin-bottom:25px}.prose h2{font-size:2rem;font-style:italic}.prose p{margin-bottom:24px}.contact-box{text-align:center;background:var(--cream);padding:36px}.contact-box address{font-style:normal}.map-frame iframe{width:100%;height:450px;border:0}.webcam-frame{background:#101010;aspect-ratio:16/9}.webcam-frame iframe{width:100%;height:100%;border:0}.small-print{font-size:15px;margin-top:15px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-item{display:block;overflow:hidden;aspect-ratio:1}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.gallery-item:hover img{transform:scale(1.04)}.lightbox{padding:20px;border:0;background:#fff;max-width:90vw;max-height:94vh}.lightbox::backdrop{background:rgba(0,0,0,.82)}.lightbox-image{display:block;max-height:78vh;max-width:82vw;width:auto}.lightbox-close{display:block;margin:0 0 10px auto;font-size:30px;line-height:1;padding:8px 14px;border:0;background:var(--cream)}.lightbox-caption{margin:12px 0 0;font-size:16px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review{border:1px solid var(--line);background:#fff;padding:24px;border-radius:5px;box-shadow:0 3px 14px #00000008}.review h2{font-family:var(--sans);font-size:18px;margin-bottom:8px}.review .stars{color:#ad7800;margin:0;letter-spacing:2px}.review time{font-size:13px;color:#65736a}.review blockquote{font-size:16px;line-height:1.6;margin:18px 0;white-space:normal}.review>a{font-size:14px}.site-footer{text-align:center;background:#f6f3ed url('../images/e91f0dc7-footer-bg.png') center bottom/cover no-repeat;padding:55px 0 65px}.footer-brand .brand img{width:185px}.footer-navigation ul{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;list-style:none;margin:30px 0;padding:0}.footer-navigation a{font-family:var(--serif);font-weight:bold;text-decoration:none;font-size:20px}.footer-contact p{font-family:var(--serif);color:var(--green);font-weight:bold;margin:0;font-size:20px}.content-with-sidebar{display:grid;grid-template-columns:2.5fr 1fr;gap:36px}.topbar{text-align:center;background:var(--green);color:#fff;padding:8px}.lp-menu-page,.area-cafe-drinks,.area-cafe-food,.area-cafe-sweet,.area-cafe-snacks{color:#264526}.lp-top{text-align:center}.lp-brand{font-family:var(--serif);font-size:2rem;font-weight:bold;letter-spacing:3px}.lp-brand span{display:block;font-size:.75rem;letter-spacing:2px}.lp-top h1{margin:20px 0}.lp-intro{max-width:720px;margin:0 auto}.lp-section{padding:40px 0;border-top:2px solid #c6d1b5}.lp-section h2{text-align:center;font-style:italic;font-size:2.7rem}.lp-section-intro{max-width:820px;text-align:center;margin:0 auto 35px}.lp-two-col{display:grid;grid-template-columns:1fr 1fr;gap:65px}.lp-line{display:flex;justify-content:space-between;gap:20px;border-bottom:1px dotted #c6d1b5;padding:6px 0}.lp-line strong{white-space:nowrap}.lp-note{font-size:15px;font-style:italic;line-height:1.45;margin:6px 0 18px}.lp-subspace{margin-top:32px}.lp-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:55px}.lp-item-block{padding-bottom:24px;margin-bottom:14px;border-bottom:1px solid #e3e8da}.lp-item-block h3{display:flex;justify-content:space-between;gap:18px;font-size:1.35rem;margin-bottom:9px}.lp-item-block h3 span{white-space:nowrap}.lp-item-block p{margin-bottom:7px;font-size:17px}.lp-alt{font-style:italic;font-size:15px!important}.lp-figure{margin:0 0 22px}.lp-figure img{width:100%;height:320px;object-fit:cover;border-radius:4px}.lp-figure figcaption{font-family:var(--serif);font-size:17px;font-style:italic;text-align:center;margin-top:8px}.lp-figure.lp-small img{max-width:150px;height:auto;display:block;margin:auto}.lp-toppings{display:grid;grid-template-columns:1fr 1fr;gap:5px 18px;padding-left:22px;font-size:16px}#system-message-container:empty{display:none}@media(max-width:1050px){.header-inner nav ul{gap:20px}.header-inner nav a{font-size:18px}.header-inner{gap:20px}.brand img{width:145px}.home-hero{background-position:58% center}.hero-copy{max-width:470px}.review-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:100px;flex-wrap:wrap;padding:12px 0;gap:0}.brand img{width:135px}.menu-toggle{display:block}#main-navigation{display:none;width:100%;padding:20px 0 5px}#main-navigation.is-open{display:block}.header-inner nav ul{display:block}.header-inner nav a{display:block;padding:10px 0;border-top:1px solid var(--line)}.home-hero{min-height:570px;background-position:63% center;position:relative}.home-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.7))}.home-hero .wrap{position:relative}.hero-copy{padding:35px 0;max-width:440px}.hero-copy h1{font-size:3.3rem}.feature-grid{grid-template-columns:1fr}.feature{min-height:280px}.intro-grid{grid-template-columns:1fr;gap:30px}.intro-grid>img{max-height:550px;object-fit:cover}.content-wrap{padding:40px 0}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.hours-panel{padding:26px 18px}.hours-panel dl>div{grid-template-columns:1fr;text-align:center;gap:2px}.fee-grid{gap:55px}.review-grid{grid-template-columns:1fr}.lp-layout,.lp-two-col,.content-with-sidebar{grid-template-columns:1fr;gap:30px}.lp-images{display:grid;grid-template-columns:1fr 1fr;gap:15px}.lp-figure img{height:250px}.footer-navigation ul{gap:15px 25px}.module-area{margin-top:32px}.lp-section{padding:30px 0}.fees{padding:32px 20px}}@media(max-width:420px){.hero-copy h1{font-size:2.8rem}.hero-brand{font-size:21px}.hero-hours{font-size:18px}.button{padding:14px 20px}.gallery-grid{gap:8px}.lp-images{grid-template-columns:1fr}.lp-toppings{grid-template-columns:1fr}.fee-grid{gap:35px}.fee-grid h3{font-size:1.4rem}.fee-grid p{font-size:2.2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.review-avatar{float:left;width:44px;height:44px;border-radius:50%;margin:0 12px 12px 0}.review blockquote{clear:both}.fees{background:#f5f8ef url('../images/70b52e7f-price-bg.png') center/cover no-repeat}
