:root{--cob:#1b3d91;--cob-d:#122a69;--cream:#fbf4e4;--paper:#fffaf0;--red:#d32a1f;--cus:#f3b934;--ink:#1d2540;--line:rgba(27,61,145,.22)}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:'Karla',system-ui,sans-serif;background:var(--cream);color:var(--ink);font-size:1.08rem;line-height:1.65;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Young Serif',Georgia,serif;font-weight:400;color:var(--cob);line-height:1.1}
a{color:var(--cob)}
img{max-width:100%;height:auto}
.eyebrow{font-weight:700;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:.7rem}
/* azulejo tile band: signature */
.azulejo{height:34px;background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Cg fill='none' stroke='%231b3d91' stroke-width='1.6'%3E%3Crect x='1' y='1' width='32' height='32' opacity='.35'/%3E%3Cpath d='M17 4c4 5 4 8 0 13-4-5-4-8 0-13zM17 30c4-5 4-8 0-13-4 5-4 8 0 13zM4 17c5-4 8-4 13 0-5 4-8 4-13 0zM30 17c-5-4-8-4-13 0 5 4 8 4 13 0z'/%3E%3C/g%3E%3Ccircle cx='17' cy='17' r='2.6' fill='%23d32a1f'/%3E%3C/svg%3E");background-size:34px 34px;border-top:2px solid var(--cob);border-bottom:2px solid var(--cob)}
.azulejo.dark{background-color:var(--cob-d)}
/* nav (c): centered logo stacked over links */
.navbar{background:var(--paper);border-bottom:0;padding:.5rem 0 0}
.navbar .container{flex-direction:column}
.navbar-brand{display:flex;align-items:center;gap:.7rem;margin:0;font-family:'Young Serif',serif;font-size:1.9rem;color:var(--cob);line-height:1}
.navbar-brand img{width:62px;height:62px}
.navbar-brand small{display:block;font-family:'Karla',sans-serif;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--red);font-weight:700;margin-top:.25rem}
.navbar.navbar-expand-lg .navbar-collapse{justify-content:center;width:100%}
.navbar .nav-link{font-weight:700;color:var(--ink);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:.7rem .95rem}
.navbar .nav-link:hover{color:var(--red)}
.navbar-toggler{position:absolute;right:12px;top:18px;border-color:var(--cob)}
.btn-order{background:var(--red);color:#fff;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;border-radius:3px;padding:.8rem 1.5rem;border:2px solid var(--red)}
.btn-order:hover{background:#b01f16;border-color:#b01f16;color:#fff}
.btn-ghost{border:2px solid var(--cob);color:var(--cob);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;border-radius:3px;padding:.8rem 1.5rem}
.btn-ghost:hover{background:var(--cob);color:#fff}
/* hero */
.hero{background:var(--cob);color:#fff;padding:3rem 0 3.2rem;position:relative}
.hero h1{color:#fff;font-size:clamp(2.6rem,6vw,4.8rem);margin-bottom:1rem}
.hero h1 em{color:var(--cus);font-style:normal}
.hero .eyebrow{color:var(--cus)}
.hero p.lead{font-size:1.2rem;max-width:34rem;color:#e8eeff}
.hero-photo{width:100%;aspect-ratio:3/2;max-height:min(66vh,480px);object-fit:cover;object-position:center;border-radius:4px;border:6px solid var(--paper);box-shadow:10px 10px 0 var(--cus)}
.hero .btn-ghost{border-color:#fff;color:#fff}
.hero .btn-ghost:hover{background:#fff;color:var(--cob)}
.hero-meta{margin-top:1.4rem;font-size:.95rem;color:#d5e0ff}
section{padding:5rem 0}
.sec-title{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}
/* chalkboard price-list menu */
.menu-sec{background:var(--paper)}
.menu-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;margin-bottom:1rem}
.menu-card h3{font-size:1.6rem;border-bottom:2px solid var(--cob);padding-bottom:.4rem;margin-bottom:.8rem}
.menu-card ul{list-style:none;padding:0;margin:0}
.menu-card li{padding:.28rem 0;border-bottom:1px dotted var(--line);font-size:1rem}
.menu-card li span{display:block;font-size:.85rem;color:#5a6280}
.menu-note{font-size:.95rem;color:#5a6280;margin-top:.8rem}
/* about */
.about-photo{border-radius:4px;border:6px solid var(--paper);box-shadow:-10px 10px 0 var(--cob);width:100%;max-width:340px}
.story{background:var(--cob-d);color:#e8eeff}
.story h2{color:#fff}
.story .eyebrow{color:var(--cus)}
.story li{margin-bottom:.4rem}
/* gallery */
.gal{columns:3 220px;column-gap:12px}
.gal img{width:100%;margin-bottom:12px;border-radius:3px;display:block;border:3px solid var(--paper)}
/* reviews */
.rev{background:var(--paper)}
.rev blockquote{margin:0;padding:1.4rem;background:var(--cream);border-left:5px solid var(--red);height:100%;font-size:1.02rem}
.rev cite{display:block;margin-top:.7rem;font-style:normal;font-weight:700;color:var(--cob);font-size:.9rem}
/* faq */
.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:var(--line);--bs-accordion-active-bg:var(--paper);--bs-accordion-active-color:var(--cob);--bs-accordion-btn-focus-box-shadow:none}
.accordion-button{font-family:'Young Serif',serif;font-size:1.15rem;color:var(--cob)}
/* visit */
.visit{background:var(--cream)}
.hours td{padding:.25rem 1.2rem .25rem 0}
.map{border:0;width:100%;height:380px;border-radius:4px;border:4px solid var(--paper)}
footer{background:var(--cob-d);color:#cfd9ff;padding:2.5rem 0 1.5rem;font-size:.95rem}
footer a{color:#fff}
@media(max-width:991px){
 .navbar-brand{font-size:1.5rem}.navbar-brand img{width:50px;height:50px}
 .navbar .container{flex-direction:row;flex-wrap:wrap;justify-content:center}
 .navbar-toggler{top:22px}
 .hero-photo{box-shadow:6px 6px 0 var(--cus)}
 section{padding:3.5rem 0}
 .about-photo{box-shadow:-6px 6px 0 var(--cob)}
}
