/* ---------- Self-hosted fonts (SIL Open Font License; no third-party requests) ---------- */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/libre-baskerville-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Libre Baskerville';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/libre-baskerville-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/libre-baskerville-regular-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/libre-baskerville-regular-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/libre-baskerville-regular-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/libre-baskerville-regular-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Pinyon Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/pinyon-script-regular-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Pinyon Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/pinyon-script-regular-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ========================================================
   Studio Bō•KâDō — reproduction stylesheet
   ======================================================== */

:root {
  --ink: #2b2420;
  --ink-2: #3a322c;
  --taupe: #6c6c72;
  --cream: #faf8f5;
  --cream-2: #f1ece3;
  --line: rgba(43, 36, 32, 0.14);
  --line-dark: rgba(250, 248, 245, 0.2);
  --muted: #746c64;
  --serif: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
  --script: 'Pinyon Script', 'Brush Script MT', cursive;
  --sans: Arial, Helvetica, 'Segoe UI', sans-serif;
  --max-width: 1100px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 26px;
}

h1, h2, h3 {
  font-family: var(--serif);
  font-weight: 400;
  margin: 0 0 0.5em;
  line-height: 1.2;
  color: var(--ink);
}
h1 { font-size: clamp(2.1rem, 5vw, 3.1rem); }
h2 { font-size: clamp(1.7rem, 3.4vw, 2.3rem); }
h3 { font-size: 1.25rem; }

p { margin: 0 0 1em; }

.script {
  font-family: var(--script);
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: 400;
}

.eyebrow {
  font-family: var(--sans);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--muted);
  display: block;
  margin-bottom: 0.9em;
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-block;
  padding: 0.9em 2em;
  font-family: var(--sans);
  font-size: 0.88rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: 1px solid var(--ink);
  cursor: pointer;
  background: transparent;
  color: var(--ink);
  transition: all 0.2s ease;
}
.btn:hover { background: var(--ink); color: var(--cream); }
.btn-solid {
  background: var(--ink);
  color: var(--cream);
}
.btn-solid:hover { background: var(--ink-2); }
.btn-taupe {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--taupe);
  color: #fff;
  padding: 1em;
  border: none;
  font-family: var(--sans);
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  cursor: pointer;
}
.btn-taupe:hover { background: #5a5a60; }

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(250, 248, 245, 0.94);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--line);
}
.nav-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 26px;
  max-width: var(--max-width);
  margin: 0 auto;
}
.brand {
  font-family: var(--serif);
  font-size: 1.7rem;
  letter-spacing: 0.08em;
}
.nav-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
}
.main-nav ul {
  display: flex;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.main-nav a {
  font-size: 0.88rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.main-nav a:hover { color: var(--muted); }

@media (max-width: 860px) {
  .nav-toggle { display: block; }
  .main-nav {
    display: none;
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: var(--cream);
    padding: 8px 26px 22px;
    border-bottom: 1px solid var(--line);
  }
  .main-nav.open { display: block; }
  .main-nav ul { flex-direction: column; gap: 14px; }
}

/* ---------- Hero ---------- */
.hero-label { padding: 44px 0 0; text-align: left; }
.hero-media {
  margin-top: 20px;
  aspect-ratio: 16/10;
  background: linear-gradient(150deg, #d9cdbf 0%, #a89482 45%, #4a3d34 100%);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.hero-media::before {
  content: "";
  position: absolute; inset: 0;
  background: rgba(30, 24, 20, 0.28);
  z-index: 1;
}
.hero-media .media-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.hero-inner {
  position: relative;
  z-index: 1;
  text-align: center;
  color: #fff;
  padding: 20px;
}
.hero-inner h1 { color: #fff; margin-bottom: 0.3em; }
.hero-inner .script { color: #fff; display: block; margin: 0.2em 0 1.3em; }
.hero-inner .btn { border-color: #fff; color: #fff; }
.hero-inner .btn:hover { background: #fff; color: var(--ink); }

/* ---------- Availability strip ---------- */
.availability {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
  border-bottom: 1px solid var(--line);
}
.availability div { padding: 26px 12px; border-right: 1px solid var(--line); }
.availability div:last-child { border-right: none; }
.availability .eyebrow { margin-bottom: 0.4em; }
.availability .count { font-family: var(--serif); font-size: 1.6rem; }
.availability .slots { font-size: 0.8rem; color: var(--muted); }

/* ---------- Sections ---------- */
section { padding: 80px 0; }
.section-alt { background: var(--cream-2); }
.section-dark { background: var(--ink); color: var(--cream); }
.section-dark h2, .section-dark h3 { color: var(--cream); }
.center { text-align: center; margin-left: auto; margin-right: auto; }
.section-head { max-width: 680px; margin: 0 auto 2.2em; text-align: center; }

.stamp {
  display: inline-block;
  border: 1px solid var(--line);
  padding: 14px 26px;
  transform: rotate(-2deg);
  margin: 1.6em auto 0;
  background: #fff;
}
.stamp .script { font-size: 1.5rem; display:block; }
.stamp .stamp-name { font-family: var(--serif); font-size: 1.6rem; letter-spacing: 0.04em; }
.stamp .stamp-url { font-family: var(--script); font-size: 0.95rem; color: var(--muted); }

/* ---------- Themes ---------- */
.theme-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 2em 0;
}
.theme-grid span {
  border: 1px solid var(--ink);
  padding: 10px 20px;
  font-size: 0.86rem;
  letter-spacing: 0.03em;
}

/* ---------- Inclusions ---------- */
.incl-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px 30px;
  max-width: 900px;
  margin: 0 auto;
}
@media (max-width: 760px) { .incl-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .incl-grid { grid-template-columns: 1fr; } }
.incl-grid div {
  font-size: 0.86rem;
  letter-spacing: 0.02em;
  text-align: center;
  padding: 8px;
  text-transform: uppercase;
}
.incl-grid div::before { content: "◆"; color: var(--muted); display: block; margin-bottom: 8px; font-size: 0.7rem; }

/* ---------- Gallery ---------- */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 760px) { .gallery-grid { grid-template-columns: repeat(2, 1fr); } }
.g-media {
  aspect-ratio: 4/5;
  background: linear-gradient(160deg, #e7ddd0, #b7a693);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(43,36,32,0.55);
  font-family: var(--serif);
  font-size: 0.85rem;
  text-align: center;
  padding: 10px;
  position: relative;
  overflow: hidden;
}
.g-media .media-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.g-media .ph-fallback { position: relative; z-index: 0; }

/* ---------- Process ---------- */
.process-list {
  counter-reset: step;
  list-style: none;
  margin: 2.4em 0 0;
  padding: 0;
  display: grid;
  gap: 30px;
}
.process-list li {
  counter-increment: step;
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 22px;
  align-items: start;
}
.process-list li::before {
  content: counter(step);
  font-family: var(--serif);
  font-size: 1.5rem;
  width: 60px; height: 60px;
  border: 1px solid var(--ink);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.process-list h3 { margin-bottom: 0.3em; }
.process-list p { color: var(--muted); margin-bottom: 0; }

.testimonial {
  margin-top: 3em;
  text-align: center;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}
.testimonial p { font-family: var(--serif); font-style: italic; font-size: 1.2rem; }
.testimonial cite { font-family: var(--sans); font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); font-style: normal; }

/* ---------- FAQ ---------- */
.faq-note {
  max-width: 620px;
  margin: 0 auto;
  text-align: center;
  border: 1px solid var(--line);
  padding: 30px;
}

/* ---------- Community / contact ---------- */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: start;
}
@media (max-width: 800px) { .contact-grid { grid-template-columns: 1fr; } }
.contact-grid .label {
  font-family: var(--sans);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(250,248,245,0.55);
  display: block;
  margin-bottom: 6px;
}
input, textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line-dark);
  background: transparent;
  color: var(--cream);
  font-family: var(--sans);
  font-size: 0.95rem;
  margin-bottom: 16px;
}
input::placeholder, textarea::placeholder { color: rgba(250,248,245,0.4); }
textarea { min-height: 110px; resize: vertical; }
input:focus, textarea:focus { outline: none; border-color: var(--cream); }

/* ---------- Footer ---------- */
.site-footer {
  background: var(--ink);
  color: rgba(250,248,245,0.6);
  padding: 40px 0;
  text-align: center;
  font-size: 0.85rem;
  border-top: 1px solid var(--line-dark);
}
.site-footer .brand { color: var(--cream); display: block; margin-bottom: 10px; }
.site-footer .credit { font-size: 0.78rem; }
.site-footer .credit a { text-decoration: underline; }

/* ---------- RiverTown credit (lower right of footer, palette-complementary dusty blue) ---------- */
:root { --rt-mask: url(data:image/png;base64,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); --rt-blue: #8aa4b2; }
.rt-credit {
  justify-self: end;
  display: block;
  width: 34px;
  height: 34px;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.rt-credit:hover, .rt-credit:focus-visible { opacity: 1; }
.rt-credit span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--rt-blue);
  -webkit-mask: var(--rt-mask) center / contain no-repeat;
  mask: var(--rt-mask) center / contain no-repeat;
}

/* ---------- Contact form ---------- */
#contact { scroll-margin-top: 96px; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-status { min-height: 1.5em; margin-top: 14px; font-size: 0.92rem; color: rgba(250,248,245,0.75); }
.form-status.ok { color: #cfe3c4; }
.form-status.err { color: #f0b4a8; }
.btn[disabled] { opacity: 0.55; cursor: progress; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---------- Footer row: (c) left corner | Fog City centre | roundel right corner ---------- */
.footer-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  margin-top: 18px;
  padding: 0 clamp(16px, 4vw, 40px);
}
.footer-row .copy { justify-self: start; text-align: left; }
.footer-row .credit { text-align: center; }
@media (max-width: 640px) {
  .footer-row { grid-template-columns: 1fr auto; row-gap: 14px; }
  .footer-row .credit { grid-column: 1 / -1; grid-row: 1; }
  .footer-row .copy { grid-row: 2; }
  .footer-row .rt-credit { grid-row: 2; }
}

/* ---------- FAQ accordion ---------- */
.faq-list { max-width: 780px; margin: 0 auto; border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 1.15em 2.2em 1.15em 0;
  position: relative;
  font-family: var(--serif);
  font-size: 1.08rem;
  line-height: 1.4;
  color: var(--ink);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+";
  position: absolute;
  right: 0.2em;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--sans);
  font-size: 1.4rem;
  color: var(--muted);
}
.faq-item[open] summary::after { content: "\2212"; }
.faq-item summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.faq-a { padding: 0 2.2em 1.3em 0; color: var(--muted); font-size: 0.97rem; line-height: 1.75; }
.faq-a p { margin: 0 0 0.8em; }
.faq-a ul { margin: 0 0 0.4em 1.2em; padding: 0; }
.faq-a li { margin-bottom: 0.25em; }
.faq-a a { color: var(--ink); text-decoration: underline; }
.faq-more { text-align: center; margin-top: 2.4em; }

/* ---------- Legal pages ---------- */
.legal { padding: 70px 0 90px; }
.legal-wrap { max-width: 780px; }
.legal h1 { margin-bottom: 0.2em; }
.legal .updated { font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); margin: 0 0 2.6em; }
.legal h2 { font-size: 1.45rem; margin: 2.2em 0 0.6em; }
.legal p, .legal li { color: var(--ink-2); line-height: 1.8; }
.legal p { margin: 0 0 1em; }
.legal ul { margin: 0 0 1.2em 1.3em; padding: 0; }
.legal li { margin-bottom: 0.45em; }
.legal a { text-decoration: underline; }
.legal .reveal-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.2em; }
.legal .reveal-row .btn { font-size: 0.8rem; }
.legal-return {
  margin-left: auto;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid var(--line);
  padding: 9px 18px;
}
.legal-return:hover { border-color: var(--ink); }
.site-footer .copy a { text-decoration: underline; }
