/* Book the Circle — the product's own site. Reuses site.css and sets its own
   palette; nothing here touches organiser sites. */
body.mk {
  --colour-primary: #1f3b4d;   /* slate blue band (6.1:1 against the gold) */
  --colour-accent:  #e9b24a;   /* warm gold */
  --colour-bg:      #f7f4ef;   /* warm off-white */
  --colour-text:    #1e2a33;
  --colour-maroon-rgb: 31, 59, 77;
  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-h2: 'Fraunces', Georgia, serif;
  --font-quote: 'Fraunces', Georgia, serif;
}
.mk .brand-text { font-family: var(--font-display); font-weight: 600; font-size: 1.5rem; color: #fff; }
.mk .site-nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: .3em; }
.mk .mk-cta { background: var(--colour-accent); color: #1f3b4d !important; padding: .45rem .9rem; border-radius: 999px; font-weight: 700; }
.mk .mk-cta:hover { background: #f2c05e; }
.mk-hero { padding: 3rem 0 2rem; max-width: 46rem; }
.mk-kicker { text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; font-weight: 600; color: var(--colour-primary); margin: 0 0 .5rem; }
.mk-h1 { font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.1; margin: 0 0 1rem; color: var(--colour-primary); }
.mk .lede { font-size: 1.15rem; max-width: 46rem; }
.mk-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5rem 0; }
.mk-section { margin: 2.5rem 0; }
.mk-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; }
.mk-grid .panel h3 { margin-top: 0; font-family: var(--font-display); font-size: 1.2rem; color: var(--colour-primary); }
.mk-band { background: var(--colour-primary); color: #fff; padding: 2rem; border-radius: var(--radius); }
.mk-band h2 { color: var(--colour-accent); font-family: var(--font-display); margin-top: 0; }
.mk-faq dt { font-weight: 700; margin-top: 1rem; }
.mk-faq dd { margin: .25rem 0 0; }
.mk-price { text-align: center; padding: 2rem; }
.mk-price-big { font-family: var(--font-display); font-size: clamp(2.2rem, 6vw, 3.5rem); color: var(--colour-primary); margin: 0; }
.mk-ticks { padding-left: 1.2rem; }
.mk-ticks li { margin: .4rem 0; }
.mk-steps li { margin: .6rem 0; }
.mk-table-wrap { overflow-x: auto; }
.mk-table { border-collapse: collapse; width: 100%; min-width: 34rem; }
.mk-table th, .mk-table td { text-align: left; padding: .6rem .5rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.mk-table th { color: var(--colour-primary); }
.mk-form .form-row { margin-bottom: 1rem; }
.mk-form label { display: block; font-weight: 600; margin-bottom: .3rem; }
.mk-form input[type="text"], .mk-form input[type="email"], .mk-form textarea { width: 100%; padding: .6rem .7rem; border: 1px solid var(--line); border-radius: 8px; font: inherit; }
@media (max-width: 700px) { .mk .site-nav { flex-wrap: wrap; gap: .4rem .9rem; } }

/* ---- The organiser's guide (/guide/), also printed to the PDF ---------- */
.guide { --g-ink: #1e2a33; --g-muted: #55606a; --g-you: #1f3b4d; --g-you-soft: #e6edf2;
  --g-guest: #5a4c9c; --g-guest-soft: #ece9f7; --g-pay: #b8791a; --g-pay-soft: #fbf0d9;
  --g-auto: #eef0f2; --g-lane0: #fbfaf7; --g-lane1: #f3f0ea; }
.g-section { margin: 2.5rem 0; }
.g-h3 { font-family: var(--font-display); color: var(--colour-primary); font-size: 1.35rem; margin: 2rem 0 .5rem; }
.g-fig { margin: 1rem 0 1.5rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; }
.g-scroll { overflow-x: auto; }
.g-fig svg { display: block; width: 100%; max-width: 30rem; margin: 0 auto; height: auto; color: var(--g-ink); font-family: inherit; }
.g-fig figcaption { font-size: .95rem; color: var(--g-muted); margin-top: .6rem; max-width: 46rem; }
.g-b { fill: #fff; stroke: var(--g-ink); stroke-width: 1.2; }
.g-b.you { fill: var(--g-you-soft); stroke: var(--g-you); stroke-width: 1.6; }
.g-b.guest { fill: var(--g-guest-soft); stroke: var(--g-guest); }
.g-b.pay { fill: var(--g-pay-soft); stroke: var(--g-pay); stroke-width: 1.6; }
.g-b.auto { fill: var(--g-auto); stroke: var(--g-muted); stroke-dasharray: 4 3; }
.g-lane0 { fill: var(--g-lane0); } .g-lane1 { fill: var(--g-lane1); }
.g-a { fill: none; stroke: currentColor; stroke-width: 1.4; }
.g-a.g-dash { stroke-dasharray: 5 4; stroke: var(--g-muted); }
.g-tb { font-size: 14px; font-weight: 700; fill: var(--g-ink); }
.g-ts { font-size: 12.5px; fill: var(--g-muted); }
.g-tlane { font-size: 13px; font-weight: 700; fill: var(--g-ink); }
.g-tcol { font-size: 11px; letter-spacing: .08em; font-weight: 600; fill: var(--g-muted); }
.g-legend { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; font-size: .9rem; color: var(--g-muted); }
.g-legend i { display: inline-block; width: 14px; height: 14px; border-radius: 3px; margin-right: .35rem; vertical-align: -2px; border: 1.5px solid; }
.g-legend .k-you { background: var(--g-you-soft); border-color: var(--g-you); }
.g-legend .k-guest { background: var(--g-guest-soft); border-color: var(--g-guest); }
.g-legend .k-pay { background: var(--g-pay-soft); border-color: var(--g-pay); }
.g-legend .k-auto { background: var(--g-auto); border-color: var(--g-muted); border-style: dashed; }
.g-three { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.g-three .panel h3 { margin-top: 0; font-family: var(--font-display); color: var(--colour-primary); }
.g-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: 0 2rem; }
.g-group h3 { font-family: var(--font-display); color: var(--colour-primary); font-size: 1.25rem; margin: 1.5rem 0 .4rem; }
.g-dl dt { font-weight: 700; margin-top: .7rem; }
.g-dl dd { margin: .15rem 0 0; }
.g-opt { display: inline-block; font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--g-guest); border: 1px solid var(--g-guest); border-radius: 999px; padding: 0 .45rem; vertical-align: 1px; }
.g-contact { margin-top: 1.5rem; }
@media print {
  @page { size: A4; margin: 14mm 12mm; }
  body.mk { background: #fff; font-size: 10.5pt; }
  .mk .site-header, .mk .site-footer, .skip-link, .g-noprint, .staging-banner { display: none !important; }
  .g-fig svg { max-width: 24rem; max-height: 17cm; width: auto; margin: 0 auto; display: block; }
  .g-fig-overview svg { max-height: 9cm; }
  .g-h3, .g-section > h2 { break-after: avoid; }
  .g-scroll { overflow: visible; }
  .g-break { break-before: page; }
  .g-fig, .g-group, .g-dl dd, .panel { break-inside: avoid; }
  .g-group h3, .feature-group > div:first-child { break-after: avoid; }
  .g-features { display: block; columns: 2; column-gap: 1.5rem; }
  .g-three { grid-template-columns: repeat(3, 1fr); }
  .g-three .panel { box-shadow: none; border: 1px solid #ddd; }
}
