/* Castle Dinner Ticket Guide — "cst-" skeleton, system fonts, local images only. */
*,::before,::after{box-sizing:border-box}
html,body{margin:0;padding:0}
.cst-doc{
  font: 17px/1.65 ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  color:#1b1816; background:#f6f2eb;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:#5a2a1a;text-decoration:underline;text-underline-offset:3px}
a:hover{color:#3b1a0e}

/* ---- Header ---- */
.cst-nav{background:#211a16;color:#f3ead9;padding:14px 0;border-bottom:3px solid #8b4a2a}
.cst-nav-wrap{max-width:980px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cst-brand{display:inline-flex;gap:9px;align-items:center;color:#f3ead9;text-decoration:none;font-weight:700;letter-spacing:.02em;font-size:17px}
.cst-brand-mark{width:28px;height:28px;background:#c84a1a;clip-path:polygon(0 100%,0 40%,15% 20%,15% 50%,30% 50%,30% 10%,50% 0,70% 10%,70% 50%,85% 50%,85% 20%,100% 40%,100% 100%)}
.cst-brand-txt{font-family:ui-serif,Georgia,serif}
.cst-primary{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap;font-size:14.5px}
.cst-primary a{color:#f3ead9;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.cst-primary a:hover{color:#fff;border-bottom-color:#c84a1a}
.cst-primary a.is-here{color:#fff;border-bottom-color:#c84a1a;font-weight:700}

/* ---- Hero (home only) ---- */
.cst-hero{
  background:#211a16 url(/assets/img/castle-illust.svg) center/cover no-repeat;
  color:#f3ead9;
  padding:72px 0 48px;
  text-align:center;
  position:relative;
  overflow:hidden;
  border-bottom:3px solid #8b4a2a;
}
.cst-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,30,44,.15) 0%,rgba(26,30,44,.75) 100%);
  pointer-events:none;
}
.cst-hero-inner{position:relative;z-index:2;max-width:720px;margin:0 auto;padding:0 22px}
.cst-hero h1{
  font-size:48px;line-height:1.1;margin:0 0 14px;
  letter-spacing:-.02em;
  text-shadow:0 2px 20px rgba(0,0,0,.6);
}
.cst-hero .sub{
  color:#e6dcc5;font-size:19px;margin:0 0 6px;font-style:italic;
  text-shadow:0 2px 10px rgba(0,0,0,.5);
}
.cst-hero .by{color:#c3b8a4;font-size:14.5px;margin:14px 0 0}

/* ---- Main ---- */
.cst-main{max-width:720px;margin:0 auto;padding:32px 22px 60px}
.cst-h1{font-size:34px;line-height:1.15;margin:12px 0 8px;letter-spacing:-.015em;font-family:ui-serif,Georgia,serif}
.cst-sub{color:#55433a;font-size:17px;margin:0 0 24px;font-style:italic}
.cst-main h2{font-size:24px;line-height:1.25;margin:34px 0 12px;letter-spacing:-.005em}
.cst-main h3{font-size:18px;margin:24px 0 8px}
.cst-main p{margin:0 0 16px}
.cst-main ul,.cst-main ol{margin:0 0 20px 1.1em;padding:0}
.cst-main li{margin:0 0 7px}

/* Drop cap on first paragraph of home / editorial pages */
.cst-main > article > p:first-of-type::first-letter,
.cst-main > article > p.cst-lead::first-letter{
  float:left;font-size:62px;line-height:0.9;
  padding:6px 10px 0 0;
  font-family:ui-serif,Georgia,serif;font-weight:700;
  color:#8b4a2a;
}

/* Figure + caption (Micah's photo notes) */
.cst-fig{margin:28px 0 24px;padding:0}
.cst-fig img{width:100%;height:auto;border-radius:4px;box-shadow:0 6px 24px rgba(0,0,0,.15)}
.cst-fig figcaption{font-size:13.5px;color:#7b685c;margin-top:8px;font-style:italic;line-height:1.5;padding:0 2px}
.cst-fig figcaption b{color:#55433a;font-style:normal}
.cst-fig.polaroid{background:#fff;padding:14px 14px 48px;transform:rotate(-1.2deg);box-shadow:0 10px 30px rgba(0,0,0,.18);max-width:420px;margin:28px auto}
.cst-fig.polaroid img{box-shadow:none;border-radius:0}
.cst-fig.polaroid figcaption{text-align:center;font-family:"Caveat","Shadows Into Light",cursive,ui-serif;font-size:17px;color:#2a2420;margin-top:12px;font-style:normal}

/* Micah note — hand-written colour box */
.cst-note{background:#fff4df;border-left:4px solid #c84a1a;padding:16px 20px;margin:24px 0;font-size:16px}
.cst-note strong{color:#5a2a1a}

/* Table for schedule / FAQ */
.cst-tbl{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:15px}
.cst-tbl th,.cst-tbl td{border:1px solid #d9c9ad;padding:9px 10px;text-align:left}
.cst-tbl th{background:#f0e3c6}

/* Breadcrumb line */
.cst-crumbs{font-size:13.5px;color:#7b685c;margin:0 0 10px}
.cst-crumbs a{color:#7b685c;text-decoration:none}
.cst-crumbs a:hover{color:#3b1a0e;text-decoration:underline}

/* Pull quote */
.cst-pull{
  font-family:ui-serif,Georgia,serif;
  font-size:22px;line-height:1.4;
  color:#55433a;
  border-left:3px solid #c84a1a;
  padding:4px 0 4px 22px;
  margin:28px 0;
  font-style:italic;
}

/* Related links strip at bottom */
.cst-related{margin:40px 0 0;padding:22px 0 0;border-top:1px solid #d9c9ad;font-size:14.5px}
.cst-related h3{margin:0 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:#55433a}

/* FAQ expandable */
.cst-faq details{border-top:1px solid #d9c9ad;padding:14px 0}
.cst-faq details:last-child{border-bottom:1px solid #d9c9ad}
.cst-faq summary{cursor:pointer;font-weight:700;padding:4px 0;list-style-position:outside;font-size:17px}
.cst-faq p{margin:10px 0 2px}

/* Index-card list for home */
.cst-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.cst-cards a{
  display:block;padding:16px 18px;background:#fff;border:1px solid #d9c9ad;border-radius:6px;
  color:#1b1816;text-decoration:none;transition:.15s;
}
.cst-cards a:hover{border-color:#c84a1a;transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.1)}
.cst-cards a strong{display:block;font-size:16px;color:#5a2a1a;margin-bottom:3px}
.cst-cards a small{display:block;color:#7b685c;font-size:13.5px;line-height:1.45;font-style:italic}
@media (max-width:580px){.cst-cards{grid-template-columns:1fr}}

/* ---- Footer ---- */
.cst-foot{background:#211a16;color:#c3b8a4;padding:30px 0 24px;margin-top:50px;font-size:14.5px}
.cst-foot-wrap{max-width:980px;margin:0 auto;padding:0 20px}
.cst-foot-dis{margin:0 0 14px;color:#e6dcc5;font-size:14.5px;line-height:1.6}
.cst-foot-dis strong{color:#fff}
.cst-foot-nav{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 14px}
.cst-foot-nav a{color:#c3b8a4}
.cst-foot-nav a:hover{color:#fff}
.cst-foot-cp{margin:0;color:#8d8470;font-size:13.5px}
.cst-foot-credits{margin:12px 0 0;color:#8d8470;font-size:11.5px;line-height:1.5}

@media (max-width:620px){
  .cst-doc{font-size:16px}
  .cst-primary{font-size:14px;gap:11px}
  .cst-h1{font-size:28px}
  .cst-hero{padding:50px 0 36px}
  .cst-hero h1{font-size:36px}
  .cst-hero .sub{font-size:16px}
}
