:root{--red:#a31621;--red-dark:#7a0f18;--red-light:#fbeeee;--ink:#2a2224;--muted:#7a6e70;--bg:#fff;--radius:12px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,segoe ui,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}main{flex:1}img{max-width:100%;height:auto;display:block}a{color:var(--red)}h1,h2{line-height:1.2;font-weight:600;letter-spacing:-.01em}h2{font-size:1.8rem;margin:0 0 1.2rem;position:relative;padding-bottom:.6rem}h2::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;background:var(--red)}.container{width:min(1100px,92%);margin:0 auto}.narrow{width:min(760px,92%)}.muted{color:var(--muted)}.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #eee}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);font-weight:600}nav{display:flex;gap:1.5rem}nav a{text-decoration:none;color:var(--ink);padding:.3rem 0;border-bottom:2px solid transparent}nav a:hover,nav a.active{color:var(--red);border-color:var(--red)}.nav-toggle,.burger{display:none}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 20%,#f6c9ce 0,transparent 50%),linear-gradient(180deg,#fff,#f8e1e3);padding:4.5rem 0 6rem;border-radius:0 0 50% 50%/0 0 60px 60px;box-shadow:0 10px 30px rgba(163,22,33,.18)}.hero-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.hero h1{font-size:clamp(2.2rem,5.5vw,3.6rem);margin:.3rem 0 .8rem;color:var(--ink)}.hero h1 span{color:var(--red)}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.25em;font-size:.8rem;color:var(--red);margin:0;padding-bottom:.4rem;border-bottom:2px solid var(--red)}.lead{font-size:1.15rem;color:var(--muted);max-width:32ch}.hero-logo{width:min(300px,38vw);height:auto;filter:drop-shadow(0 12px 24px rgba(163,22,33,.25))}.btn{display:inline-block;margin-top:.8rem;background:var(--red);color:#fff;padding:.8rem 1.6rem;border-radius:999px;text-decoration:none;font-weight:600;box-shadow:0 6px 16px rgba(163,22,33,.3);transition:transform .15s,background .15s}.btn:hover{transform:translateY(-2px);background:var(--red-dark)}.notice{padding:0 0 1rem;margin-top:-3rem;position:relative;z-index:1}.notice-card{background:#fff;border-radius:var(--radius);border-top:4px solid var(--red);box-shadow:0 10px 30px rgba(0,0,0,.12);padding:1.8rem}.notice-card h2{margin-bottom:1.2rem}.vacation-list{display:grid;gap:1rem}.vacation{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:1rem}.date-block{flex:1 1 180px;display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--red-light);border-radius:var(--radius);padding:1rem}.date-block .label{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;color:var(--red);font-weight:600}.date-block .day{text-transform:capitalize;color:var(--muted);font-size:.9rem;margin-top:.2rem}.date-block strong{font-size:1.25rem}.date-block.resume{background:var(--red);color:#fff}.date-block.resume .label,.date-block.resume .day{color:#fff;opacity:.9}.date-arrow{align-self:center;color:var(--red);font-size:1.5rem}.section{padding:3.5rem 0}.section.alt{background:#faf7f7}.page-title{background:var(--red);color:#fff;padding:2rem 0}.page-title h1{margin:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.gallery img,.banner{width:100%;height:auto;border-radius:var(--radius);box-shadow:0 2px 12px rgba(0,0,0,8%)}.gallery img{aspect-ratio:450/338;object-fit:cover;transition:transform .2s}.gallery img:hover{transform:scale(1.02)}.map-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.5rem}.btn-red{margin-top:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.card{background:#fff;border:1px solid #f0e4e5;border-top:4px solid var(--red);border-radius:var(--radius);padding:1.8rem;box-shadow:0 6px 20px rgba(0,0,0,6%)}.hours{width:100%;border-collapse:collapse}.hours th{text-align:left;font-weight:600;padding:.45rem 0;border-bottom:1px solid #eee}.hours td{text-align:right;padding:.45rem 0;border-bottom:1px solid #eee}.closed{color:var(--red)}.location{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.location img{width:100%;border-radius:var(--radius);box-shadow:0 2px 12px rgba(0,0,0,8%)}.site-footer{background:var(--ink);color:#ddd;padding:2rem 0;text-align:center}.site-footer a{color:#fff}.site-footer p{margin:.2rem 0}@media(max-width:700px){.date-arrow{display:none}.gallery{grid-template-columns:repeat(2,1fr)}.hero{padding:2.5rem 0}.hero-inner{flex-direction:column-reverse;text-align:center}.hero-logo{width:180px}.lead{margin:0 auto 1rem}}