/* Pilot sites: uncropped photos, live-data boxes, video/gallery blocks, deeper article and listing pages.
   Uses each site's own tokens (--bg --ink --muted --line --card --soft --acc --acc2 --on-acc --radius --shadow --h --hw) */

/* ---- photo frames: a fixed-shape box, picture absolutely positioned inside.
   Default: whole picture visible over a blurred copy of itself; .p-fill (set by embeds.js when the shapes are close): fills the frame. ---- */
.p-card .k-fig,.p-lead .k-fig,.k-lead-split .k-fig,.k-lead-stack .k-fig,.k-trio-main .k-fig,.k-lead-overlay .k-fig,.p-gcard{position:relative;display:block;overflow:hidden;background:var(--soft)}
.p-card .k-fig::before,.p-lead .k-fig::before,.k-lead-split .k-fig::before,.k-lead-stack .k-fig::before,.k-trio-main .k-fig::before,.k-lead-overlay .k-fig::before,.p-gcard::before{content:"";position:absolute;inset:-20px;background:var(--bg,none) center/cover;filter:blur(20px) brightness(.85) saturate(1.15)}
.p-card .k-fig img,.p-lead .k-fig img,.k-lead-split .k-fig img,.k-lead-stack .k-fig img,.k-trio-main .k-fig img,.k-lead-overlay .k-fig img,.p-gcard img{position:absolute;inset:0;z-index:1;width:100% !important;height:100% !important;max-width:none;object-fit:contain !important;aspect-ratio:auto !important;border-radius:0 !important;margin:0}
.p-card .k-fig,.k-tile.p-card .k-fig{aspect-ratio:16/10}
.k-lead-split .k-fig,.p-lead .k-fig,.k-lead-stack .k-fig,.k-trio-main .k-fig{aspect-ratio:16/10}
.k-lead-overlay .k-fig{aspect-ratio:21/9;min-height:300px}
.k-row.p-card .k-fig,.k-row-right.p-card .k-fig{width:110px;height:76px;aspect-ratio:auto;border-radius:calc(var(--radius) * .6)}
.k-circle.p-card .k-fig{width:84px;height:84px;aspect-ratio:auto;border-radius:50%}
.k-overlay.p-card .k-fig{position:absolute;inset:0;aspect-ratio:auto}
.p-fill::before{display:none}
.p-fill img{object-fit:cover !important;object-position:50% 35%}
.article-photo img{max-width:100%;height:auto;object-fit:contain}

/* ---- boxes and widgets ---- */
.p-box{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;margin:0 0 16px;min-width:0}
.p-box .k-sh{margin-bottom:10px}.p-box .k-shh{font-size:19px}
.p-note{margin:10px 0 0;font-size:12.5px;color:var(--muted)}.p-note a{text-decoration:underline}
.p-sub-h{font-size:14px;margin:14px 0 6px;color:var(--acc);font-family:var(--h)}
.p-list{list-style:none;margin:0;padding:0}.p-list li{display:grid;grid-template-columns:78px 1fr;gap:8px;padding:7px 0;border-bottom:1px dotted var(--line);font-size:14.5px}
.p-list li:last-child{border-bottom:0}.p-list time,.p-list b{font-weight:800;color:var(--acc);font-size:13px}.p-list small{color:var(--muted)}
.p-strip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0 12px}.p-strip::-webkit-scrollbar{display:none}
.p-chip{display:flex;align-items:center;gap:6px;white-space:nowrap;padding:6px 13px;border-radius:99px;background:var(--card);border:1px solid var(--line);font-size:14px;box-shadow:var(--shadow)}
.p-chip b{font-weight:800}.p-chip span{color:var(--acc);font-weight:800}.p-chip:hover{border-color:var(--acc)}
.p-wx{color:var(--acc);flex:0 0 auto}
.p-wx-now{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.p-wx-now>div:nth-child(2){display:flex;flex-direction:column;line-height:1.15}
.p-temp{font-family:var(--h);font-weight:var(--hw);font-size:44px}.p-wx-hl{display:flex;flex-direction:column;font-size:13.5px;color:var(--muted);margin-left:auto}
.p-wx-meta{margin:10px 0 0;font-size:13px;color:var(--muted)}
.p-wx-days{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center}
.p-wx-days li{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--soft);border-radius:calc(var(--radius) * .8);padding:8px 2px;font-size:13px}.p-wx-days small{color:var(--muted)}
.p-compact .p-temp{font-size:36px}.p-compact .p-wx-hl{margin-left:0}
.p-table{width:100%;border-collapse:collapse;font-size:14.5px}.p-table th,.p-table td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.p-table thead th{font-size:12.5px;color:var(--muted);text-transform:none;font-weight:700}.p-table tbody th{font-weight:700}
.p-price{font-weight:800;white-space:nowrap;color:var(--acc)}.p-sub{color:var(--muted);font-size:13px}.p-table small{color:var(--muted)}
.p-tablewrap{overflow-x:auto}.p-wide{min-width:520px}
.p-tithi{display:flex;flex-direction:column;gap:2px;margin:0 0 8px}.p-tithi b{font-family:var(--h);font-size:20px}.p-tithi span{font-size:13.5px;color:var(--muted)}
.p-hist{list-style:none;margin:0;padding:0}.p-hist li{display:grid;grid-template-columns:50px 1fr;gap:8px;padding:7px 0;border-bottom:1px dotted var(--line);font-size:14.5px}.p-hist b{color:var(--acc);font-weight:800}
.p-notices{list-style:none;margin:0;padding:0}.p-notices li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.p-notices a{font-weight:600;flex:1 1 220px}.p-notices a:hover{color:var(--acc)}.p-notices time{font-size:12.5px;color:var(--muted)}
.p-tag{background:var(--acc);color:var(--on-acc);font-size:11.5px;font-weight:800;padding:1px 9px;border-radius:99px;white-space:nowrap}
.p-big li{padding:12px 0;font-size:16px}
.p-today-grid,.p-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;align-items:start}.p-today-grid .p-box,.p-boxes .p-box{margin:0}
.p-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;align-items:start}
.p-trending ol{list-style:none;margin:0;padding:0}
.p-about{margin:0;font-size:15px;line-height:1.7}

/* ---- video, gallery, events ---- */
.p-vrail,.p-grail{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.p-vrail>.p-vcard,.p-grail>.p-gcard{flex:0 0 min(78vw,300px);scroll-snap-align:start}
.p-vgrid .p-vcard{min-width:0}
.p-vcard{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.p-vthumb{aspect-ratio:16/9;background:#000}.p-vthumb img{width:100%;height:100%;object-fit:cover;display:block}
.p-vbody{padding:10px 12px 12px}.p-vbody .k-h{font-size:16px}
.p-play{position:absolute;left:10px;bottom:10px;z-index:3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--acc);color:var(--on-acc);box-shadow:0 2px 8px #0006;pointer-events:none}
.p-gcard{aspect-ratio:4/3;border-radius:var(--radius);box-shadow:var(--shadow);color:#fff;align-items:stretch}
.p-gcard b{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:34px 12px 10px;background:linear-gradient(transparent,#000c);font-family:var(--hl,var(--h));font-size:16px;line-height:1.35}
.p-gcard img{position:absolute;inset:0;width:100% !important;height:100% !important}
.p-gcount{position:absolute;right:8px;top:8px;z-index:3;background:#000a;color:#fff;font-size:12px;font-weight:700;padding:2px 9px;border-radius:99px}
.p-grid{flex-wrap:wrap;overflow:visible}.p-grid>.p-gcard{flex:1 1 280px}
.p-badge{display:inline-block;background:var(--acc);color:var(--on-acc);font-size:11px;font-weight:800;padding:0 8px;border-radius:99px;margin-right:6px;vertical-align:1px}
.p-embed{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--radius);overflow:hidden;margin:0 0 8px}
.p-facade{all:unset;display:block;width:100%;height:100%;cursor:pointer;position:relative}.p-facade img{width:100%;height:100%;object-fit:cover;display:block}
.p-facade .p-play{width:68px;height:68px;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%)}
.p-facade:focus-visible{outline:3px solid var(--acc);outline-offset:-3px}
.p-embed iframe{width:100%;height:100%;border:0;display:block}.p-social{aspect-ratio:auto;background:var(--soft);padding:16px}
.p-embed-credit{font-size:13px;color:var(--muted);margin:0 0 16px}
.p-gallery{display:grid;gap:26px;margin:16px 0}.p-gfig{margin:0}.p-gfig img{width:100%;height:auto;border-radius:var(--radius);background:var(--soft)}
.p-gfig figcaption{font-size:13px;color:var(--muted);margin-top:6px}.p-gfig figcaption a{text-decoration:underline}
.p-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.p-event{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.p-event-img{display:block;aspect-ratio:16/9;background:var(--soft)}.p-event-img img{width:100%;height:100%;object-fit:contain}
.p-event>div{padding:10px 14px 14px}.p-event time{font-size:12.5px;font-weight:800;color:var(--acc)}.p-event h3{margin:3px 0}.p-event p{margin:0;font-size:13.5px;color:var(--muted)}

/* ---- deeper article ---- */
.p-art{padding:6px 0 30px}
.p-art-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:start}
.p-art-side{display:grid;gap:0;align-content:start;min-width:0}
.p-art-narrow .p-art-main{max-width:min(760px,100%);margin:0 auto}.p-art-narrow .p-art-bottom{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:24px}
.p-art-wide .p-art-top{max-width:880px;margin:0 auto}.p-art-wide .p-art-grid{margin-top:12px}
.p-art .k-ah{font-family:var(--hl,var(--h));font-weight:var(--hlw,var(--hw));font-size:clamp(26px,3.4vw,42px);line-height:1.28;margin:4px 0 12px}
.p-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px}.p-tag-link{padding:3px 13px;border-radius:99px;background:var(--soft);font-size:13.5px;font-weight:700;border:1px solid var(--line)}.p-tag-link:hover{border-color:var(--acc);color:var(--acc)}
.p-tag-plain{cursor:default}
.p-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}
.p-prevnext a{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.p-prevnext a:hover{border-color:var(--acc)}
.p-prevnext small{color:var(--acc);font-weight:800}.p-prevnext b{font-size:15px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.p-next{text-align:right}
.p-rail{margin-top:26px}
@media(max-width:900px){.p-art-grid,.p-list-layout{grid-template-columns:minmax(0,1fr)}.p-prevnext{grid-template-columns:1fr}.p-next{text-align:left}}

/* ---- listing pages ---- */
.p-count{margin:-6px 0 14px;font-size:13.5px;color:var(--muted)}
.p-list-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.p-list-layout .p-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p-list-main .p-lead{margin-bottom:22px}
@media(max-width:560px){.p-list-layout .p-list-grid{grid-template-columns:minmax(0,1fr)}}
.p-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.p-chipbtn{border:1px solid var(--line);background:var(--card);color:inherit;padding:5px 13px;border-radius:99px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.p-chipbtn small{color:var(--muted);font-weight:600}.p-chipbtn.is-on{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}.p-chipbtn.is-on small{color:inherit;opacity:.85}
.p-pages{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 8px}.p-pages a{padding:6px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);font-weight:700}
.p-pages a[aria-current]{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}.p-pages a:hover{border-color:var(--acc)}
.p-district-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:22px;align-items:start}.p-district-top .p-box{margin:0}
[hidden]{display:none !important}

/* text above contained photos in overlay leads; text-only tiles keep their natural height */
.k-lead-overlay .k-lead-copy,.k-overlay.p-card .k-body{z-index:3}
.k-lead-overlay .k-lead-copy{background:linear-gradient(transparent,#000d 55%);padding-top:80px}
.p-card.k-noimg{align-self:start}
.k-grid>.p-card{min-width:0}

.p-box .k-shh::before,.p-box .k-shh::after{content:none !important;display:none}
.p-box .k-shh{counter-increment:none}

/* phones: these must come after the desktop rules above */
@media(max-width:900px){.p-list-layout,.p-art-grid{grid-template-columns:minmax(0,1fr)}.p-art-side{width:auto}}
.p-art .k-by,.p-listpage .k-by{flex-wrap:wrap;gap:6px 12px}.p-art .k-by-tools{flex-wrap:wrap}
.p-box,.p-today-grid,.p-boxes,.p-two{min-width:0}.p-notices a{overflow-wrap:anywhere}
.p-two{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.p-today-grid,.p-boxes{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr))}
.p-events-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
/* phones: overlay lead stacks (photo above, headline below) so the photo is never hidden behind its own text */
@media(max-width:760px){
  .k-lead-overlay{display:block;background:var(--acc2,#111)}
  .k-lead-overlay .k-fig{position:relative;inset:auto;display:flex;aspect-ratio:16/10;min-height:0}
  .k-lead-overlay .k-fig img{position:relative;inset:auto;height:100% !important}
  .k-lead-overlay .k-lead-copy{position:static;background:none;padding:14px 16px 18px;color:#fff}
  .k-lead-overlay .k-lh{font-size:clamp(22px,6.4vw,30px)}
}

/* next headlines beside the lead */
.p-lead-more{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:9px}
.p-lead-more li{padding-left:14px;position:relative;font-family:var(--hl,var(--h));font-weight:var(--hlw,var(--hw));font-size:16px;line-height:1.4}
.p-lead-more li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--acc)}
.p-lead-more a:hover{color:var(--acc)}

.p-lead-row{margin:14px 0 26px}.p-lead-row .k-row{border-bottom:0;padding:6px 0}

/* desktop lead: the photo fills the height of its column instead of floating in an empty band */
@media(min-width:901px){.k-lead-split{align-items:stretch}.k-lead-split>.k-fig{aspect-ratio:auto;min-height:340px;height:100%}}
.k-lh-long{font-size:clamp(22px,2.3vw,30px) !important;line-height:1.32}
.k-kick{font-size:13px}

/* continuation of thin section pages; compact district introduction (owner review 2026-10-04) */
.p-cont{margin-top:26px}
.p-about-more summary{cursor:pointer;list-style:none}.p-about-more summary::-webkit-details-marker{display:none}
.p-about-more summary b{color:var(--acc-text,var(--acc));font-size:13px;white-space:nowrap}.p-about-more[open] summary{display:none}
.p-art-side .p-about-box .p-about{font-size:14px;line-height:1.55}
