/* NRML Holding: the company page (/businesses/<id>) and the content check page.
   Layout: page head with the name and "at a glance" facts; overview; photos in rows that keep each
   photo's shape (a swipe strip on phones); presentation cards and downloads; the deep "With NRML"
   band; more companies. Classes are prefixed pf- (profile) and cc- (content check). */

/* ============ page head ============ */
.pf-head-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:end;}
.pf-intro{container-type:inline-size;min-width:0;}
/* the name is sized to its column: one line for names up to about ten letters, never a wall of type */
.pf-head h1{max-width:none;font-size:clamp(2.6rem,12cqi,4.75rem);font-stretch:125%;font-weight:800;letter-spacing:-0.045em;line-height:.95;hyphens:auto;}
/* longer names step down so they stay at two lines: 12 to 18 letters, then 19 and up */
.pf-head h1.pf-name-m{font-size:clamp(2.3rem,10cqi,4.25rem);}
.pf-head h1.pf-name-l{font-size:clamp(2.1rem,9cqi,3.9rem);}
.pf-head .lede{max-width:46ch;}
.pf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.pf-socials{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:20px;}
.pf-out{display:inline-block;font-family:var(--f-body);transition:transform .25s var(--ease);}
a:hover > .pf-out,.btn:hover > .pf-out{transform:translate(2px,-2px);}
.pf-draft{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-top:24px;font-size:0.9rem;color:var(--muted);}
.pf-glance{align-self:end;}
/* labels line up along the bottom even when one value runs to two lines */
.pf-glance div{justify-content:flex-end;}
/* long values and free-text facts read as text, not as display type */
.pf-glance dd.is-text{font-family:var(--f-display);font-stretch:100%;font-weight:600;font-size:1.05rem;line-height:1.4;letter-spacing:0;padding-block:.15em;}
.pf-glance dd a{color:inherit;text-decoration:none;border-bottom:1.5px solid var(--line-strong);transition:border-color .2s,color .2s;}
.pf-glance dd a:hover{color:var(--accent);border-color:currentColor;}
.pf-glance div:last-child:nth-child(odd){grid-column:1 / -1;}
/* with a cover picture: the words and the facts on the left, the picture on the right in a steady 4:3
   frame; on phones the picture comes straight after the words, before the facts */
.pf-head.has-pic .pf-head-grid{grid-template-areas:"intro pic" "facts pic";align-items:start;}
.pf-head.has-pic .pf-intro{grid-area:intro;}
.pf-head.has-pic .pf-pic{grid-area:pic;align-self:center;}
.pf-head.has-pic .pf-facts{grid-area:facts;}
.pf-pic{margin:0;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--sunk);}
.pf-pic.is-wide{aspect-ratio:16/9;}
.pf-pic img{display:block;width:100%;height:100%;object-fit:cover;}
@media (max-width:900px){
  .pf-head-grid{grid-template-columns:minmax(0,1fr);}
  .pf-head.has-pic .pf-head-grid{grid-template-areas:"intro" "pic" "facts";}
}

/* ============ overview ============ */
.pf-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px clamp(32px,5vw,80px);align-items:start;}
.pf-split-side{position:sticky;top:calc(var(--head-h) + 32px);}
.pf-split-side h2{max-width:14ch;}
.pf-prose{max-width:64ch;display:flex;flex-direction:column;gap:16px;font-size:1.125rem;line-height:1.65;}
.pf-prose p{margin:0;}
.pf-prose ul,.cc-list{list-style:none;display:flex;flex-direction:column;gap:9px;}
.pf-prose li,.cc-list li{position:relative;padding-left:20px;}
.pf-prose li::before,.cc-list li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:2px;background:var(--accent);}
.pf-prose a{color:var(--accent);text-underline-offset:3px;}
.pf-sub{margin-top:40px;margin-bottom:14px;font-size:1.3rem;font-stretch:110%;}
/* one row of two to four numbers; rows of two wherever the column is narrow */
.pf-split-main{container-type:inline-size;min-width:0;}
.pf-highlights{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);margin:40px 0 0;border-top:2px solid var(--ink);}
.pf-highlights div{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:20px 20px 0 0;container-type:inline-size;}
.pf-highlights div + div{padding-left:20px;border-left:1px solid var(--line);}
.pf-highlights dd{order:1;margin:0;font-family:var(--f-display);font-stretch:125%;font-weight:750;font-size:clamp(2.2rem,4vw,3.1rem);line-height:1;letter-spacing:-0.035em;color:var(--ink);font-variant-numeric:tabular-nums;}
.pf-highlights dt{order:2;font-size:0.96rem;}
@container (max-width:560px){
  .pf-highlights{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));}
  .pf-highlights div:nth-child(odd){padding-left:0;border-left:0;}
  .pf-highlights div:nth-child(n+3){margin-top:16px;border-top:1px solid var(--line);}
}
/* a number never breaks: the row's longest value sets one size for all, fitted to a cell (about 0.67em a character) */
.pf-highlights dd{white-space:nowrap;}
.pf-highlights.pf-n6 dd{font-size:min(clamp(2.2rem,4vw,3.1rem),22cqi);}
.pf-highlights.pf-n7 dd{font-size:min(clamp(2.2rem,4vw,3.1rem),19cqi);}
.pf-highlights.pf-n8 dd{font-size:min(clamp(2.2rem,4vw,3.1rem),16.5cqi);}
.pf-highlights.pf-n9 dd{font-size:min(clamp(2.2rem,4vw,3.1rem),14.5cqi);}
.pf-highlights.pf-n10 dd{font-size:min(clamp(2.2rem,4vw,3.1rem),12cqi);white-space:normal;overflow-wrap:anywhere;}
@media (max-width:900px){.pf-split{grid-template-columns:minmax(0,1fr);}.pf-split-side{position:static;}}

/* ============ products: rows that keep each photo's shape ============ */
.pf-note{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:-14px 0 26px;font-size:0.92rem;color:var(--muted);}
.pf-gallery{display:flex;flex-direction:column;gap:14px;--cap:clamp(260px,34vw,600px);container-type:inline-size;}
.pf-row{display:flex;gap:14px;}
.pf-photo{position:relative;margin:0;flex:var(--ar) 1 0;min-width:0;display:flex;flex-direction:column;gap:10px;}   /* relative: hidden labels stay inside the phone strip */
.pf-photo a{position:relative;display:block;width:100%;aspect-ratio:var(--ar);max-height:var(--cap);overflow:hidden;border-radius:var(--r-sm);background:var(--sunk);}
/* a hairline edge keeps white packshots crisp on white */
.pf-photo a::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--line);pointer-events:none;}
.pf-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.pf-photo a:hover img{transform:scale(1.035);}
.pf-contain img{object-fit:contain;padding:4%;}
/* rows of one or two tall photos would tower: they keep a set height and their own width instead */
.pf-row.is-short .pf-photo{flex:0 1 auto;}
.pf-row.is-short .pf-photo a{height:var(--cap);width:auto;max-width:100%;}
/* ...and a short row after a full one is no taller than a full row */
@media (min-width:640px){.pf-row + .pf-row.is-short .pf-photo a{height:min(var(--cap),calc((100cqi - 28px) / 3.4));}}
/* a caption wraps to its photo's width instead of widening the photo's box */
.pf-photo figcaption{display:flex;align-items:baseline;gap:10px;font-size:0.92rem;line-height:1.4;contain:inline-size;}
#pf-products-h{hyphens:auto;}
.pf-num{font-family:var(--f-display);font-stretch:74%;font-weight:700;font-size:0.76rem;letter-spacing:0.12em;color:var(--accent);font-variant-numeric:tabular-nums;}
.pf-more{position:absolute;inset:0;display:grid;place-items:center;z-index:1;background:color-mix(in srgb,var(--deep) 58%,transparent);
  color:#fff;font-family:var(--f-display);font-stretch:125%;font-weight:800;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-0.03em;}
/* placeholder illustrations are pale: a touch dimmer in the dark theme, so they don't glare */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pf-photo.is-placeholder img{filter:brightness(.82);}}
:root[data-theme="dark"] .pf-photo.is-placeholder img{filter:brightness(.82);}
/* solid, so it reads on any photo in either theme */
.pf-ph-badge{position:absolute;left:10px;top:10px;z-index:1;background:var(--ink);color:var(--paper);box-shadow:0 1px 3px rgba(12,15,38,.18);}
.pf-photo.is-slot .pf-frame{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:var(--ar);max-height:var(--cap);border-radius:var(--r-sm);
  border:1.5px dashed var(--line-strong);background:var(--surface);isolation:isolate;overflow:hidden;}
.pf-photo.is-slot .pf-frame::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle at center,var(--dot) 1px,transparent 1.5px);background-size:16px 16px;}
.pf-photo.is-slot .pf-frame .lab{padding:6px 10px;background:var(--surface);border-radius:2px;}
.pf-photo.is-slot figcaption{color:var(--muted);}
.pf-strip-count{display:none;}
.pf-all{margin-top:20px;}
/* each photo's box follows its shape to within 1% (company-page.mjs arClass) */
.pf-ar-30{--ar:0.3}.pf-ar-32{--ar:0.32}.pf-ar-34{--ar:0.34}.pf-ar-36{--ar:0.36}.pf-ar-38{--ar:0.38}.pf-ar-40{--ar:0.4}.pf-ar-42{--ar:0.42}.pf-ar-44{--ar:0.44}.pf-ar-46{--ar:0.46}.pf-ar-48{--ar:0.48}.pf-ar-50{--ar:0.5}.pf-ar-52{--ar:0.52}
.pf-ar-54{--ar:0.54}.pf-ar-56{--ar:0.56}.pf-ar-58{--ar:0.58}.pf-ar-60{--ar:0.6}.pf-ar-62{--ar:0.62}.pf-ar-64{--ar:0.64}.pf-ar-66{--ar:0.66}.pf-ar-68{--ar:0.68}.pf-ar-70{--ar:0.7}.pf-ar-72{--ar:0.72}.pf-ar-74{--ar:0.74}.pf-ar-76{--ar:0.76}
.pf-ar-78{--ar:0.78}.pf-ar-80{--ar:0.8}.pf-ar-82{--ar:0.82}.pf-ar-84{--ar:0.84}.pf-ar-86{--ar:0.86}.pf-ar-88{--ar:0.88}.pf-ar-90{--ar:0.9}.pf-ar-92{--ar:0.92}.pf-ar-94{--ar:0.94}.pf-ar-96{--ar:0.96}.pf-ar-98{--ar:0.98}.pf-ar-100{--ar:1}
.pf-ar-102{--ar:1.02}.pf-ar-104{--ar:1.04}.pf-ar-106{--ar:1.06}.pf-ar-108{--ar:1.08}.pf-ar-110{--ar:1.1}.pf-ar-112{--ar:1.12}.pf-ar-114{--ar:1.14}.pf-ar-116{--ar:1.16}.pf-ar-118{--ar:1.18}.pf-ar-120{--ar:1.2}.pf-ar-122{--ar:1.22}.pf-ar-124{--ar:1.24}
.pf-ar-126{--ar:1.26}.pf-ar-128{--ar:1.28}.pf-ar-130{--ar:1.3}.pf-ar-132{--ar:1.32}.pf-ar-134{--ar:1.34}.pf-ar-136{--ar:1.36}.pf-ar-138{--ar:1.38}.pf-ar-140{--ar:1.4}.pf-ar-142{--ar:1.42}.pf-ar-144{--ar:1.44}.pf-ar-146{--ar:1.46}.pf-ar-148{--ar:1.48}
.pf-ar-150{--ar:1.5}.pf-ar-152{--ar:1.52}.pf-ar-154{--ar:1.54}.pf-ar-156{--ar:1.56}.pf-ar-158{--ar:1.58}.pf-ar-160{--ar:1.6}.pf-ar-162{--ar:1.62}.pf-ar-164{--ar:1.64}.pf-ar-166{--ar:1.66}.pf-ar-168{--ar:1.68}.pf-ar-170{--ar:1.7}.pf-ar-172{--ar:1.72}
.pf-ar-174{--ar:1.74}.pf-ar-176{--ar:1.76}.pf-ar-178{--ar:1.78}.pf-ar-180{--ar:1.8}.pf-ar-182{--ar:1.82}.pf-ar-184{--ar:1.84}.pf-ar-186{--ar:1.86}.pf-ar-188{--ar:1.88}.pf-ar-190{--ar:1.9}.pf-ar-192{--ar:1.92}.pf-ar-194{--ar:1.94}.pf-ar-196{--ar:1.96}
.pf-ar-198{--ar:1.98}.pf-ar-200{--ar:2}.pf-ar-202{--ar:2.02}.pf-ar-204{--ar:2.04}.pf-ar-206{--ar:2.06}.pf-ar-208{--ar:2.08}.pf-ar-210{--ar:2.1}.pf-ar-212{--ar:2.12}.pf-ar-214{--ar:2.14}.pf-ar-216{--ar:2.16}.pf-ar-218{--ar:2.18}.pf-ar-220{--ar:2.2}
.pf-ar-222{--ar:2.22}.pf-ar-224{--ar:2.24}.pf-ar-226{--ar:2.26}.pf-ar-228{--ar:2.28}.pf-ar-230{--ar:2.3}.pf-ar-232{--ar:2.32}.pf-ar-234{--ar:2.34}.pf-ar-236{--ar:2.36}.pf-ar-238{--ar:2.38}.pf-ar-240{--ar:2.4}.pf-ar-242{--ar:2.42}.pf-ar-244{--ar:2.44}
.pf-ar-246{--ar:2.46}.pf-ar-248{--ar:2.48}.pf-ar-250{--ar:2.5}.pf-ar-260{--ar:2.6}.pf-ar-270{--ar:2.7}.pf-ar-280{--ar:2.8}.pf-ar-290{--ar:2.9}.pf-ar-300{--ar:3}.pf-ar-310{--ar:3.1}.pf-ar-320{--ar:3.2}.pf-ar-330{--ar:3.3}.pf-ar-340{--ar:3.4}
.pf-ar-350{--ar:3.5}.pf-ar-360{--ar:3.6}.pf-ar-370{--ar:3.7}.pf-ar-380{--ar:3.8}.pf-ar-390{--ar:3.9}.pf-ar-400{--ar:4}
/* phones: one swipeable strip, every photo at its own shape and the same height, in page order */
@media (max-width:639px){
  .pf-gallery{flex-direction:row;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
    margin-inline:calc(var(--gutter) * -1);padding:0 var(--gutter) 4px;scroll-padding-inline:var(--gutter);scrollbar-width:none;}
  .pf-gallery::-webkit-scrollbar{display:none;}
  .pf-row{display:contents;}
  .pf-gallery .pf-photo,.pf-gallery .pf-photo[hidden],.pf-gallery .pf-row.is-short .pf-photo{display:flex!important;flex:0 0 auto;scroll-snap-align:start;}
  .pf-gallery .pf-photo a:focus-visible{outline-offset:-3px;}   /* the strip would clip a ring drawn outside */
  .pf-gallery .pf-photo.pf-wide a{width:82vw;height:auto;}      /* a panorama shows whole, shorter, not cropped to a window */
  .pf-photo a,.pf-row.is-short .pf-photo a,.pf-photo.is-slot .pf-frame{height:clamp(220px,64vw,320px);width:auto;max-width:82vw;max-height:none;}
  .pf-photo figcaption{max-width:min(82vw,100%);}
  .pf-more{display:none;}
  .pf-strip-count{display:block;margin-top:14px;font-variant-numeric:tabular-nums;}
  .pf-all{display:none;}
}

/* ============ presentations and downloads ============ */
.pf-mat{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:40px clamp(32px,5vw,72px);align-items:start;}
.pf-mat.no-decks{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.pf-decks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.pf-deck{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s;}
.pf-deck:not(.is-slot):hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-strong);}
.pf-deck.is-lead{grid-column:1 / -1;flex-direction:row;}
.pf-deck.is-lead .pf-deck-cover{flex:7 1 0;}
.pf-deck.is-lead .pf-deck-body{flex:5 1 0;justify-content:center;}
.pf-deck-cover{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--deep);container-type:inline-size;}
.pf-deck-cover img{display:block;width:100%;height:100%;object-fit:cover;}
/* a typographic cover in the deep palette (deliberately not .band-deep, which turns the header dark) */
.pf-deck-art{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:clamp(18px,2.6vw,30px);
  color:var(--on-deep);isolation:isolate;}
.pf-deck-art::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle at center,var(--deep-dot) 1px,transparent 1.5px);background-size:18px 18px;}
.pf-deck-art::after{content:"";position:absolute;z-index:-1;width:70%;aspect-ratio:1;right:-18%;top:-45%;border-radius:50%;background:radial-gradient(closest-side,var(--deep-glow),transparent);}
.pf-deck-art .lab{color:var(--accent-on-deep);}
/* sized by the card, at most two lines */
.pf-deck-art b{font-family:var(--f-display);font-stretch:125%;font-weight:800;font-size:clamp(1.1rem,7.5cqi,2.5rem);line-height:1.02;letter-spacing:-0.04em;color:var(--on-deep);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.pf-deck.is-slot{border-style:dashed;background:transparent;}
.pf-deck.is-slot .pf-deck-cover{background:var(--sunk);}
.pf-deck.is-slot .pf-deck-art{color:var(--muted);}
.pf-deck.is-slot .pf-deck-art::before{background-image:radial-gradient(circle at center,var(--dot) 1px,transparent 1.5px);}
.pf-deck.is-slot .pf-deck-art::after{display:none;}
.pf-deck.is-slot .pf-deck-art b{color:var(--line-strong);}
.pf-deck.is-slot .pf-deck-art .lab{color:var(--muted);}
.pf-deck-body{display:flex;flex-direction:column;gap:10px;padding:22px 24px 24px;min-width:0;}
.pf-deck-body h3{font-size:1.25rem;font-stretch:108%;}
.pf-meta{font-size:0.88rem;color:var(--muted);font-variant-numeric:tabular-nums;}
.pf-detail{font-size:0.95rem;}
.pf-dl-t small{display:block;font-weight:500;font-size:0.85rem;color:var(--muted);}
.pf-mat.no-files{grid-template-columns:minmax(0,1fr);}
.pf-deck-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.pf-deck-actions .btn{padding:10px 16px;font-size:0.9rem;}
.pf-alt{font-size:0.86rem;color:var(--muted);}
.pf-files{position:sticky;top:calc(var(--head-h) + 24px);display:flex;flex-direction:column;gap:16px;min-width:0;container-type:inline-size;}
/* a narrow column puts the size and the link on a second line, under the title */
@container (max-width:420px){
  .pf-dl li{grid-template-columns:auto minmax(0,1fr) auto;}
  .pf-dl li > .lnk,.pf-dl li > a.lnk{grid-column:2 / -1;}
}
.pf-dl{list-style:none;border-top:2px solid var(--ink);}
.pf-dl li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px 12px;padding:14px 0;border-bottom:1px solid var(--line);}
.pf-dl li.is-slot{grid-template-columns:auto minmax(0,1fr) auto;}
.pf-dl li.is-slot .pf-dl-t{color:var(--muted);}
.pf-type{font-family:var(--f-display);font-stretch:74%;font-weight:700;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;
  padding:3px 4px;border:1px solid var(--line-strong);border-radius:2px;color:var(--muted);width:5.2em;text-align:center;}
.pf-type.is-empty{align-self:stretch;max-height:1.9em;border-style:dashed;}
.pf-dl-t{font-weight:600;color:var(--ink);overflow-wrap:anywhere;}
.pf-dl-s{font-size:0.85rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;}
/* two decks and no downloads: side by side, as equals */
.pf-decks.is-pair .pf-deck.is-lead{grid-column:auto;flex-direction:column;}
.pf-decks.is-pair .pf-deck.is-lead .pf-deck-cover,.pf-decks.is-pair .pf-deck.is-lead .pf-deck-body{flex:none;}
@media (max-width:1100px){
  .pf-decks{grid-template-columns:minmax(0,1fr);}
  .pf-deck.is-lead{flex-direction:column;}
  .pf-deck.is-lead .pf-deck-cover,.pf-deck.is-lead .pf-deck-body{flex:none;}   /* stacked, the cover keeps its 16:9 */
}
@media (max-width:960px){.pf-mat,.pf-mat.no-decks{grid-template-columns:minmax(0,1fr);}.pf-files{position:static;}}
@media (max-width:520px){
  .pf-deck-actions .btn{flex:1 1 auto;justify-content:center;min-height:44px;}
}

/* ============ with NRML (deep band) ============ */
.pf-nrml .sh p + p{margin-top:12px;}
.pf-nrml-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:32px clamp(32px,5vw,80px);align-items:start;}
.pf-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--deep-line);}
.pf-ledger div{display:flex;flex-direction:column;gap:6px;padding:18px 20px 18px 0;border-bottom:1px solid var(--deep-line);min-width:0;}
.pf-ledger div:nth-child(even){padding-left:20px;border-left:1px solid var(--deep-line);}
.pf-ledger dd{margin:0;font-family:var(--f-display);font-weight:600;font-size:1.1rem;line-height:1.35;color:var(--on-deep);}
.pf-depth{width:min(140px,100%);margin-top:12px;}
.pf-learn{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:28px;}
.pf-talk{scroll-margin-top:calc(var(--head-h) + 24px);}
.pf-talk .btn{align-self:flex-start;margin-top:4px;}
.band-deep .lnk{color:var(--accent-on-deep);}
@media (max-width:900px){.pf-nrml-grid{grid-template-columns:minmax(0,1fr);}}
@media (max-width:520px){.pf-ledger{grid-template-columns:minmax(0,1fr);}.pf-ledger div:nth-child(even){padding-left:0;border-left:0;}}

/* ============ news (in the overview) and more companies ============ */
.pf-news{margin-top:40px;display:flex;flex-direction:column;gap:12px;}
.pf-stories{list-style:none;border-top:2px solid var(--ink);}
.pf-stories li{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-bottom:1px solid var(--line);}
.pf-stories a{font-family:var(--f-display);font-weight:650;font-size:1.1rem;color:var(--ink);text-decoration:none;}
.pf-stories a:hover{color:var(--accent);}
.pf-story-meta{font-size:0.86rem;color:var(--muted);font-variant-numeric:tabular-nums;}
.pf-others-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:30px;}
.pf-others-head h2{max-width:none;}
.pf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
@media (max-width:980px){.pf-cards{grid-template-columns:repeat(2,minmax(0,1fr));}.pf-cards .co:nth-child(3){display:none;}}
@media (max-width:600px){.pf-cards{grid-template-columns:minmax(0,1fr);}.pf-cards .co:nth-child(3){display:flex;}.pf-cards .plate{display:none;}}

/* ============ content check ============ */
.cc-side{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);max-width:30rem;}
.cc-sum{font-size:1rem;}
.cc-sum a{font-weight:700;text-underline-offset:3px;}
.cc-new{display:flex;flex-direction:column;gap:10px;margin-bottom:32px;padding:20px 24px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);}
.cc-new-row{display:flex;flex-wrap:wrap;gap:10px;}
.cc-new input{flex:1 1 16rem;min-width:0;min-height:44px;padding:10px 14px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-sm);}
.cc-new input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}
.cc-hint{font-size:0.92rem;color:var(--muted);}
.cc-wait{font-size:0.95rem;padding:10px 14px;border-radius:var(--r-sm);background:var(--warn-soft);color:var(--ink);}
.cc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.cc-co{display:flex;flex-direction:column;gap:12px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);min-width:0;}
.cc-co.has-problems{border-top:3px solid var(--no);}
.cc-co-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;}
.cc-co-head h2{font-size:1.35rem;font-stretch:110%;line-height:1.2;letter-spacing:-0.01em;margin-right:auto;}
.cc-counts{font-size:0.92rem;color:var(--muted);}
.cc-ok{font-size:0.95rem;color:var(--ok);}
.cc-bad{color:var(--no);}
.cc-problems li::before{background:var(--no);}
.cc-list li{font-size:0.95rem;overflow-wrap:anywhere;}
.cc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.cc-btn{padding:8px 12px;font-size:0.85rem;}
.cc-notes{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px;}
.cc-foot{margin-top:32px;font-size:0.88rem;color:var(--muted);}
@media (max-width:860px){.cc-grid{grid-template-columns:minmax(0,1fr);}}

@media (prefers-reduced-motion:reduce){
  .pf-photo img,.pf-deck,.pf-out{transition:none;}
  .pf-photo a:hover img{transform:none;}
  .pf-deck:not(.is-slot):hover{transform:none;}
}

/* ============ photo viewer (lightbox.js) ============ */
.lb{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(7,8,26,.94);color:#EEF0FA;}
.lb::backdrop{background:rgba(7,8,26,.7);}
.lb[open]{display:flex;flex-direction:column;}
/* the photo is centred in the space above the bar and scaled down to fit it, whatever the screen's shape */
.lb-stage{--lb-pad:clamp(12px,3vw,40px);position:relative;flex:1;min-height:0;}
.lb-img{position:absolute;inset:var(--lb-pad);margin:auto;max-width:calc(100% - 2 * var(--lb-pad));max-height:calc(100% - 2 * var(--lb-pad));width:auto;height:auto;object-fit:contain;border-radius:var(--r-sm);user-select:none;}
.lb-bar{display:flex;align-items:center;gap:10px;padding:12px clamp(12px,3vw,40px) max(16px,env(safe-area-inset-bottom,0px));border-top:1px solid rgba(238,240,250,.12);}
.lb-cap{margin-right:auto;font-size:0.95rem;color:#C4C8DE;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lb-count{font-family:var(--f-display);font-stretch:74%;font-weight:700;font-size:0.78rem;letter-spacing:0.12em;color:#9EA4C4;font-variant-numeric:tabular-nums;margin-right:6px;}
.lb-btn{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-sm);border:1px solid rgba(238,240,250,.22);background:none;color:#EEF0FA;cursor:pointer;}
.lb-btn:hover{border-color:#EEF0FA;}
.lb :focus-visible{outline-color:#EEF0FA;}
.lb-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.lb-btn[hidden]{display:none!important;}
.lb-open{overflow:hidden;}
