@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@1,500;1,700&family=Figtree:wght@400;500;600&display=swap');
:root {
  --indigowi-bg: #EDE8E0; --indigowi-fg: #2A2A28; --indigowi-muted: #5C5A56;
  --indigowi-accent: #4A4844; --indigowi-panel: #2A2A28; --indigowi-band: #3A3834;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Figtree', Georgia, serif;
  background: var(--indigowi-bg);
  color: var(--indigowi-fg);
  line-height: 1.65;
  font-size: 1.05rem;
}
h1,h2,h3,.indigowi-brand,.indigowi-brand-only {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  
  font-style:italic;
  line-height: 1.15;
}
a { color: var(--indigowi-accent); }
.indigowi-wrap { min-height: 100vh; display: flex; flex-direction: column; }
.indigowi-main { flex: 1; width: min(100% - 2rem, 65ch); margin: 0 auto; padding: 2rem 0 4rem; }
.indigowi-main-wide { width: min(100% - 2rem, 1100px); margin: 0 auto; padding: 2rem 0 4rem; }
.indigowi-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; position:relative; }
.indigowi-logo { font-family:'Fraunces',sans-serif; font-weight:700; text-decoration:none; color:inherit; font-size:1.15rem; }

.indigowi-nav-toggle { display:none; background:transparent; border:1px solid #2A2A28; color:#2A2A28; padding:.35rem .6rem; cursor:pointer; font:inherit; }
.indigowi-nav ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; }
.indigowi-nav a { color:inherit; text-decoration:none; }
.indigowi-nav a:hover { text-decoration:underline; }

.indigowi-fab { position:fixed; right:1rem; bottom:1rem; z-index:800; width:3.5rem; height:3.5rem; border-radius:50%; border:none; background:#4A4844; color:#fff; font:inherit; cursor:pointer; }
.indigowi-fab-panel { position:fixed; right:1rem; bottom:5rem; background:#2A2A28; padding:1rem; border:1px solid #5C5A56; display:none; z-index:800; }
.indigowi-fab-panel.is-open { display:block; }
.indigowi-fab-panel ul { flex-direction:column; }
@media(min-width:900px){
  .indigowi-topnav ul { display:flex; }
}


.indigowi-footer { background: #2A2A28; color: #EDE8E0; padding: 2rem 1.25rem; }
.indigowi-footer a { color: #EDE8E0; }


.indigowi-cookies { position:fixed; z-index:1000; background:#2A2A28; color:#2A2A28; border:1px solid #5C5A56; padding:1rem; max-width:24rem; box-shadow:0 8px 24px rgba(0,0,0,.12); }
.indigowi-cookies[hidden] { display:none !important; }
.indigowi-cookies button { margin:.25rem .25rem 0 0; cursor:pointer; font:inherit; padding:.4rem .7rem; border:1px solid #2A2A28; background:#EDE8E0; color:#2A2A28; }
.indigowi-cookie-settings[hidden] { display:none !important; }
.indigowi-cookies { bottom:1rem; left:1rem; font-size:.8rem; } .indigowi-cookies .indigowi-bi { opacity:.7; font-style:italic; }

.indigowi-form { display:grid; gap:.75rem; max-width:28rem; }
.indigowi-form label { display:grid; gap:.25rem; font-size:.95rem; }
.indigowi-form input, .indigowi-form textarea { font:inherit; padding:.55rem .65rem; border:1px solid var(--indigowi-muted); background:#fff; color:#111; }
.indigowi-form button { justify-self:start; padding:.6rem 1rem; border:none; background:var(--indigowi-accent); color:#fff; cursor:pointer; font:inherit; }
.indigowi-form-ok { color: var(--indigowi-accent); }
.indigowi-legal { max-width: 68ch; }
.indigowi-contact-block p { margin: .25rem 0; }

.indigowi-masthead { background:var(--indigowi-panel); color:#EDE8E0; padding:4rem 1.25rem 2rem; position:relative; }
.indigowi-masthead { background:#2A2A28; color:#EDE8E0; }
.indigowi-header.indigowi-overlay { position:absolute; left:0; right:0; top:0; color:#EDE8E0; z-index:5; background:transparent; }
.indigowi-header.indigowi-overlay a { color:#EDE8E0; }
.indigowi-schedule { background:var(--indigowi-band); padding:1.5rem; margin:2rem 0; }
.indigowi-schedule ul { list-style:none; padding:0; }
.indigowi-schedule li { display:flex; gap:1rem; border-bottom:1px solid var(--indigowi-muted); padding:.5rem 0; }
.indigowi-schedule span { width:3rem; font-weight:600; font-style:italic; }
.indigowi-deep { padding:1rem 0 2rem; }
.indigowi-hours-badge { display:inline-block; border:2px solid currentColor; padding:.25rem .6rem; margin-bottom:.75rem; }
.indigowi-faq details { margin:.5rem 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
