/* The Arch House — monochrome editorial system shared by interior pages. */
:root {
  --ink: #111111;
  --ink2: #505050;
  --ink3: #737373;
  --ink4: #aaaaaa;
  --bg: #ffffff;
  --bg-2: #f2f2f2;
  --surface: #ffffff;
  --surface-2: #f7f7f7;
  --border: #d8d8d8;
  --border-2: #e8e8e8;
  --navy: #111111;
  --navy-2: #242424;
  --navy-3: #333333;
  --gold: #111111;
  --gold-2: #333333;
  --gold-lt: #e7e7e7;
  --gold-soft: #f5f5f5;
  --r-sm: 0;
  --r: 0;
  --r-md: 0;
  --r-lg: 0;
  --r-xl: 0;
  --shadow-xs: none;
  --shadow-sm: none;
  --shadow: none;
  --shadow-lg: none;
}

html, body { background: #fff; }
body {
  color: #111;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-size: 16px;
}
h1, h2, h3, h4, h5,
.brand-mark, .foot-brand, .btn, button,
.bignum, .pkg-price, .ws-q, .cal-title .en,
.cal-cell .en-day, .time-slot, .selected-summary .info strong {
  font-family: 'Inter', system-ui, sans-serif !important;
}
h1, h2, h3, h4, h5 { letter-spacing: -.045em; }
h1 { font-weight: 650; }
h2, h3, h4, h5 { font-weight: 650; }

.container { max-width: 1180px; }
.container-narrow { max-width: 920px; }

/* Navigation mirrors the homepage typography without competing with it. */
.nav {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid #d8d8d8;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.nav-inner { height: 84px; }
.brand-mark { color: #111; font-size: 1.42rem; font-weight: 700; }
.brand-mark .sub { color: #666 !important; }
.nav-links a { color: #555; font-size: .96rem; }
.nav-links a:hover, .nav-links a.active { color: #111; }
.nav-links a.active::after { background: #111; bottom: -31px; height: 1px; }
.mobile-menu-btn { border-radius: 0; background: #fff; border-color: #cfcfcf; }
#mobile-menu { background: #fff; }
#mobile-menu a { border-color: #d8d8d8; }
.dot-gold, .brand > .dot { display: none !important; }

/* Buttons and controls are crisp, flat and typographic. */
.btn {
  border-radius: 0 !important;
  box-shadow: none !important;
  font-weight: 650;
}
.btn-primary, .btn-gold { background: #111 !important; color: #fff !important; }
.btn-primary:hover, .btn-gold:hover {
  background: #2b2b2b !important;
  transform: none !important;
  box-shadow: none !important;
}
.btn-ghost { background: #fff; border-color: #bfbfbf; }
.btn-ghost:hover { border-color: #111; }
.btn-ghost-dark { border-color: rgba(255,255,255,.55); }

.hero {
  padding: 92px 0 68px;
  border-bottom: 1px solid #dedede;
  background: #fff;
}
.hero::before { display: none; }
.hero-inner { max-width: 920px; margin: 0; text-align: left; }
.hero h1 { max-width: 820px; font-size: clamp(2.6rem, 5.4vw, 4.8rem); line-height: 1.02; }
.hero h1 .accent, .text-gold { color: #111 !important; }
.hero p.lead { max-width: 660px; margin: 0 0 34px; color: #505050; font-size: 1.08rem; line-height: 1.75; }
.hero-actions { justify-content: flex-start; }

.eyebrow, .section-label, .ws-eyebrow, .hero-kicker {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #6a6a6a !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase;
}
section { padding: 84px 0; }
.section-tinted, .section-cream { background: #f4f4f4; }
.section-head { text-align: left; max-width: 760px; margin-left: 0; }
.section-head p { color: #505050; line-height: 1.75; }

/* Replace soft cards and decorative shadows with ruled editorial surfaces. */
.card,
.pkg-card, .hall-only-card, .sale-callout, .addons-callout,
.wizard-shell, .pkg-pick, .bld-base, .bld-group, .size-card, .meal,
.opt-row, .caterer-opt, .included-box, .cal-card, .review-card,
.pay-method, .agreement-check, .agreement-hold, .agreement-term,
.faq-item, .cm-card, .form-card, .hours-card, .map-card,
.section-card, .time-slot, .selected-summary,
.gal-tile, .booking-card, .summary-card {
  border-radius: 0 !important;
  box-shadow: none !important;
}
.card:hover, .card-hover:hover, .pkg-card:hover, .cm-card:hover, .gal-tile:hover {
  transform: none !important;
  box-shadow: none !important;
}
.card, .faq-item, .cm-card, .form-card, .section-card,
.pkg-card, .hall-only-card, .wizard-shell, .cal-card, .review-card {
  border-color: #d2d2d2 !important;
}

/* Keep information as clean ruled rows, without decorative checkmark bullets. */
.includes ul, .included-box ul, .meal-body ul, .bris-details ul {
  list-style: none !important;
  padding-left: 0 !important;
}
.includes li, .included-box li, .meal-body li, .bris-details li {
  padding-left: 0 !important;
}
.includes li::before, .includes li::after,
.included-box li::before, .meal-body li::before,
.bris-details li::before { display: none !important; }
.includes li, .meal-body li { border-bottom: 1px solid #e5e5e5; }
.includes li:last-child, .meal-body li:last-child { border-bottom: 0; }

/* Retire the old gold-and-navy illustration treatments. */
.pkg-img-wrap,
.pkg-visual, .pkg-visual.navy-2,
.gal-tile, .gal-tile.gold, .gal-tile.green,
.gal-tile.warm, .gal-tile.deep {
  background-color: #1a1a1a !important;
  background-image: none !important;
}
.pkg-img-wrap::before, .pkg-img-wrap::after,
.pkg-visual::before, .gal-tile:not([style*="background-image"])::after {
  display: none !important;
}
.pkg-img-wrap .arch, .pkg-visual .arch, .gal-tile .arch {
  border-color: rgba(255,255,255,.28) !important;
}
.pkg-img-wrap .label-tag {
  background: #fff;
  border-radius: 0;
  color: #111;
}
.pkg-price-row, .menu-block, .addons-callout,
.hall-only-card, .hall-only-card .price-row,
.addon-pill, .coming-soon {
  background: #f3f3f3 !important;
  border-color: #d3d3d3 !important;
  color: #111 !important;
}
.hall-only-card h3, .hall-only-card p,
.hall-only-card li, .hall-only-card .price-row,
.coming-soon h2, .coming-soon h3, .coming-soon p { color: #111 !important; }
.hall-only-card li { border-color: #d3d3d3 !important; }
.addon-pill { border-radius: 0 !important; }
.course .c-label, .pkg-deposit, .sale-callout strong { color: #111 !important; }

input, select, textarea,
.input, .select, .textarea,
.cal-nav, .et-chip, .time-slot {
  border-radius: 0 !important;
  box-shadow: none !important;
}
input:focus, select:focus, textarea:focus,
.input:focus, .select:focus, .textarea:focus {
  border-color: #111 !important;
  box-shadow: 0 0 0 2px rgba(17,17,17,.10) !important;
}

/* Strong moments use true black; all supporting surfaces stay neutral. */
.track-hall, .track-pledge,
.promise-card, .sale-callout,
.faq-cat + div[style*="linear-gradient"] {
  background: #111 !important;
  border-radius: 0 !important;
}
.sale-callout, .sale-callout h2, .sale-callout h3,
.sale-callout p, .sale-callout strong { color: #fff !important; }
.reviews-empty, .hours-card, .selected-summary,
.booking-sale, .cheder-row, .included-box { background: #f3f3f3 !important; }

.bp-step { border-radius: 0; }
.bp-step.done, .bp-step.current { background: #111; }
.pkg-pick.selected, .size-card.selected, .meal.selected,
.opt-row.selected, .caterer-opt.selected, .time-slot.selected,
.pay-method.selected, .cal-cell.selected {
  border-color: #111 !important;
  background: #111 !important;
  color: #fff !important;
}
.pkg-pick.selected *, .size-card.selected *, .meal.selected .meal-head *,
.opt-row.selected *, .caterer-opt.selected *, .time-slot.selected * { color: inherit !important; }
.meal.selected .meal-body { background: #fff; color: #111; }
.meal.selected .meal-body * { color: inherit !important; }
.opt-box, .meal-box, .co-check { border-radius: 0 !important; }
.opt-row.selected .opt-box, .meal.selected .meal-box,
.caterer-opt.selected .co-check { background: #fff !important; color: #111 !important; }

.map-ph { background: #f2f2f2 !important; color: #666; }
.faq-q .chev, .faq-item.open .faq-q .chev { border-radius: 0; }
.faq-item.open .faq-q .chev { background: #111; color: #fff; }

footer.pub-footer {
  margin-top: 0;
  background: #111;
  border-radius: 0;
}

@media (max-width: 768px) {
  .nav-inner { height: 76px; }
  .hero { padding: 62px 0 52px; }
  .hero h1 { font-size: clamp(2.35rem, 11vw, 3.5rem) !important; }
  section { padding: 62px 0; }
}

@media (max-width: 640px) {
  .hero-inner { text-align: left; }
  .hero-actions .btn { width: 100%; }
  .card, .form-card, .section-card, .wizard-shell { padding-left: 20px; padding-right: 20px; }
}
