/* FussyLand Core 1.0.0 — cards, filters and detail pages. Everything is scoped to .flc so it never restyles other parts of the site. */
.flc,.flc-detail-page{
  --flc-bg:#F8F2E6; --flc-paper:#FFFBF4; --flc-ink:#23271F; --flc-muted:#5B5A4E; --flc-line:#E5DAC6;
  --flc-green:#1F4A34; --flc-green-2:#2D6146; --flc-sage:#E3E9D6; --flc-sand:#EFE5D2; --flc-terra:#A9492B;
  --flc-display:"Newsreader", Georgia, "Times New Roman", serif;
  --flc-body:"Figtree", "Segoe UI", system-ui, sans-serif;
  --flc-r:18px; --flc-shadow:0 1px 2px rgba(35,39,31,.05),0 10px 30px rgba(35,39,31,.07);
  --flc-gutter:max(20px,env(safe-area-inset-left,0px));
}
.flc{font-family:var(--flc-body);color:var(--flc-ink);line-height:1.6}
.flc *,.flc *::before,.flc *::after{box-sizing:border-box}
.flc img{max-width:100%;height:auto;display:block}
.flc [hidden]{display:none!important}
.flc a{color:var(--flc-green)}
.flc :focus-visible{outline:3px solid #C99A2E;outline-offset:3px;border-radius:6px}
.flc h1,.flc h2,.flc h3{font-family:var(--flc-display);font-weight:500;color:var(--flc-green);line-height:1.1;margin:0;letter-spacing:-.01em;text-wrap:balance}
.flc p{margin:0}

/* buttons, badges, chips */
.flc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;font:600 15px var(--flc-body);text-decoration:none!important;border:1.5px solid var(--flc-green);cursor:pointer;transition:background .16s,color .16s}
.flc-btn--primary{background:var(--flc-green);color:#fff!important}
.flc-btn--primary:hover{background:var(--flc-green-2)}
.flc-btn--ghost{background:transparent;color:var(--flc-green)!important}
.flc-btn--ghost:hover{background:var(--flc-sage)}
.flc-badge{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--flc-paper);color:var(--flc-terra);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.flc-badge--flat{box-shadow:none;border:1px solid #E3C9BC}
.flc-meta,.flc-eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--flc-muted)}
.flc-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.flc-chip{min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--flc-line);background:var(--flc-paper);color:var(--flc-ink);font:600 15px var(--flc-body);cursor:pointer}
.flc-chip[aria-pressed="true"]{background:var(--flc-green);border-color:var(--flc-green);color:#fff}
.flc-chip--static{display:inline-flex;align-items:center;cursor:default}
.flc-more{font-weight:600;font-size:15px;text-decoration:none!important}
.flc-more::after{content:" →"}
.flc-empty{padding:28px;border:1.5px dashed var(--flc-line);border-radius:var(--flc-r);color:var(--flc-muted);text-align:center}

/* cards */
.flc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px}
.flc-card{background:var(--flc-paper);border-radius:var(--flc-r);overflow:hidden;box-shadow:var(--flc-shadow);display:flex;flex-direction:column}
.flc-card__img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--flc-sand)}
.flc .flc-card__img img,.flc .flc-card__img .flc-noimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.flc-card__img .flc-badge{position:absolute;top:12px;left:12px}
.flc-noimg{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--flc-sand),var(--flc-sage))}
.flc-card__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.flc-card__title{font-size:24px!important}
.flc-card__title a{color:var(--flc-ink)!important;text-decoration:none!important}
.flc-card__body p{font-size:15px;color:var(--flc-muted)}
.flc-card__body .flc-date{font-weight:600;color:var(--flc-ink)}
.flc-card__body>.flc-more{margin-top:auto;padding-top:8px}
.flc-card__acts{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.flc-card.is-past .flc-card__img img{filter:saturate(.75)}
/* swipe row on phones */
@media (max-width:767px){
  .flc-grid--scroll{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}
  .flc-grid--scroll>.flc-card{scroll-snap-align:start}
}

/* tabs */
.flc-tabs{display:inline-flex;gap:6px;padding:6px;border-radius:999px;background:var(--flc-sand);margin-bottom:24px}
.flc-tab{min-height:42px;padding:0 20px;border-radius:999px;border:0;background:transparent;font:600 15px var(--flc-body);color:var(--flc-ink);cursor:pointer}
.flc-tab[aria-selected="true"]{background:var(--flc-green);color:#fff}

/* ---------- detail pages ---------- */
body.flc-detail-page{background:var(--flc-bg)}
body.flc-detail-page #content .ast-container{max-width:none;padding-left:0;padding-right:0}
.flc-single{background:var(--flc-bg);width:100%;overflow-x:clip}
.flc-wrap{max-width:1180px;margin:0 auto;padding-left:var(--flc-gutter);padding-right:var(--flc-gutter)}
.flc-hero{position:relative;overflow:hidden}
.flc-hero__bg{display:none!important}
.flc-hero__in{display:flex;flex-direction:column}
.flc-hero__fig{order:-1;margin:0 calc(-1 * var(--flc-gutter))}
.flc-hero__fig img{width:100%;height:460px!important;object-fit:cover;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,#000 70%,transparent 100%)}
.flc-hero__copy{position:relative;margin-top:-36px;padding-top:8px}
.flc-back{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:none!important}
.flc-hero__meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:12px;font-size:14px;color:var(--flc-muted)}
.flc-hero__title{font-size:clamp(38px,7vw,64px)!important;margin-top:10px!important}
.flc-hero__dek{font-family:var(--flc-display);font-size:clamp(20px,3vw,25px);line-height:1.4;margin-top:12px!important;color:var(--flc-ink)}
.flc-body{padding-top:28px;padding-bottom:72px}
.flc-layout{display:grid;gap:32px}
.flc-main{min-width:0;display:flex;flex-direction:column;gap:32px}
.flc-main h2{font-size:28px;margin-bottom:10px}
.flc-main ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.flc-notice{padding:14px 18px;border-radius:14px;background:var(--flc-sand);font-size:15px}
.flc-article{max-width:68ch;font-size:18px;line-height:1.75;color:#3A3A31;display:flex;flex-direction:column;gap:18px}
.flc-article>*{margin:0}
.flc-article blockquote{margin:6px 0;padding:6px 0 6px 22px;border-left:3px solid var(--flc-green)}
.flc-article blockquote p{font-family:var(--flc-display);font-size:clamp(22px,3vw,28px);line-height:1.35;color:var(--flc-green)}
.flc-side{align-self:start}
.flc-feat{padding:22px;border-radius:22px;background:var(--flc-paper);border:1px solid var(--flc-line);display:flex;flex-direction:column;gap:14px}
.flc-feat ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px}
.flc-feat img{height:110px;width:auto}
.flc-feat .flc-btn{align-self:flex-start}
.flc-more-head{font-size:clamp(28px,4vw,36px)!important;margin:56px 0 20px!important}
.flc-sched{margin:0;display:grid;grid-template-columns:120px 1fr;gap:10px 16px}
.flc-sched dt{font-weight:700;color:var(--flc-green)}
.flc-sched dd{margin:0}
.flc-know{background:var(--flc-sand);border-radius:20px;padding:22px}
.flc-know h2{font-size:24px}
.flc-summary{background:var(--flc-paper);border:1px solid var(--flc-line);border-radius:22px;padding:24px;box-shadow:var(--flc-shadow);display:flex;flex-direction:column;gap:14px}
.flc-summary dl{margin:0;display:flex;flex-direction:column;gap:12px}
.flc-summary dt{font-size:13px;color:var(--flc-muted)}
.flc-summary dd{margin:0;font-weight:600}
.flc-summary small{text-align:center;color:var(--flc-muted);font-size:13px}
.flc-status{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--flc-green)}
.flc-status::before{content:"";width:10px;height:10px;border-radius:50%;background:currentColor}
.flc-status.is-waitlist,.flc-status.is-few{color:#8A5A12}
.flc-status.is-past,.flc-status.is-closed{color:var(--flc-muted)}
.flc-mbar{position:sticky;bottom:0;z-index:15;background:rgba(255,251,244,.97);border-top:1px solid var(--flc-line);padding:12px var(--flc-gutter) calc(12px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-between;gap:12px}
.flc-mbar span{display:block;font-size:13px;color:var(--flc-muted)}
.flc-mbar strong{display:block;font-size:16px;color:var(--flc-ink)}

@media (min-width:1000px){
  .flc-hero{height:600px}
  .flc-hero__bg{display:block!important;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(24px) saturate(1.1);transform:scale(1.2);opacity:.6;-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 25%,#000 60%),linear-gradient(0deg,transparent 0%,#000 20%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,transparent 25%,#000 60%),linear-gradient(0deg,transparent 0%,#000 20%);mask-composite:intersect}
  .flc-hero__in{position:relative;height:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:56px}
  .flc-hero__copy{max-width:540px;margin:0;padding:0}
  .flc-hero__fig{order:0;margin:0;flex:none}
  .flc-hero__fig img{height:430px!important;width:auto;max-width:540px;border-radius:24px;box-shadow:var(--flc-shadow);-webkit-mask-image:none;mask-image:none}
  .flc-hero__fig--arch img{border-radius:220px 220px 24px 24px}
  .flc-body{padding-top:40px;padding-bottom:88px}
  .flc-layout{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px}
  .flc-side{position:sticky;top:96px}
  .flc-mbar{display:none}
}
@media (prefers-reduced-motion:reduce){.flc *{transition:none!important}}
