/* The corner (S2a, 2026-09-28) — welcome strip, "Worth a look" taped poster, "Coming up" paper slips,
   then the board. Ported from Chet's whole-site design (corner view), read off its rendered output
   and rewritten flat: no cascade of overrides. Real text throughout; the content decides the height.
   The masthead is the shared one (shell.css, fc_bar()). All three views work server-side.
   Faces are the design's own files, self-hosted (assets/fonts/); nothing is requested from Google here. */

@font-face{font-family:'FC DM Sans';font-weight:400;font-style:normal;font-display:swap;src:url('fonts/fc-dmsans-400.woff2') format('woff2')}
@font-face{font-family:'FC DM Sans';font-weight:500;font-style:normal;font-display:swap;src:url('fonts/fc-dmsans-500.woff2') format('woff2')}
@font-face{font-family:'FC DM Serif';font-weight:400;font-style:normal;font-display:swap;src:url('fonts/fc-dmserif-400.woff2') format('woff2')}
@font-face{font-family:'FC DM Serif';font-weight:400;font-style:italic;font-display:swap;src:url('fonts/fc-dmserif-400i.woff2') format('woff2')}
@font-face{font-family:'FC Archivo Black';font-weight:400;font-style:normal;font-display:swap;src:url('fonts/fc-archivoblack.woff2') format('woff2')}
@font-face{font-family:'FC Barlow Condensed';font-weight:700;font-style:normal;font-display:swap;src:url('fonts/fc-barlowcond-700.woff2') format('woff2')}
@font-face{font-family:'FC Barlow Condensed';font-weight:800;font-style:normal;font-display:swap;src:url('fonts/fc-barlowcond-800.woff2') format('woff2')}
@font-face{font-family:'FC Special Elite';font-weight:400;font-style:normal;font-display:swap;src:url('fonts/fc-specialelite.ttf') format('truetype')}

.fc-place-page {
  --ink:#202b2a; --field:#d7d2bd; --rule:#aaa790; --muted:#525b50; --cream:#f2ecd9;
  --green:#263e34; --orange:#f07038; --yellow:#e8e98a; --blue:#c6dde0; --navy:#173e57; --pink:#e6c2ba;
  --serif:'FC DM Serif',Georgia,serif; --sans:'FC DM Sans','Source Sans 3',Arial,sans-serif;
  --black:'FC Archivo Black',Impact,sans-serif; --cond:'FC Barlow Condensed',Impact,'Arial Narrow',sans-serif;
  --type:'FC Special Elite','Courier New',ui-monospace,monospace;
  background:var(--field); color:var(--ink); font-family:var(--sans);
}
.fc-place-page [hidden] { display:none !important; }
.fc-place-page main a:focus-visible,.fc-place-page main summary:focus-visible { outline:3px solid #176391; outline-offset:4px; }
.fc-place-page main { background:var(--field) radial-gradient(#23322c17 .55px,#0000 .75px) 0 0/5px 5px; }

/* Welcome strip */
.fc-place-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 27px; background:var(--cream); border-bottom:3px double var(--ink); }
.fc-place-intro h1 { margin:0 0 7px; font:italic 400 32px/1.05 var(--serif); letter-spacing:-.8px; color:var(--ink); }
.fc-place-welcome { margin:0; font:400 13px/1.5 var(--sans); color:var(--ink); }
.fc-place-intro .fc-btn { flex:none; display:inline-block; min-height:44px; padding:13px 18px; border:1px solid #22322a; border-radius:0; background:var(--yellow); color:#22322a; font:500 14px/1.3 var(--sans); white-space:nowrap; text-decoration:none; box-shadow:3px 3px 0 #22322a33; transform:rotate(-1.2deg); }

/* Look-around row: the three views are plain links; each one is a full server render */
.fc-place-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:4px 24px; padding:6px 27px 0; position:relative; z-index:5; }
.fc-place-views { display:flex; flex-wrap:wrap; gap:4px 22px; }
.fc-place-views a { display:flex; align-items:center; min-height:46px; border-bottom:3px solid transparent; color:#3f4a44; font:500 .9375rem/1.2 var(--sans); text-decoration:none; }
.fc-place-views a:hover { border-bottom-color:#20292a44; }
.fc-place-views a[aria-current] { border-bottom-color:var(--ink); color:var(--ink); font-weight:700; }
.fc-place-list-link { margin-left:auto; min-height:44px; display:flex; align-items:center; font:400 .8125rem/1.2 var(--sans); color:var(--ink); text-underline-offset:4px; white-space:nowrap; }
.fc-place-discover { position:relative; }
.fc-place-discover summary { min-height:46px; display:flex; align-items:center; gap:10px; cursor:pointer; list-style:none; font:500 .9375rem/1.2 var(--sans); color:#3f4a44; }
.fc-place-discover summary::-webkit-details-marker { display:none; }
.fc-place-discover[open] summary { color:var(--ink); text-decoration:underline; text-underline-offset:5px; }
.fc-place-discover-map { position:absolute; top:100%; left:0; width:320px; max-width:calc(100vw - 32px); padding:18px 20px; background:var(--cream); border:1px solid var(--rule); box-shadow:3px 5px 0 #20382722; }
.fc-place-discover-map p { margin:0 0 6px; font:italic 400 1.4rem/1.2 var(--serif); }
.fc-place-discover-map a { display:block; min-height:44px; padding:10px 0; border-top:1px solid var(--rule); text-decoration:none; color:var(--ink); }
.fc-place-discover-map a strong { display:block; font-weight:700; }
.fc-place-discover-map a span { display:block; font-size:.8125rem; margin-top:2px; color:#4c5346; }
.fc-place-discover-map a:hover strong { text-decoration:underline; }

/* The field */
.fc-place-world { max-width:1440px; margin:auto; padding:24px 27px 34px; }
.fc-place-paper span,.fc-place-slip span { display:block; }
.fc-place[data-view="pole"] .fc-place-world { max-width:1100px; }

/* Worth a look (left) + Coming up (right) */
.fc-place-top { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:27px; align-items:start; margin-bottom:27px; }
.fc-place-look { min-width:0; container-type:inline-size; }
.fc-place-look-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 0 15px; padding:0 0 8px; border-bottom:2px solid var(--ink); }
.fc-place-look-head span { font:400 12px/1.3 var(--type); }
.fc-place-top-head { margin:0; font:700 24px/.95 var(--cond); letter-spacing:.02em; text-transform:uppercase; }
.fc-place-soon { min-width:0; padding:7px 0; }
.fc-place-soon .fc-place-top-head { margin:0 0 22px; font:400 34px/1 var(--serif); letter-spacing:0; text-transform:none; }
.fc-place-top-note { margin:12px 0 0; color:var(--muted); font:400 12px/1.5 var(--sans); }
.fc-place-slips { display:grid; }
.fc-place-slip { --paper:#ede7cb; display:block; margin:0 0 20px; padding:22px; background:var(--paper); border-top:2px solid #263c30; color:#23382e; text-decoration:none; box-shadow:3px 5px 0 #20382722; transform:rotate(.7deg); font:400 14px/1.5 var(--sans); }
.fc-place-slip:nth-child(3n+2) { --paper:#d4dfdf; transform:rotate(-.8deg); }
.fc-place-slip:nth-child(3n) { --paper:#e3c1b6; }
.fc-place-slip:hover .fc-place-slip-title { text-decoration:underline; text-underline-offset:4px; }
.fc-place-slip-kicker { font:400 14px/1.5 var(--sans); }
.fc-place-slip-title { margin:8px 0 13px; font:700 30px/.98 var(--cond); text-transform:uppercase; overflow-wrap:break-word; }
.fc-place-slip-when { font:400 14px/1.5 var(--sans); }
.fc-place-slip-where { margin-top:8px; font:400 12px/1.5 var(--type); overflow-wrap:anywhere; }
.fc-place-slip-where::after { content:' \2197'; }
.fc-place-top-links { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; margin-top:18px; }
.fc-place-top-links .fc-btn { display:inline-flex; align-items:center; min-height:44px; padding:12px 18px; border:0; border-radius:0; background:var(--green); color:#f5e7c9; font:500 14px/1.3 var(--sans); text-decoration:none; }
.fc-place-top-link { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); font-size:.875rem; text-underline-offset:4px; }
.fc-place-top-empty { max-width:520px; padding:22px; background:#ede7cb; border-top:2px solid #263c30; box-shadow:3px 5px 0 #20382722; transform:rotate(.5deg); }
.fc-place-top-empty p { margin:0 0 10px; font:400 14px/1.5 var(--sans); }
.fc-place-top-empty p:first-child { font:italic 400 1.5rem/1.2 var(--serif); }
.fc-place-top-empty .fc-btn { display:inline-flex; align-items:center; margin-top:6px; min-height:44px; padding:12px 18px; border:1px solid #22322a; border-radius:0; background:var(--yellow); color:#22322a; font:500 14px/1.3 var(--sans); text-decoration:none; box-shadow:3px 3px 0 #22322a33; }
.fc-place-top-empty .fc-place-top-link { margin-left:14px; }

/* The pulled-forward notice: a taped orange poster. Grain is the shared postoffice-grain.jpg, soft-light. */
.fc-cpost { position:relative; display:block; margin:20px 3px 0 1px; background:var(--orange) url('postoffice-grain.jpg') 0 0/100% 100%; background-blend-mode:soft-light; color:#222b29; text-decoration:none; box-shadow:4px 6px 0 #1b27272b; transform:rotate(-1.1deg); }
.fc-cpost::before { content:''; position:absolute; top:-9px; left:calc(50% - 32px); z-index:3; width:64px; height:18px; background:#eeedc8b0; box-shadow:0 1px 0 #2222; transform:rotate(-5deg); pointer-events:none; }
.fc-cpost span { display:block; }
.fc-cpost-over { padding:12px 10px 9px; border-bottom:2px solid #222b29; font:400 12px/1.2 var(--type); letter-spacing:.025em; text-transform:uppercase; }
.fc-cpost-photo { display:block; width:100%; height:auto; max-height:300px; object-fit:cover; margin:6px 0 0; }
.fc-cpost-title { margin:0; padding:12px 14px 5px; font:800 clamp(62px,8.6cqi,98px)/.79 var(--cond); letter-spacing:-3px; text-transform:uppercase; overflow-wrap:break-word; }
.fc-cpost--l .fc-cpost-title { font-size:clamp(48px,6.4cqi,72px); line-height:.85; letter-spacing:-2px; }
.fc-cpost--xl .fc-cpost-title { font-size:clamp(38px,4.6cqi,52px); line-height:.9; letter-spacing:-1.5px; }
.fc-cpost-facts { margin:10px 15px 0; padding:8px 0; border-top:2px solid #222b29; border-bottom:2px solid #222b29; font:700 18px/1.05 var(--cond); letter-spacing:.02em; text-transform:uppercase; overflow-wrap:anywhere; }
.fc-cpost-panel { position:relative; margin-top:12px; padding:30px 22px 32px; min-height:136px; display:flex !important; align-items:center; background:#222b29 radial-gradient(#f0703877 1px,#0000 1.2px) 0 0/5px 5px; color:#efede0; overflow:hidden; }
.fc-cpost-words { display:-webkit-box !important; max-width:92%; font:400 45px/.86 var(--black); letter-spacing:-2px; text-transform:uppercase; text-shadow:3px 2px 0 #222b29; transform:rotate(-3deg); transform-origin:left center; overflow-wrap:anywhere; overflow:hidden; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  -webkit-mask-image:linear-gradient(#000a,#000a),url('postoffice-grain.jpg'); mask-image:linear-gradient(#000a,#000a),url('postoffice-grain.jpg'); mask-mode:alpha,luminance; mask-size:auto,380px 470px; mask-composite:add; }
.fc-cpost-panel--mid .fc-cpost-words { font-size:30px; }
.fc-cpost-panel--long .fc-cpost-words { font-size:26px; line-height:.95; -webkit-line-clamp:4; }
.fc-cpost-foot { display:flex !important; align-items:center; justify-content:space-between; gap:8px; padding:11px 15px; background:#ece7d0; font:400 12px/1.4 var(--type); }
.fc-cpost-foot span:last-child { font:400 12px/1.4 var(--sans); text-decoration:underline; text-underline-offset:4px; }
.fc-cpost:hover .fc-cpost-title { text-decoration:underline; text-decoration-thickness:4px; text-underline-offset:6px; }
.fc-place-picked { display:flex; gap:9px; align-items:flex-start; margin:17px 4px 0; color:var(--muted); font:400 12px/1.5 var(--sans); }
.fc-place-picked strong { font-weight:700; }
.fc-place-roundel { flex:none; display:grid; place-items:center; width:32px; height:32px; background:var(--cream); border:1px solid var(--ink); color:var(--ink); font:400 21px/1 var(--serif); transform:rotate(4deg); }

/* The board */
.fc-place-board { min-width:0; }
.fc-place-board-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; margin:0 0 15px; padding:0 0 8px; border-bottom:2px solid var(--ink); }
.fc-place-board-label { font:700 24px/.95 var(--cond); text-transform:uppercase; letter-spacing:.02em; }
.fc-place-board-head>span:last-child { font:400 12px/1.3 var(--type); }
.fc-place-filters { display:flex; flex-wrap:wrap; gap:4px 6px; margin:0 0 22px; padding:0 0 8px; border-bottom:1px solid var(--rule); }
.fc-place-filters a { display:inline-flex; align-items:center; min-height:44px; padding:0 15px; color:var(--ink); font:400 13px/1.3 var(--sans); text-decoration:none; }
.fc-place-filters a[aria-current] { background:var(--green); color:#f5e7c9; transform:rotate(-2deg); }
.fc-place-filters a:not([aria-current]):hover { text-decoration:underline; text-underline-offset:4px; }
.fc-place-papers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 24px; align-items:start; }

/* Paper on the board and the pole: four stocks, picked by the notice's own id (fc_place_stock) */
.fc-place-paper { --paper:#efe9d7; --ink:#20292a; position:relative; display:block; min-width:0; padding:20px 22px 16px; background:var(--paper); color:var(--ink); border-top:6px solid var(--ink); text-decoration:none; box-shadow:2px 3px 0 #0002; transform:rotate(.4deg); }
.fc-place-paper:hover .fc-place-title { text-decoration:underline; text-underline-offset:5px; }
.fc-place-paper.fc-place-stock-1 { --paper:var(--blue); --ink:#173e57; border:7px solid var(--ink); padding:14px 16px 10px; transform:rotate(-.5deg); }
.fc-place-paper.fc-place-stock-2 { --paper:#dfdcaa; --ink:#33401f; border:0; border-top:2px solid var(--ink); box-shadow:2px 3px 0 #0002, inset 0 0 0 1px #33401f88; transform:rotate(.6deg); }
.fc-place-paper.fc-place-stock-3 { --paper:var(--pink); --ink:#4a2020; transform:rotate(-.4deg); }
.fc-place-fastener { display:none; }
.fc-place-kicker { margin-bottom:8px; font:400 12px/1.3 var(--sans); letter-spacing:.06em; text-transform:uppercase; }
.fc-place-title { margin:0 0 10px; font:400 28px/1.12 var(--serif); letter-spacing:-.01em; overflow-wrap:break-word; hyphens:auto; }
.fc-place-broadside .fc-place-title { font:800 33px/1 var(--cond); text-transform:uppercase; letter-spacing:.005em; }
.fc-place-date { font:400 13px/1.5 var(--type); }
.fc-place-location { margin:0 0 8px; font:400 13px/1.5 var(--type); overflow-wrap:anywhere; }
.fc-place-excerpt { font:400 14px/1.5 var(--sans); overflow-wrap:anywhere; }
.fc-place-source { margin-top:12px; font:400 12px/1.5 var(--type); }
.fc-place-read { margin-top:14px; padding-top:10px; border-top:1px solid #20292a55; font:400 13px/1.4 var(--sans); text-decoration:underline; text-underline-offset:4px; }
.fc-place-link-slip .fc-place-title { font-size:1.5rem; }
.fc-place-photo { display:block; width:100%; height:auto; max-height:360px; object-fit:contain; background:#fff8; margin:10px 0 14px; }
.fc-place-empty { margin:8px 0 20px; grid-column:1/-1; }
.fc-place-board-pager { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px 20px; margin-top:26px; padding-top:12px; border-top:2px solid var(--ink); font:400 12px/1.4 var(--type); }
.fc-place-board-pager a { display:flex; align-items:center; min-height:44px; font:700 13px/1.3 var(--sans); text-underline-offset:4px; color:var(--ink); }

/* On the pole (its own view: the hand-picked flyers, all of them) */
.fc-place-pole { min-width:0; }
.fc-place-pole-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; margin:0 0 22px; padding:0 0 8px; border-bottom:2px solid var(--ink); }
.fc-place-pole-head h2 { margin:0; font:700 24px/.95 var(--cond); text-transform:uppercase; letter-spacing:.02em; }
.fc-place-pole-head p { margin:0; font:400 12px/1.3 var(--type); }
.fc-place-pole-enter { display:none; }
.fc-place-pole-flyers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 24px; align-items:start; }
.fc-place-pole-slot { min-width:0; }
.fc-place-pole-pager { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 18px; margin-top:26px; padding-top:12px; border-top:2px solid var(--ink); font:400 12px/1.4 var(--type); }
.fc-place-pole-pager a { display:flex; align-items:center; min-height:44px; text-underline-offset:4px; color:var(--ink); font:700 13px/1.3 var(--sans); }
.fc-place-pole-empty { padding:20px; background:#ede7cb; border-top:2px solid #263c30; font-size:1rem; }
.fc-place-pole-empty a { display:block; margin-top:12px; }

@media(max-width:760px) {
  .fc-place-top { grid-template-columns:1fr; gap:27px; }
}
@media(max-width:700px) {
  .fc-place-intro { padding:20px; }
  .fc-place-toolbar { padding:6px 16px 0; gap:0 16px; }
  .fc-place-discover-map { left:0; }
}
@media(max-width:600px) {
  .fc-place-intro { display:block; }
  .fc-place-intro h1 { font-size:28px; line-height:1.05; }
  .fc-place-intro .fc-btn { margin-top:14px; }
  .fc-place-world { padding:23px 18px 28px; }
  .fc-place-papers,.fc-place-pole-flyers { grid-template-columns:1fr; gap:23px; }
  .fc-place-paper { margin:0 3px; }
  .fc-cpost-title { font-size:clamp(44px,20cqi,88px); }
  .fc-cpost--l .fc-cpost-title { font-size:clamp(38px,16cqi,64px); }
  .fc-cpost--xl .fc-cpost-title { font-size:clamp(34px,13cqi,46px); }
  .fc-cpost-panel { min-height:124px; padding:16px 12px; }
  .fc-cpost-words { font-size:30px; }
  .fc-cpost-panel--mid .fc-cpost-words { font-size:26px; }
  .fc-cpost-panel--long .fc-cpost-words { font-size:22px; }
  .fc-cpost-foot { padding:8px 14px; }
  .fc-place-board-pager { justify-content:center; text-align:center; }
  .fc-place-board-pager span { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .fc-place-paper,.fc-place-slip { transition:none; } }
@media(forced-colors:active) { .fc-place-paper,.fc-place-slip,.fc-place-top-empty,.fc-cpost { border:2px solid CanvasText; } }

/* ---- The board page (/board) and one notice (/poster/{id}) — S2b, 2026-09-28 ----
   Same paper as the corner: fc_place_paper() cards, the filter row and the pager are place.css's own.
   Only what is new to these two pages is below. */
.fc-board2-main { max-width:1440px; margin:auto; padding:24px 27px 34px; }
.fc-board2-pin { max-width:640px; margin:0 0 30px; container-type:inline-size; }
.fc-board2 .fc-place-board-label { margin:0; }
.fc-board2-papers { grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr)); }
.fc-board2-narrow { margin:-8px 0 18px; font:400 13px/1.5 var(--sans); color:var(--muted); }
.fc-board2-narrow a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); text-underline-offset:4px; }
.fc-board2-warn { max-width:640px; margin:0 0 22px; padding:16px 20px; background:var(--cream); border-top:3px solid var(--orange); box-shadow:3px 5px 0 #20382722; font:400 14px/1.5 var(--sans); }
.fc-board2-add { display:flex; flex-wrap:wrap; align-items:center; gap:6px 22px; margin:26px 0 0; }
.fc-board2-add .fc-btn { display:inline-flex; align-items:center; min-height:44px; padding:12px 18px; border:1px solid #22322a; border-radius:0; background:var(--yellow); color:#22322a; font:500 14px/1.3 var(--sans); text-decoration:none; box-shadow:2px 3px 0 #2233281f; }

/* One notice, opened. The paper is the stock it has on the board. */
.fc-notice-main { max-width:1100px; margin:auto; padding:22px 27px 40px; }
.fc-notice-back { margin:0 0 14px; }
.fc-notice-back a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); font:400 13px/1.3 var(--sans); text-underline-offset:4px; }
.fc-notice-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(200px,.6fr); gap:28px; align-items:start; }
.fc-notice-paper { --paper:#efe9d7; --nink:#20292a; min-width:0; padding:30px; background:var(--paper); color:var(--nink); border-top:7px solid var(--nink); box-shadow:2px 4px 0 #0000001a; font:400 15px/1.55 var(--sans); }
.fc-notice-paper.fc-place-stock-1 { --paper:var(--blue); --nink:#173e57; border:8px solid var(--nink); padding:23px; }
.fc-notice-paper.fc-place-stock-2 { --paper:#dfdcaa; --nink:#33401f; border-top:2px solid var(--nink); box-shadow:2px 4px 0 #0002, inset 0 0 0 1px #33401f88; }
.fc-notice-paper.fc-place-stock-3 { --paper:var(--pink); --nink:#4a2020; }
.fc-notice-eyebrow { display:block; font:400 12px/1.3 var(--sans); letter-spacing:.07em; text-transform:uppercase; }
.fc-notice-paper h1 { margin:10px 0 20px; font:400 42px/1.05 var(--serif); letter-spacing:-.01em; overflow-wrap:anywhere; hyphens:auto; }
.fc-notice-paper p { margin:0 0 15px; overflow-wrap:anywhere; }
.fc-notice-art { display:block; width:100%; height:auto; max-height:420px; object-fit:contain; margin:16px 0; background:#fff8; }
.fc-notice-said { margin:0 0 18px; padding:0 0 0 16px; border-left:3px solid var(--nink); font:italic 400 18px/1.45 var(--serif); }
.fc-notice-said cite { display:block; margin-top:6px; font:400 13px/1.4 var(--sans); font-style:normal; }
.fc-notice-actions { display:flex; flex-wrap:wrap; gap:10px 14px; }
.fc-notice-action { display:inline-flex; align-items:center; min-height:44px; padding:11px 18px; border:1px solid var(--nink); background:var(--nink); color:var(--paper); font:500 14px/1.3 var(--sans); text-decoration:none; }
.fc-notice-action--ghost { background:transparent; color:var(--nink); }
.fc-notice-action:hover { text-decoration:underline; text-underline-offset:4px; }
.fc-notice-paper a:focus-visible { outline:3px solid #176391; outline-offset:3px; }
.fc-notice-paper .fc-report { margin-top:20px; padding-top:12px; border-top:1px solid #20292a55; font:400 13px/1.5 var(--sans); }
.fc-notice-paper .fc-report a,.fc-notice-paper .fc-report button { color:inherit; }
.fc-notice-side { font:400 13px/1.5 var(--sans); }
.fc-notice-side section { padding:18px 0; border-top:1px solid var(--rule); }
.fc-notice-side h2 { margin:8px 0 12px; font:400 25px/1.1 var(--serif); overflow-wrap:anywhere; }
.fc-notice-side p { margin:0 0 13px; }
.fc-notice-side a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); text-underline-offset:4px; }

@media(max-width:800px) {
  .fc-notice-grid { grid-template-columns:1fr; gap:20px; }
}
@media(max-width:600px) {
  .fc-board2-main { padding:23px 18px 28px; }
  .fc-notice-main { padding:16px 16px 30px; }
  .fc-notice-paper { padding:23px; }
  .fc-notice-paper.fc-place-stock-1 { padding:17px; }
  .fc-notice-paper h1 { font-size:35px; }
}
@media(forced-colors:active) { .fc-notice-paper,.fc-board2-warn { border:2px solid CanvasText; } }
.fc-notice-posted { margin:-8px 0 16px; font:400 13px/1.4 var(--type); }

/* ---- People & places (/folks) — S2c, 2026-09-28 ----
   Chet's directory: a big serif "Good to know you.", taped paper cards (a neighbor is italic serif
   on green paper, a place is a printed sign on orange). Ported from the design's rendered output.
   Real search stays: the filter only hides cards already on the page. */
.fc-dir2-main { max-width:1440px; margin:auto; padding:24px 27px 34px; }
.fc-dir2-head { max-width:840px; margin:12px 0 26px; }
.fc-dir2-eyebrow { display:block; margin:0 0 9px; font:600 12px/1.3 var(--sans); letter-spacing:.15em; text-transform:uppercase; }
.fc-dir2-head h1 { margin:0 0 12px; font:400 clamp(38px,6vw,56px)/1.05 var(--serif); letter-spacing:-.02em; }
.fc-dir2-head p { margin:0 0 6px; max-width:60ch; font:400 16px/1.5 var(--sans); }
.fc-dir2-make { display:inline-flex; align-items:center; min-height:44px; margin-top:6px; padding:12px 18px; border:1px solid #22322a; background:var(--yellow); color:#22322a; font:500 14px/1.3 var(--sans); text-decoration:none; box-shadow:2px 3px 0 #2233281f; }
.fc-dir2-warn { max-width:640px; margin:0 0 22px; padding:16px 20px; background:var(--cream); border-top:3px solid var(--orange); box-shadow:3px 5px 0 #20382722; font:400 14px/1.5 var(--sans); }
.fc-dir2-tools { display:flex; flex-wrap:wrap; gap:12px 20px; max-width:840px; margin:0 0 30px; }
.fc-dir2-field { display:grid; gap:6px; flex:1 1 240px; font:400 14px/1.4 var(--sans); }
.fc-dir2-field input,.fc-dir2-field select { width:100%; min-height:44px; padding:11px; background:var(--cream); color:var(--ink); border:1px solid var(--rule); border-radius:0; font:400 16px/1.4 var(--sans); }
.fc-dir2-field input:focus-visible,.fc-dir2-field select:focus-visible { outline:3px solid #176391; outline-offset:2px; }
.fc-dir2-sec { margin:0 0 38px; }
.fc-dir2-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:30px; }
.fc-dir2-card { position:relative; display:flex; flex-direction:column; gap:16px; min-width:0; padding:28px 26px 22px; color:#243832; text-decoration:none; box-shadow:4px 5px 0 #172c2722; }
.fc-dir2-card::before { content:''; position:absolute; top:-8px; left:50%; width:52px; height:17px; margin-left:-26px; background:var(--page-accent); opacity:.8; transform:rotate(-2deg); }
.fc-dir2-card--person { background:#dedebf; transform:rotate(-1deg); }
.fc-dir2-card--place { background:#ed8c67; color:#242c28; transform:rotate(.8deg); }
.fc-dir2-card:nth-child(3n+2) { transform:rotate(.7deg); }
.fc-dir2-card:nth-child(3n) { transform:rotate(-.5deg); }
.fc-dir2-card:hover { box-shadow:6px 8px 0 #172c2733; }
.fc-dir2-card:focus-visible { outline:3px solid #176391; outline-offset:4px; }
.fc-dir2-over { font:600 12px/1.4 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
.fc-dir2-name { display:block; overflow-wrap:anywhere; hyphens:auto; }
.fc-dir2-card--person .fc-dir2-name { font:italic 400 34px/1.05 var(--serif); }
.fc-dir2-card--person .fc-dir2-name--xl { font-size:76px; line-height:1; }
.fc-dir2-card--person .fc-dir2-name--l { font-size:48px; }
.fc-dir2-card--person .fc-dir2-name--s { font-size:26px; }
.fc-dir2-card--place .fc-dir2-name { font:800 34px/.9 var(--cond); text-transform:uppercase; letter-spacing:.01em; }
.fc-dir2-card--place .fc-dir2-name--xl { font-size:56px; }
.fc-dir2-card--place .fc-dir2-name--l { font-size:44px; }
.fc-dir2-card--place .fc-dir2-name--s { font-size:26px; }
.fc-dir2-tag { font:400 15px/1.5 var(--sans); overflow-wrap:anywhere; }
.fc-dir2-foot { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-top:auto; padding-top:13px; border-top:1px solid currentColor; font:400 13px/1.4 var(--sans); }
.fc-dir2-handle { font:400 12px/1.4 var(--type); overflow-wrap:anywhere; text-align:right; }
.fc-dir2-none,.fc-dir2-empty { margin:0; font:400 14px/1.5 var(--sans); }
.fc-dir2-empty a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); text-underline-offset:4px; }
.fc-dir2-note { max-width:60ch; margin:8px 0 0; font:400 13px/1.6 var(--sans); color:var(--muted); }
@media(max-width:600px) {
  .fc-dir2-main { padding:23px 18px 28px; }
  .fc-dir2-card { padding:26px 22px 20px; }
  .fc-dir2-card--person .fc-dir2-name--xl { font-size:64px; }
  .fc-dir2-card--place .fc-dir2-name--xl { font-size:46px; }
  .fc-dir2-card--person .fc-dir2-name--l { font-size:42px; }
  .fc-dir2-card--place .fc-dir2-name--l { font-size:38px; }
}
@media(prefers-reduced-motion:reduce) { .fc-dir2-card { transform:none !important; } }
@media(forced-colors:active) { .fc-dir2-card,.fc-dir2-warn { border:2px solid CanvasText; } .fc-dir2-card::before { display:none; } }

/* Calendar + Gatherings (S2d, 2026-09-29) — /events, /events/{slug}, /today, /gatherings, /campfire/{slug}.
   Same paper as the corner and the board: the poster's notice-paper for a single thing, dated slips for
   a list. Flat, real text, the content decides the height. A failed or capped read uses .fc-board2-warn. */
.fc-cal2-main,.fc-gath2-main { max-width:1100px; margin:auto; padding:22px 27px 44px; }
.fc-cal2-head { max-width:720px; padding:6px 0 22px; }
.fc-cal2-head h1 { margin:8px 0 12px; font:italic 400 44px/1.02 var(--serif); letter-spacing:-.02em; overflow-wrap:anywhere; }
.fc-cal2-head p { margin:0 0 14px; font:400 15px/1.55 var(--sans); }
.fc-cal2-head .fc-notice-eyebrow { color:var(--muted); }
.fc-cal2-links { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; }
.fc-cal2-links .fc-btn { display:inline-flex; align-items:center; min-height:44px; padding:12px 18px; border:0; border-radius:0; background:var(--green); color:#f5e7c9; font:500 14px/1.3 var(--sans); text-decoration:none; }
.fc-cal2-list { margin-top:6px; }
.fc-cal2-day { margin:0 0 26px; }
.fc-cal2-day h2 { margin:0 0 10px; padding-bottom:6px; border-bottom:3px double var(--ink); font:400 24px/1.15 var(--serif); }
.fc-cal2-slips { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:14px; }
.fc-cal2-slip { --paper:#efe9d7; --nink:#20292a; min-width:0; padding:14px 16px; background:var(--paper); color:var(--nink); border-top:5px solid var(--nink); box-shadow:2px 3px 0 #0000001a; font:400 14px/1.45 var(--sans); }
.fc-cal2-slip.fc-place-stock-1 { --paper:var(--blue); --nink:#173e57; }
.fc-cal2-slip.fc-place-stock-2 { --paper:#dfdcaa; --nink:#33401f; }
.fc-cal2-slip.fc-place-stock-3 { --paper:var(--pink); --nink:#4a2020; }
.fc-cal2-open { display:block; color:inherit; text-decoration:none; min-height:44px; }
.fc-cal2-time { display:block; margin:0 0 4px; font:400 13px/1.3 var(--type); }
.fc-cal2-title { display:block; font:400 21px/1.15 var(--serif); overflow-wrap:anywhere; }
.fc-cal2-open:hover .fc-cal2-title { text-decoration:underline; text-underline-offset:4px; }
.fc-cal2-meta { display:flex; flex-wrap:wrap; gap:2px 12px; margin-top:8px; font-size:13px; }
.fc-cal2-meta a { display:inline-flex; align-items:center; min-height:44px; color:inherit; text-underline-offset:4px; }
.fc-cal2-slip a:focus-visible { outline:3px solid #176391; outline-offset:3px; }
.fc-cal2-older { max-width:560px; margin:8px 0 0; font:400 13px/1.5 var(--sans); color:var(--muted); }
.fc-cal2-when { margin:-8px 0 16px; font:400 14px/1.4 var(--type); }
.fc-cal2-facts { display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 16px; margin:0 0 18px; }
.fc-cal2-facts dt { font:400 12px/1.6 var(--sans); letter-spacing:.07em; text-transform:uppercase; }
.fc-cal2-facts dd { margin:0; overflow-wrap:anywhere; }
.fc-cal2-facts a { color:inherit; text-underline-offset:4px; }

.fc-gath2-sec { margin:0 0 30px; }
.fc-gath2-sec h2 { margin:0 0 12px; padding-bottom:6px; border-bottom:3px double var(--ink); font:400 28px/1.1 var(--serif); }
.fc-gath2-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr)); gap:16px; }
.fc-gath2-card { --paper:#efe9d7; --nink:#20292a; min-width:0; padding:18px 20px; background:var(--paper); color:var(--nink); border-top:7px solid var(--nink); box-shadow:2px 4px 0 #0000001a; font:400 14px/1.5 var(--sans); }
.fc-gath2-card.fc-place-stock-1 { --paper:var(--blue); --nink:#173e57; }
.fc-gath2-card.fc-place-stock-2 { --paper:#dfdcaa; --nink:#33401f; }
.fc-gath2-card.fc-place-stock-3 { --paper:var(--pink); --nink:#4a2020; }
.fc-gath2--out.fc-gath2-card,.fc-gath2--called_off.fc-gath2-card { opacity:.92; }
.fc-gath2-top { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; margin:0 0 8px; }
.fc-gath2-badge { display:inline-block; padding:2px 8px; background:var(--nink,var(--ink)); color:var(--paper,var(--cream)); font:500 11px/1.4 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.fc-notice-eyebrow .fc-gath2-badge { margin-right:6px; }
.fc-gath2-when { font:400 13px/1.3 var(--type); }
.fc-gath2-title { margin:0 0 4px; font:400 26px/1.1 var(--serif); overflow-wrap:anywhere; }
.fc-gath2-title a { color:inherit; text-decoration:none; }
.fc-gath2-title a:hover { text-decoration:underline; text-underline-offset:4px; }
.fc-gath2-topic { margin:0 0 10px; font:italic 400 17px/1.4 var(--serif); }
.fc-gath2-card p { margin:0 0 8px; }
.fc-gath2-starts,.fc-gath2-live { font-weight:700; }
.fc-gath2-off { font-style:italic; }
.fc-gath2-go { margin:10px 0 0 !important; }
.fc-gath2-go a { display:inline-flex; align-items:center; min-height:44px; color:inherit; text-underline-offset:4px; }
.fc-gath2-card a:focus-visible,.fc-gath2-page a:focus-visible { outline:3px solid #176391; outline-offset:3px; }
.fc-gath2-sub { margin:-4px 0 12px; font:400 13px/1.4 var(--sans); color:var(--muted); }
.fc-gath2-disclose { max-width:560px; font:400 13px/1.5 var(--sans); color:var(--muted); }
.fc-gath2-page .fc-gath2-do { display:flex; flex-wrap:wrap; gap:10px 14px; margin:0 0 16px; }
.fc-gath2-page .fc-gath2-do:empty { display:none; }
.fc-gath2-who h2 { margin:18px 0 8px; font:400 24px/1.15 var(--serif); }
.fc-gath2-page .fc-fire-faces { display:flex; flex-wrap:wrap; gap:6px 8px; margin:0 0 14px; }
.fc-gath2-page .fc-fire-face { display:inline-flex; align-items:center; min-height:44px; padding:0 10px; border:1px solid var(--nink); color:inherit; font:400 13px/1 var(--sans); text-decoration:none; }
.fc-gath2-page .fc-fire-face--more { border-style:dashed; }
.fc-gath2-page .fc-embed { position:relative; margin:0 0 16px; aspect-ratio:16/9; background:#0003; }
.fc-gath2-page .fc-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.fc-gath2-page .fc-disclose { font:400 13px/1.5 var(--sans); }
.fc-cal2-facts dd a,.fc-cal2-event .fc-notice-paper .fc-report a,.fc-gath2-page .fc-notice-paper .fc-report a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:600px) {
  .fc-cal2-main,.fc-gath2-main { padding:16px 16px 32px; }
  .fc-cal2-head h1 { font-size:35px; }
  .fc-gath2-title { font-size:23px; }
}
@media(forced-colors:active) { .fc-cal2-slip,.fc-gath2-card { border:2px solid CanvasText; } }

/* Lost pages: the 404's three ways out are real tap targets, and sit a little apart. */
.fc-lost .fc-cal2-links{display:flex;flex-wrap:wrap;gap:4px 22px}
.fc-lost .fc-place-top-link{display:inline-flex;align-items:center;min-height:44px}
