@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Outfit:wght@400;500;600&display=swap');
:root{--ve-bg:#ffffff;--ve-ink:#111111;--ve-accent:#0b3d4a;--ve-soft:#f3f6f7;--ve-line:#e2e8ea}
*{box-sizing:border-box}body.ve-body{margin:0;font-family:Outfit,sans-serif;color:var(--ve-ink);background:var(--ve-bg);line-height:1.65}
.ve-hours{background:var(--ve-accent);color:#fff;padding:.45rem 4vw;font-size:.8rem;letter-spacing:.06em;display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}
.ve-header{position:sticky;top:0;z-index:40;padding:1rem 4vw;display:flex;justify-content:space-between;align-items:center;transition:background .25s,color .25s}
.ve-header.is-solid{background:#fff;border-bottom:1px solid var(--ve-line)}
.ve-brand{font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:700;text-decoration:none;color:var(--ve-accent);letter-spacing:.02em;transition:letter-spacing .6s ease}
body.ve-loaded .ve-brand{letter-spacing:.08em}
.ve-nav-btn{font:inherit;background:transparent;border:1px solid var(--ve-ink);padding:.4rem .7rem;cursor:pointer}
.ve-mega{position:fixed;inset:0;background:rgba(255,255,255,.98);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;z-index:50}
.ve-mega[data-open="true"]{opacity:1;pointer-events:auto}
.ve-mega nav{display:grid;gap:1rem;text-align:center}
.ve-mega a{font-family:"Cormorant Garamond",serif;font-size:2rem;text-decoration:none;color:var(--ve-ink)}
.ve-hero{min-height:40vh;padding:2.5rem 4vw;background:var(--ve-soft);display:flex;flex-direction:column;justify-content:center}
.ve-hero h1{font-family:"Cormorant Garamond",serif;font-size:clamp(2.5rem,7vw,4.2rem);margin:0 0 .5rem;color:var(--ve-accent);line-height:1}
.ve-hero p{max-width:34rem;margin:0 0 1rem}
.ve-sep{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,5vw,3.2rem);padding:2rem 4vw .5rem;color:var(--ve-accent);margin:0}
.ve-layout{display:grid;grid-template-columns:1fr 200px;gap:2rem;width:min(960px,92vw);margin:0 auto;padding:1rem 0 3rem}
.ve-sidenote{font-size:.82rem;color:#445;border-left:2px solid var(--ve-line);padding-left:.75rem;margin-top:1rem}
.ve-figure{padding:1rem;background:var(--ve-soft);margin:1.25rem 0;border:1px solid var(--ve-line)}
.ve-figure strong{font-family:"Cormorant Garamond",serif;font-size:1.2rem}
details.ve-faq{border-top:1px solid var(--ve-line);padding:1rem 0}
details.ve-faq summary{cursor:pointer;font-weight:600}
.ve-visit{margin:2rem 4vw;padding:1.5rem;background:var(--ve-accent);color:#fff}
.ve-visit a{color:#fff}
.ve-footer{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:2.5rem 4vw;border-top:1px solid var(--ve-line);font-size:.9rem}
.ve-footer a{color:var(--ve-ink);text-decoration:none}
@media(max-width:700px){.ve-layout{grid-template-columns:1fr}.ve-footer{grid-template-columns:1fr 1fr}}
.ve-cookie{position:fixed;top:0;left:0;right:0;background:var(--ve-ink);color:#fff;padding:.85rem 4vw;z-index:70;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}
.ve-cookie a{color:#fff}.ve-cookie-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.ve-cookie button{border:1px solid #fff;background:transparent;color:#fff;padding:.4rem .65rem;cursor:pointer}
.ve-form{display:grid;gap:.65rem;max-width:28rem}.ve-form input,.ve-form textarea{font:inherit;padding:.65rem;border:1px solid var(--ve-line)}
.ve-form button{background:var(--ve-accent);color:#fff;border:0;padding:.7rem;cursor:pointer}
.ve-ok{background:#e7f4ea;padding:.6rem;color:var(--ve-ink)}
.ve-main{width:min(720px,92vw);margin:0 auto;padding:2rem 0 4rem}
@media(prefers-reduced-motion:reduce){body.ve-loaded .ve-brand{letter-spacing:.02em}}
