:root{--primary:#193f3a;--secondary:#53716a;--accent:#a34e2d;--background:#f5f2e9;--surface:#fffdf7;--text:#213c36;--muted:#596b63;--line:#d3d8cd;--light:#d9e6db;--radius:4px;--gutter:clamp(1.1rem,4.5vw,7rem);--max:1560px;--serif:Georgia,'Times New Roman',serif;--sans:'Avenir Next',Avenir,'Segoe UI',sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--secondary) var(--background)}body{margin:0;background:var(--background);color:var(--text);font-family:var(--sans);font-size:clamp(15px,.4vw + 12px,19px);line-height:1.65}body:has(dialog[open]){overflow:hidden}button,input,select{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-underline-offset:5px}button{cursor:pointer}img,svg{display:block;max-width:100%}img{object-fit:cover;background:var(--light)}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.045em}h1{font-size:clamp(3rem,6.5vw,7.6rem)}h2{font-size:clamp(2.1rem,3.5vw,4rem)}h3{font-size:clamp(1.15rem,1.6vw,1.65rem)}p{margin-bottom:1.2rem}a,button,input,summary{outline-offset:5px}:focus-visible{outline:3px solid var(--accent)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:1rem;padding:1rem;background:var(--surface);z-index:100}.skip:focus{top:1rem}.site-header{max-width:1800px;margin:auto;padding:1.6rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:700;font-size:1.35rem;letter-spacing:.1em;line-height:1.2}.brand svg{width:46px;fill:none;stroke:var(--primary);stroke-width:2}.brand small{display:block;font-size:.55rem;letter-spacing:.28em;text-align:center;margin-top:.35rem}nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.8rem);font-size:.82rem}nav a{text-decoration:none;padding:.5rem 0;border-bottom:1px solid transparent}nav a:hover,nav a[aria-current=page]{border-color:var(--accent);color:var(--accent)}nav .nav-visit{border:1px solid var(--line);padding:.7rem 1rem}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:.55rem .8rem}.page{max-width:var(--max);margin:auto;padding:clamp(3rem,6vw,6rem) var(--gutter)}.hero{position:relative;min-height:690px;min-height:clamp(590px,49vw,830px);margin:0 var(--gutter);color:white;overflow:hidden;background:#25473e;isolation:isolate}.hero>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,31,28,.83),rgba(9,31,28,.3) 70%),linear-gradient(0deg,rgba(9,31,28,.5),transparent 60%);z-index:-1}.hero-inner{padding:clamp(2rem,5.2vw,6rem);max-width:970px}.eyebrow{text-transform:uppercase;font-size:.68rem;letter-spacing:.19em;font-weight:600;display:flex;align-items:center;gap:.7rem;margin-bottom:1.5rem}.eyebrow:before{content:'';width:24px;height:1px;background:currentColor}.hero h1{margin-bottom:1.5rem}.hero h1 em{color:#d3e7cd;font-weight:400}.hero p{max-width:455px;color:#f0f4ed}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}.button,button[data-consent]{display:inline-flex;align-items:center;justify-content:center;gap:2rem;padding:.85rem 1.25rem;background:var(--primary);color:white;border:1px solid var(--primary);text-decoration:none;font-size:.83rem;line-height:1.5;min-height:46px}.button:hover,button[data-consent]:hover{background:var(--secondary)}.hero .button{background:var(--background);color:var(--primary);border-color:var(--background)}.hero .plain-link{padding:.85rem;color:white;font-size:.83rem}.hero-bottom{display:flex;justify-content:space-between;gap:1rem;padding:1.3rem clamp(2rem,5.2vw,6rem);position:absolute;bottom:0;left:0;right:0;border-top:1px solid #ffffff40;font-size:.65rem;letter-spacing:.15em}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,8vw,9rem);align-items:center}.intro p{color:var(--muted)}.intro h2{margin-bottom:0}.text-link{display:inline-block;color:var(--primary);font-size:.85rem;font-weight:600}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.section-head h2{margin-bottom:0}.section-head p{max-width:530px;color:var(--muted)}.featured{padding-top:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}.card{min-width:0;background:var(--surface);border:1px solid var(--line)}.card figure{margin:0;position:relative;overflow:hidden;aspect-ratio:1.45}.card img{width:100%;height:100%;transition:transform .6s}.card:hover img{transform:scale(1.035)}.card .tag{position:absolute;left:1rem;top:1rem;background:var(--surface);padding:.25rem .6rem;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.card-body{padding:1.5rem}.card h3{font-family:var(--serif);font-size:1.65rem;line-height:1.2}.card p{font-size:.85rem;color:var(--muted)}.card-meta{font-size:.65rem;color:var(--accent);letter-spacing:.09em;text-transform:uppercase;margin-bottom:1rem}.card details{border-top:1px solid var(--line);padding-top:.8rem;font-size:.82rem}.card summary{cursor:pointer;font-weight:600}.card details p{margin:.8rem 0 0}.band{background:var(--primary);color:var(--background)}.band .page{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,6vw,6rem)}.band p{color:#d5e1d8}.steps{display:grid;gap:1.5rem}.step{display:grid;grid-template-columns:40px 1fr;gap:1rem;border-bottom:1px solid #ffffff30;padding-bottom:1rem}.step>span{color:#b9cdba;font-family:var(--serif);font-size:1.4rem}.step h3{font-size:1.15rem;margin-bottom:.5rem}.step p{font-size:.86rem;margin:0}.field-note{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}.field-note img{width:100%;aspect-ratio:1.15}.newsletter{padding-top:0}.newsletter-inner{padding:clamp(1.5rem,4vw,4rem);background:#e6e9dd;display:grid;grid-template-columns:1fr 1fr;gap:3rem}.newsletter h2{font-size:clamp(2rem,3vw,3rem)}.newsletter p{font-size:.85rem}.newsletter label{display:block;font-size:.82rem;margin-bottom:.4rem}input[type=email]{width:100%;min-height:48px;padding:.8rem;background:var(--surface);border:1px solid var(--secondary);border-radius:0}.newsletter .actions{margin-top:.8rem}.small{font-size:.75rem;color:var(--muted)}.page-head{max-width:880px;margin-bottom:3rem}.page-head h1{font-size:clamp(2.8rem,5.5vw,6rem)}.page-head p{max-width:700px;color:var(--muted)}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0}.filters button{border:1px solid var(--line);background:transparent;padding:.55rem 1.1rem;font-size:.82rem;min-height:44px}.filters button[aria-pressed=true]{background:var(--primary);color:white;border-color:var(--primary)}.result-count{font-size:.78rem;color:var(--muted);margin-bottom:1.5rem}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.panel{background:var(--surface);border:1px solid var(--line);padding:clamp(1.4rem,3vw,3rem)}.panel h2{font-size:2rem}.panel p,.panel li{font-size:.92rem}.panel ul,.prose ul{padding-left:1.2rem}.callout{padding:1.5rem 2rem;border-left:3px solid var(--accent);background:#e8eadd;margin:2rem 0}.callout p:last-child{margin-bottom:0}.prose{max-width:1040px}.prose h1{font-size:clamp(2.8rem,5vw,5.6rem)}.prose h2{font-size:clamp(1.65rem,2.7vw,2.4rem);margin:2.3rem 0 1rem}.prose h3{font-size:1.2rem}.prose p,.prose li{color:var(--muted)}.prose strong{color:var(--text)}.prose a{overflow-wrap:anywhere}.locations-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:2rem}.location-buttons{display:flex;flex-direction:column;gap:.6rem}.location-buttons button{text-align:left;display:flex;justify-content:space-between;padding:1.1rem 1.3rem;background:var(--surface);border:1px solid var(--line);min-height:56px}.location-buttons button[aria-pressed=true]{background:var(--primary);color:white}.location-panel h2{font-size:3rem}.location-panel .number{font-size:.7rem;letter-spacing:.15em;color:var(--accent);margin-bottom:2rem}.allergen-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}.allergen-list li{padding:.6rem 0}.empty{padding:3rem 0}footer{padding:3rem var(--gutter) 1.5rem;background:#e9eade;border-top:1px solid var(--line)}.footer-top,.footer-links,.footer-bottom{max-width:calc(var(--max) - 2 * var(--gutter));margin:auto;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.footer-top{padding-bottom:2rem}.footer-top .brand{display:block}.footer-top small{text-align:left}.footer-top p{font-family:var(--serif);font-size:1.4rem}.footer-top>a:last-child{font-size:.85rem}.footer-links{justify-content:flex-start;gap:1rem 2rem;border-top:1px solid var(--line);padding:1.5rem 0;font-size:.72rem}.footer-links button{padding:0;border:0;background:none;text-decoration:underline;text-underline-offset:4px}.footer-bottom{font-size:.65rem;color:var(--muted);gap:.8rem}.cookie-banner{position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:10;background:var(--surface);padding:1.25rem 1.5rem;box-shadow:0 4px 50px #102d3930;border:1px solid var(--line);display:flex;justify-content:space-between;gap:2rem;align-items:center;max-width:1250px;margin:auto}.cookie-banner p{font-size:.75rem;margin:.3rem 0 0;max-width:570px}.cookie-banner .actions{flex-shrink:0}.cookie-banner button{font-size:.73rem;gap:0;padding:.7rem}.text-button{background:none;border:0;text-decoration:underline;padding:.7rem;font-size:.83rem;min-height:44px}dialog{width:min(540px,calc(100% - 2rem));max-height:85vh;overflow-y:auto;border:1px solid var(--line);padding:clamp(1.3rem,3vw,2rem);background:var(--surface);color:var(--text)}dialog::backdrop{background:#102d39aa}dialog h2{font-size:2rem;margin:0}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}dialog p{font-size:.8rem}.choice{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.choice small{display:block;font-size:.72rem;color:var(--muted)}.choice input{width:21px;height:21px;accent-color:var(--primary);flex-shrink:0}dialog .button{width:100%;margin:1rem 0}#main{animation:appear .3s ease-out}#main:focus{outline:none}@keyframes appear{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}::selection{background:#d5b397;color:#183e36}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:var(--secondary);border:2px solid var(--background);border-radius:10px}::-webkit-scrollbar-track{background:var(--background)}
@media(min-width:1900px){.hero{max-width:1660px;margin-inline:auto}.site-header{max-width:1800px}}@media(max-width:1050px){.site-header{flex-wrap:wrap;gap:1rem}.menu-toggle{display:block}nav{display:none;width:100%;align-items:stretch;gap:.2rem;flex-direction:column}nav.open{display:flex}nav a{padding:.75rem}nav .nav-visit{margin-top:.5rem}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cookie-banner{align-items:flex-start;flex-direction:column;gap:1rem}.hero{min-height:630px}.hero-inner{padding-bottom:6rem}}
@media(max-width:650px){.site-header{padding-block:1.2rem}.brand{font-size:1.1rem}.brand svg{width:36px}.hero{margin:0;min-height:660px}.hero h1{font-size:clamp(3.2rem,13vw,5rem)}.hero-inner{padding:3rem 1.5rem 7rem}.hero-bottom{padding:1.2rem 1.5rem;flex-direction:column;gap:.3rem;font-size:.55rem}.intro,.field-note,.newsletter-inner,.band .page,.content-grid,.locations-layout{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:1rem}.cards{grid-template-columns:1fr}.page{padding-block:3rem}.featured,.newsletter{padding-top:0}.newsletter-inner{gap:1rem}.allergen-list{grid-template-columns:1fr}.cookie-banner{left:.6rem;right:.6rem;bottom:.6rem;padding:1rem;max-height:45vh;overflow:auto}.cookie-banner .actions{gap:.35rem}.footer-top{flex-direction:column;gap:1rem}.footer-links{gap:.9rem 1.3rem}.hero .actions{align-items:start;flex-direction:column}.hero .plain-link{padding-left:0}.card figure{aspect-ratio:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
