.pcm-gallery,/* v0.3: 1200px media detail; standard blog content stays at 760px. */
.pcm-detail{--pcm-ink:#213c30;--pcm-mat:#e9e5dd;--pcm-soft:#f2efe9;--pcm-accent:#9b6b46;max-width:1200px;width:100%;margin-inline:auto;min-width:0}
.pcm-detail-video{width:100%;max-height:78vh;background:#161d19;display:block;border-radius:14px}
.pcm-video-embed{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#e9e5dd}
.pcm-video-embed iframe{position:absolute;width:100%;height:100%;border:0;inset:0}
.pcm-description{font-size:16px;line-height:1.85;max-width:820px!important;margin:26px auto!important;color:#3d5245}
.pcm-shot-date{font-size:13px;opacity:.78;max-width:820px!important;margin:28px auto 8px!important}
/* This theme's single.html and theme.json normally constrain all articles to 760px. */
body.single-pcm_entry .pc-single-wrap > .pc-article-content,
body.single-pcm_entry .pc-article-content{width:min(1240px,calc(100% - 28px))!important;max-width:1240px!important;box-sizing:border-box}
body.single-pcm_entry .pc-article-content > .wp-block-post-content,
body.single-pcm_entry .pc-article-content .wp-block-post-content,
body.single-pcm_entry .pc-article-content .wp-block-post-content > .pcm-detail{max-width:none!important;width:100%!important}
@media(max-width:700px){body.single-pcm_entry .pc-single-title{font-size:clamp(25px,6.8vw,30px);line-height:1.4;overflow-wrap:anywhere}}
/* Generic block themes get the same wide media only without changing blog articles. */
body.single-pcm_entry .wp-block-post-content .pcm-detail{width:min(1200px,calc(100vw - 36px))!important;max-width:none!important;position:relative;left:50%;transform:translateX(-50%);margin:0!important;box-sizing:border-box}
.pcm-pagination{margin-top:30px}.pcm-pagination ul{display:flex;list-style:none;gap:12px;flex-wrap:wrap;padding:0}
.pcm-pagination a,.pcm-pagination span{padding:7px 12px;border:1px solid #789480;border-radius:6px}
/* v0.3: deliberately asymmetrical photography magazine layout. */
.pcm-photo-story{width:100%;max-width:1200px;margin:0 auto;--pcm-gap:clamp(12px,1.8vw,24px)}
.pcm-story-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;color:#567062;font-size:13px;font-weight:650;letter-spacing:.07em}
.pcm-story-meta span:first-child::before{content:"";display:inline-block;width:22px;height:2px;vertical-align:middle;background:#b78f64;margin-right:10px}
.pcm-story-featured{margin:0 0 clamp(36px,5vw,76px);position:relative}
.pcm-story-featured::before{content:"";position:absolute;left:-18px;top:22px;bottom:-17px;right:18px;border:1px solid #d6cab9;border-radius:16px;pointer-events:none}
.pcm-story-tile{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;border-radius:11px;background:#e9e5dd;isolation:isolate;box-shadow:0 8px 22px rgba(47,53,42,.08)}
.pcm-story-tile .pcm-lightbox-link{display:block;position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit}
.pcm-story-tile .pcm-photo-image{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .45s ease}
@media(hover:hover){.pcm-story-tile .pcm-lightbox-link:hover .pcm-photo-image{transform:scale(1.04)}}
.pcm-story-featured .pcm-story-tile{aspect-ratio:1.8;box-shadow:0 16px 38px rgba(37,47,37,.13)}
.pcm-story-featured .pcm-story-tile.is-portrait{background:linear-gradient(122deg,#e5ded3,#f3eee6 55%,#e5ded3)}
.pcm-story-featured .pcm-story-tile.is-portrait .pcm-photo-image{object-fit:contain;object-position:center;background:transparent}
.pcm-featured-label{position:absolute;right:17px;bottom:16px;background:rgba(34,57,45,.8);color:#fff;padding:8px 12px;font-size:13px;font-weight:650;line-height:1;border-radius:5px;font-variant-numeric:tabular-nums;letter-spacing:.07em}
.pcm-featured-label span{opacity:.82;font-size:12px}
.pcm-story-collage{display:flex;flex-direction:column;gap:clamp(28px,4vw,58px)}
.pcm-story-row{--pcm-unit:clamp(60px,8vw,100px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(6,var(--pcm-unit));gap:var(--pcm-gap);min-width:0;max-width:100%;isolation:isolate}
.pcm-story-row .pcm-story-tile{height:100%;width:100%;align-self:stretch;justify-self:stretch}
/* Three beats: a large scene, an offset detail, and a second generous scene. */
.pcm-story-row--three .pcm-story-tile:first-child{grid-column:1/span 7;grid-row:1/span 5;z-index:1;transform:rotate(-.5deg)}
.pcm-story-row--three .pcm-story-tile:nth-child(2){grid-column:9/span 4;grid-row:2/span 2;z-index:2;transform:rotate(1.6deg)}
.pcm-story-row--three .pcm-story-tile:nth-child(3){grid-column:8/span 5;grid-row:4/span 3;z-index:3;transform:rotate(-1deg)}
.pcm-story-row--three.is-reversed .pcm-story-tile:first-child{grid-column:6/span 7;grid-row:1/span 5;transform:rotate(.5deg)}
.pcm-story-row--three.is-reversed .pcm-story-tile:nth-child(2){grid-column:1/span 4;grid-row:2/span 2;transform:rotate(-1.5deg)}
.pcm-story-row--three.is-reversed .pcm-story-tile:nth-child(3){grid-column:1/span 5;grid-row:4/span 3;transform:rotate(.7deg)}
/* Two beats: the smaller one starts lower, creating a magazine-like diagonal. */
.pcm-story-row--two .pcm-story-tile:first-child{grid-column:1/span 7;grid-row:1/span 5;transform:rotate(-.6deg)}
.pcm-story-row--two .pcm-story-tile:nth-child(2){grid-column:8/span 5;grid-row:2/span 5;z-index:2;transform:rotate(1deg)}
.pcm-story-row--two.is-reversed .pcm-story-tile:first-child{grid-column:6/span 7;grid-row:1/span 5;transform:rotate(.5deg)}
.pcm-story-row--two.is-reversed .pcm-story-tile:nth-child(2){grid-column:1/span 6;grid-row:2/span 5;transform:rotate(-.8deg)}
.pcm-story-row--one{--pcm-unit:clamp(51px,6.8vw,85px)}
.pcm-story-row--one .pcm-story-tile{grid-column:2/span 10;grid-row:1/span 6;transform:rotate(.4deg)}
.pcm-story-row--one.is-reversed .pcm-story-tile{grid-column:1/span 10;transform:rotate(-.4deg)}
.pcm-story-hint{text-align:right;color:#667a6b;font-size:13px;margin:24px 2px 0;line-height:1.7}
.pcm-photo-story .pcm-lightbox-link:focus-visible{outline:3px solid #ba895a;outline-offset:-4px}
/* Navigation is shared by photo sets and videos and includes cross-type entries. */
.pcm-record-nav{width:min(1200px,calc(100% - 10px))!important;max-width:1200px!important;margin:74px auto 4px!important;transform:none;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding-top:23px;border-top:1px solid #d7d7cd;box-sizing:border-box}
.pcm-record-nav a{text-decoration:none!important;color:#264739!important}
.pcm-record-nav-link{display:flex;flex-direction:column;min-width:0;gap:5px;padding:10px 0}
.pcm-record-nav-link span{font-size:14px;letter-spacing:.02em;font-weight:700}
.pcm-record-nav-link strong{font-weight:500;font-size:13px;line-height:1.4;color:#748577;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pcm-record-nav-next{text-align:right;align-items:end}
.pcm-record-nav-back{border:1px solid #99aa9b;padding:11px 17px;border-radius:99px;font-size:13px;font-weight:650;white-space:nowrap;justify-self:center}
.pcm-record-nav a:focus-visible{outline:3px solid #ba895a;outline-offset:3px}
@media(hover:hover){.pcm-record-nav a:hover{color:#9a623e!important}.pcm-record-nav-back:hover{background:#f0ece2}}
/* Accessible photo viewer. Neutral warm viewer to avoid harsh contrast with the light site canvas.
   The photo is not color-filtered; only the surface around it is softened. */
.pcm-lightbox-dialog{border:1px solid #dcd5c9;padding:0;margin:auto;max-width:min(98vw,1240px);max-height:96dvh;width:min(98vw,1240px);height:min(96dvh,880px);background:#eeeae2;color:#263f34;border-radius:12px;box-shadow:0 18px 48px rgba(25,35,28,.24);overflow:hidden}
.pcm-lightbox-dialog::backdrop{background:rgba(24,32,27,.54)}
.pcm-lightbox-view{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:52px 58px 48px;box-sizing:border-box}
.pcm-lightbox-dialog img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 6px 24px rgba(31,43,34,.11)}
.pcm-lightbox-toolbar{position:absolute;inset:0 0 auto;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;background:linear-gradient(to bottom,rgba(238,234,226,.97),rgba(238,234,226,0));box-sizing:border-box;pointer-events:none}
.pcm-lightbox-count{font:700 13px/1.5 system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#294538}
.pcm-lightbox-close,.pcm-lightbox-prev,.pcm-lightbox-next{appearance:none;border:1px solid #9dad9f;border-radius:99px;background:rgba(255,253,248,.94);color:#294538;font:inherit;display:grid;place-items:center;cursor:pointer;min-width:44px;min-height:44px;pointer-events:auto;box-shadow:0 3px 12px rgba(38,55,43,.08)}
.pcm-lightbox-close{font-size:24px;line-height:1}
.pcm-lightbox-prev,.pcm-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);font-size:26px}
.pcm-lightbox-prev{left:6px}.pcm-lightbox-next{right:6px}
.pcm-lightbox-prev[hidden],.pcm-lightbox-next[hidden]{display:none!important}
.pcm-lightbox-close:focus-visible,.pcm-lightbox-prev:focus-visible,.pcm-lightbox-next:focus-visible{outline:3px solid #a57646;outline-offset:2px}
@media(hover:hover){.pcm-lightbox-close:hover,.pcm-lightbox-prev:hover,.pcm-lightbox-next:hover{background:#dee6dc;color:#203d2e}}
@media(max-width:700px){
  .pcm-photo-story{--pcm-gap:10px}
  .pcm-story-meta{font-size:12px;margin-bottom:10px}
  .pcm-story-featured{margin-bottom:34px}
  .pcm-story-featured::before{left:-6px;right:8px;top:12px;bottom:-9px}
  .pcm-story-featured .pcm-story-tile{aspect-ratio:4/3}
  .pcm-story-featured .pcm-story-tile.is-portrait{aspect-ratio:4/3}
  .pcm-story-collage{gap:25px}
  /* Mobile preserves drama: staggered full photos + smaller offset details. */
  .pcm-story-row{--pcm-unit:clamp(39px,11.4vw,56px);grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(9,var(--pcm-unit));gap:8px}
  .pcm-story-row--three .pcm-story-tile:first-child,
  .pcm-story-row--three.is-reversed .pcm-story-tile:first-child{grid-column:1/span 5;grid-row:1/span 5;transform:rotate(-.8deg)}
  .pcm-story-row--three .pcm-story-tile:nth-child(2),
  .pcm-story-row--three.is-reversed .pcm-story-tile:nth-child(2){grid-column:4/span 3;grid-row:4/span 3;z-index:2;transform:rotate(1.5deg);border:5px solid #faf9f5;box-sizing:border-box}
  .pcm-story-row--three .pcm-story-tile:nth-child(3),
  .pcm-story-row--three.is-reversed .pcm-story-tile:nth-child(3){grid-column:2/span 5;grid-row:7/span 3;z-index:1;transform:rotate(-.6deg)}
  .pcm-story-row--three.is-reversed .pcm-story-tile:first-child{grid-column:2/span 5;transform:rotate(.6deg)}
  .pcm-story-row--three.is-reversed .pcm-story-tile:nth-child(2){grid-column:1/span 3;transform:rotate(-1deg)}
  .pcm-story-row--three.is-reversed .pcm-story-tile:nth-child(3){grid-column:1/span 5;transform:rotate(.8deg)}
  .pcm-story-row--two{grid-template-rows:repeat(8,var(--pcm-unit))}
  .pcm-story-row--two .pcm-story-tile:first-child,
  .pcm-story-row--two.is-reversed .pcm-story-tile:first-child{grid-column:1/span 5;grid-row:1/span 5;transform:rotate(-.6deg)}
  .pcm-story-row--two .pcm-story-tile:nth-child(2),
  .pcm-story-row--two.is-reversed .pcm-story-tile:nth-child(2){grid-column:3/span 4;grid-row:5/span 4;transform:rotate(1.1deg)}
  .pcm-story-row--two.is-reversed .pcm-story-tile:first-child{grid-column:2/span 5;transform:rotate(.8deg)}
  .pcm-story-row--two.is-reversed .pcm-story-tile:nth-child(2){grid-column:1/span 4;transform:rotate(-.8deg)}
  .pcm-story-row--one{grid-template-rows:repeat(6,var(--pcm-unit))}
  .pcm-story-row--one .pcm-story-tile,.pcm-story-row--one.is-reversed .pcm-story-tile{grid-column:1/span 6;grid-row:1/span 6;transform:none}
  .pcm-featured-label{right:9px;bottom:9px;font-size:12px}
  .pcm-story-hint{font-size:12px}
  .pcm-record-nav{grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:50px}
  .pcm-record-nav-back{grid-column:1/-1;grid-row:1;margin-bottom:4px}
  .pcm-record-nav-prev{grid-column:1;grid-row:2}.pcm-record-nav-next{grid-column:2;grid-row:2}
  .pcm-record-nav-blank{min-height:10px}
  .pcm-record-nav-link strong{white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px}
  .pcm-detail-video,.pcm-video-embed{border-radius:9px}
  .pcm-lightbox-dialog{border-radius:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh}
  .pcm-lightbox-view{padding:57px 10px 65px}
  .pcm-lightbox-prev,.pcm-lightbox-next{top:auto;bottom:9px;transform:none}
  .pcm-lightbox-prev{left:calc(50% - 64px)}.pcm-lightbox-next{right:calc(50% - 64px)}
}
@media(prefers-reduced-motion:reduce){.pcm-story-tile .pcm-photo-image{transition:none}.pcm-story-tile .pcm-lightbox-link:hover .pcm-photo-image{transform:none}.pcm-story-row .pcm-story-tile{transform:none!important}}


/* === v0.4 photo story layouts: one set, four presentations === */
.pcm-photo-story{max-width:1200px}
.pcm-story-tile{isolation:isolate}
.pcm-tile-caption{position:absolute;left:0;right:0;bottom:0;z-index:3;margin:0;padding:28px 16px 14px;color:#fff!important;font-size:clamp(12px,1.2vw,15px);line-height:1.55;font-weight:650;background:linear-gradient(transparent,rgba(12,25,18,.82));text-shadow:0 1px 4px #0006;pointer-events:none}
.pcm-story-featured .pcm-tile-caption{bottom:0}
/* Editorial: deliberate alternation of 2-photo and 3-photo spreads. */
.pcm-layout-editorial .pcm-story-collage{gap:clamp(30px,5vw,84px)}
.pcm-layout-editorial .pcm-story-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:none;gap:clamp(10px,1.5vw,21px);align-items:start;isolation:auto}
.pcm-layout-editorial .pcm-story-row .pcm-story-tile{height:auto;grid-row:auto;min-width:0;width:100%;transform:none;align-self:auto;overflow:hidden;aspect-ratio:3/4}
.pcm-layout-editorial .pcm-story-row--two .pcm-story-tile:first-child{grid-column:1/span 7;grid-row:1;aspect-ratio:4/3;transform:rotate(-.7deg)}
.pcm-layout-editorial .pcm-story-row--two .pcm-story-tile:nth-child(2){grid-column:8/span 5;grid-row:1;aspect-ratio:3/4;margin-top:clamp(35px,8vw,135px);transform:rotate(1.3deg)}
.pcm-layout-editorial .pcm-story-row--two.is-reversed .pcm-story-tile:first-child{grid-column:6/span 7;aspect-ratio:4/3;transform:rotate(.7deg)}
.pcm-layout-editorial .pcm-story-row--two.is-reversed .pcm-story-tile:nth-child(2){grid-column:1/span 5;grid-row:1;transform:rotate(-1deg)}
.pcm-layout-editorial .pcm-story-row--three .pcm-story-tile:first-child{grid-column:1/span 5;grid-row:1;aspect-ratio:4/5;transform:rotate(-1deg)}
.pcm-layout-editorial .pcm-story-row--three .pcm-story-tile:nth-child(2){grid-column:6/span 3;grid-row:1;aspect-ratio:3/5;margin-top:clamp(34px,6vw,90px);transform:rotate(.9deg)}
.pcm-layout-editorial .pcm-story-row--three .pcm-story-tile:nth-child(3){grid-column:9/span 4;grid-row:1;aspect-ratio:3/4;margin-top:clamp(70px,11vw,170px);transform:rotate(-.8deg)}
.pcm-layout-editorial .pcm-story-row--three.is-reversed .pcm-story-tile:first-child{grid-column:8/span 5;grid-row:1;transform:rotate(.8deg)}
.pcm-layout-editorial .pcm-story-row--three.is-reversed .pcm-story-tile:nth-child(2){grid-column:5/span 3;grid-row:1;transform:rotate(-1deg)}
.pcm-layout-editorial .pcm-story-row--three.is-reversed .pcm-story-tile:nth-child(3){grid-column:1/span 4;grid-row:1;transform:rotate(.7deg)}
.pcm-layout-editorial .pcm-story-row--one .pcm-story-tile{grid-column:2/span 10;grid-row:1;aspect-ratio:16/9;transform:rotate(.4deg)}
/* Timeline: strict saved order with successive numbered steps and optional notes. */
.pcm-timeline{list-style:none!important;padding:0!important;margin:12px 0 0!important;position:relative;display:flex;flex-direction:column;gap:clamp(38px,5vw,72px)}
.pcm-timeline::before{content:"";position:absolute;left:50%;width:2px;top:20px;bottom:20px;background:#c9d1bf;transform:translateX(-50%)}
.pcm-timeline-step{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);align-items:center;position:relative;min-width:0;gap:0}
.pcm-timeline-marker{grid-column:2;grid-row:1;border-radius:50%;height:45px;width:45px;background:#e7ded0;border:2px solid #799a83;color:#274939;display:grid;place-items:center;font-weight:800;font-size:15px;justify-self:center;z-index:2}
.pcm-timeline-image{grid-column:1;grid-row:1;min-width:0}
.pcm-timeline-image .pcm-story-tile{aspect-ratio:4/3}
.pcm-timeline-step:nth-child(2n) .pcm-timeline-image{grid-column:3}
.pcm-timeline-text{grid-column:3;grid-row:1;padding:18px 4% 18px 5%;min-width:0}
.pcm-timeline-step:nth-child(2n) .pcm-timeline-text{grid-column:1;text-align:right;padding:18px 5% 18px 4%}
.pcm-timeline-text>span{letter-spacing:.12em;font:700 13px/1.6 system-ui,sans-serif;color:#8f673f}
.pcm-timeline-text p{font-size:clamp(15px,1.6vw,20px);line-height:1.7;margin:10px 0;color:#294439;overflow-wrap:anywhere}
/* Mosaic: rhythmic 7:5, 4:4:4 and wide compositions, preserving DOM order. */
.pcm-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(80px,11vw,150px);gap:clamp(9px,1.3vw,16px);min-width:0}
.pcm-mosaic .pcm-story-tile{width:100%;height:100%;min-width:0;grid-column:span 4;grid-row:span 1;border-radius:8px}
.pcm-mosaic .pcm-story-tile:nth-child(6n+1){grid-column:span 7;grid-row:span 2}
.pcm-mosaic .pcm-story-tile:nth-child(6n+2){grid-column:span 5;grid-row:span 2}
.pcm-mosaic .pcm-story-tile:nth-child(6n+3),.pcm-mosaic .pcm-story-tile:nth-child(6n+4),.pcm-mosaic .pcm-story-tile:nth-child(6n+5){grid-column:span 4;grid-row:span 2}
.pcm-mosaic .pcm-story-tile:nth-child(6n+6){grid-column:span 12;grid-row:span 2}
/* Photo essay: each photo keeps its natural aspect and ample negative space. */
.pcm-essay{display:flex;flex-direction:column;gap:clamp(48px,8vw,115px);padding:12px 0}
.pcm-essay-frame{position:relative;width:89%;max-width:1000px;align-self:flex-start}
.pcm-essay-frame:nth-child(even){width:72%;align-self:flex-end}
.pcm-essay-frame:nth-child(3n){width:82%;align-self:center}
.pcm-essay-counter{display:block;color:#926842;font-weight:700;letter-spacing:.13em;margin:0 0 9px;font-size:12px}
.pcm-essay .pcm-story-tile{aspect-ratio:auto;overflow:visible;box-shadow:none;background:transparent}
.pcm-essay .pcm-lightbox-link{height:auto;overflow:hidden;border-radius:10px}
.pcm-essay .pcm-photo-image{height:auto;max-height:85vh;object-fit:contain;background:#eeeae1}
.pcm-essay .pcm-tile-caption{position:static;background:none;color:#506b5b!important;text-shadow:none;padding:12px 0;font-weight:500;font-size:14px}
@media(max-width:700px){
  .pcm-layout-editorial .pcm-story-collage{gap:26px}
  .pcm-layout-editorial .pcm-story-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-items:start}
  .pcm-layout-editorial .pcm-story-row--two .pcm-story-tile:first-child,.pcm-layout-editorial .pcm-story-row--two.is-reversed .pcm-story-tile:first-child{grid-column:1/span 4;grid-row:1;aspect-ratio:3/4;transform:rotate(-.5deg)}
  .pcm-layout-editorial .pcm-story-row--two .pcm-story-tile:nth-child(2),.pcm-layout-editorial .pcm-story-row--two.is-reversed .pcm-story-tile:nth-child(2){grid-column:5/span 2;grid-row:1;aspect-ratio:3/5;margin-top:38px;transform:rotate(1deg)}
  .pcm-layout-editorial .pcm-story-row--two.is-reversed .pcm-story-tile:first-child{grid-column:3/span 4;transform:rotate(.6deg)}
  .pcm-layout-editorial .pcm-story-row--two.is-reversed .pcm-story-tile:nth-child(2){grid-column:1/span 2;transform:rotate(-.5deg)}
  .pcm-layout-editorial .pcm-story-row--three .pcm-story-tile:first-child,.pcm-layout-editorial .pcm-story-row--three.is-reversed .pcm-story-tile:first-child{grid-column:1/span 3;grid-row:1;aspect-ratio:3/4;transform:rotate(-.5deg)}
  .pcm-layout-editorial .pcm-story-row--three .pcm-story-tile:nth-child(2),.pcm-layout-editorial .pcm-story-row--three.is-reversed .pcm-story-tile:nth-child(2){grid-column:4/span 3;grid-row:1;aspect-ratio:3/5;margin-top:26px;transform:rotate(.8deg)}
  .pcm-layout-editorial .pcm-story-row--three .pcm-story-tile:nth-child(3),.pcm-layout-editorial .pcm-story-row--three.is-reversed .pcm-story-tile:nth-child(3){grid-column:2/span 5;grid-row:2;aspect-ratio:16/9;margin-top:2px;transform:rotate(-.5deg)}
  .pcm-layout-editorial .pcm-story-row--three.is-reversed .pcm-story-tile:first-child{grid-column:4/span 3;transform:rotate(.4deg)}
  .pcm-layout-editorial .pcm-story-row--three.is-reversed .pcm-story-tile:nth-child(2){grid-column:1/span 3;transform:rotate(-.7deg)}
  .pcm-layout-editorial .pcm-story-row--three.is-reversed .pcm-story-tile:nth-child(3){grid-column:1/span 5;transform:rotate(.6deg)}
  .pcm-layout-editorial .pcm-story-row--one .pcm-story-tile{grid-column:1/span 6;grid-row:1;aspect-ratio:4/3}
  .pcm-timeline{gap:34px}
  .pcm-timeline::before{left:20px;transform:none}
  .pcm-timeline-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:0}
  .pcm-timeline-marker{grid-column:1;grid-row:1;width:36px;height:36px;font-size:12px;align-self:start}
  .pcm-timeline-image,.pcm-timeline-step:nth-child(2n) .pcm-timeline-image{grid-column:2;grid-row:1}
  .pcm-timeline-text,.pcm-timeline-step:nth-child(2n) .pcm-timeline-text{grid-column:2;grid-row:2;padding:6px 0 0;text-align:left}
  .pcm-timeline-text p{font-size:15px;margin:3px 0}
  .pcm-mosaic{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(62px,16vw,94px);gap:8px}
  .pcm-mosaic .pcm-story-tile:nth-child(6n+1){grid-column:span 4;grid-row:span 2}
  .pcm-mosaic .pcm-story-tile:nth-child(6n+2){grid-column:span 2;grid-row:span 2}
  .pcm-mosaic .pcm-story-tile:nth-child(6n+3),.pcm-mosaic .pcm-story-tile:nth-child(6n+4),.pcm-mosaic .pcm-story-tile:nth-child(6n+5){grid-column:span 2;grid-row:span 2}
  .pcm-mosaic .pcm-story-tile:nth-child(6n+6){grid-column:span 6;grid-row:span 2}
  .pcm-essay{gap:34px}
  .pcm-essay-frame,.pcm-essay-frame:nth-child(even),.pcm-essay-frame:nth-child(3n){width:100%;align-self:stretch}
  .pcm-essay .pcm-photo-image{max-height:76vh}
}
@media(prefers-reduced-motion:reduce){.pcm-layout-editorial .pcm-story-row .pcm-story-tile{transform:none!important}}


/* v0.5: spatially restrained field notes, more legible photo essays and six frame treatments. */
.pcm-photo-story{--pcm-card-paper:#fffdf8;--pcm-card-shadow:0 16px 34px rgba(33,48,39,.13)}
/* Timeline has its own subtle field-note motif, regardless of the selected frame treatment. */
.pcm-layout-timeline .pcm-timeline-intro{position:relative;overflow:hidden;isolation:isolate;margin:8px auto 38px;max-width:1020px;min-height:154px;padding:26px clamp(24px,5vw,66px);box-sizing:border-box;background:linear-gradient(100deg,#ede9df,#f7f4eb);border:1px solid #e1d8cb;border-radius:15px;color:#294738}
.pcm-timeline-intro::after{content:"";position:absolute;right:12px;top:-18px;width:230px;height:205px;background:url('twig.svg') center/contain no-repeat;opacity:.24;z-index:-1;pointer-events:none}
.pcm-timeline-intro span{display:block;font:700 11px/1.5 system-ui,sans-serif;letter-spacing:.16em;color:#856647;margin-bottom:12px}
.pcm-timeline-intro strong{display:block;font-size:clamp(18px,2.1vw,26px);letter-spacing:.035em}
.pcm-timeline-intro p{font-size:13px;line-height:1.7;color:#637766;margin:10px 0 0}
.pcm-layout-timeline .pcm-timeline{max-width:1040px;margin:24px auto 0!important;gap:clamp(20px,3vw,38px);padding:10px 0 20px!important}
.pcm-layout-timeline .pcm-timeline::before{background:linear-gradient(#ced9cc,#92a994 40%,#ced9cc);width:2px}
.pcm-layout-timeline .pcm-timeline-step{padding:14px 0}
.pcm-layout-timeline .pcm-timeline-step::before{content:"";position:absolute;z-index:0;inset:0 0 0 0;border:1px solid #e4e2d8;border-radius:20px;background:linear-gradient(135deg,rgba(249,247,240,.95),rgba(235,238,227,.82));pointer-events:none}
.pcm-layout-timeline .pcm-timeline-step:nth-child(even)::before{background:linear-gradient(225deg,rgba(249,247,240,.95),rgba(235,238,227,.82))}
.pcm-layout-timeline .pcm-timeline-step::after{content:"";position:absolute;right:12px;bottom:4px;width:88px;height:85px;pointer-events:none;background:url('twig.svg') center/contain no-repeat;opacity:.12}
.pcm-layout-timeline .pcm-timeline-step:nth-child(even)::after{right:auto;left:12px;transform:scaleX(-1)}
.pcm-layout-timeline .pcm-timeline-marker{z-index:3;background:#294c3b;color:#fff;border:3px solid #eee9db;box-shadow:0 0 0 2px #8fa790}
.pcm-layout-timeline .pcm-timeline-image{padding:0 0 0 14px;position:relative;z-index:1}
.pcm-layout-timeline .pcm-timeline-step:nth-child(even) .pcm-timeline-image{padding:0 14px 0 0}
.pcm-layout-timeline .pcm-timeline-image .pcm-story-tile{aspect-ratio:4/3;max-height:340px;border-radius:11px}
/* v0.6: use the whole note half, including left-side notes; no artificial 30ch wraps. */
.pcm-layout-timeline .pcm-timeline-text{position:relative;z-index:1;padding-inline:clamp(16px,2vw,26px);text-align:left}
.pcm-layout-timeline .pcm-timeline-step:nth-child(even) .pcm-timeline-text{text-align:left}
.pcm-layout-timeline .pcm-timeline-text>span{display:inline-block;padding:5px 12px;background:#e5e9dd;color:#345a44;border-radius:99px;letter-spacing:.08em;font-size:12px}
.pcm-layout-timeline .pcm-timeline-text p{width:100%;max-width:none;overflow-wrap:break-word;word-break:normal;line-break:strict;text-wrap:pretty;line-height:1.7;font-size:clamp(15px,1.5vw,18px);margin:12px 0}
.pcm-layout-timeline .pcm-timeline-step:nth-child(even) .pcm-timeline-text p{margin-left:0}
/* Photo essay: more deliberate gallery spacing and frames; images are never enlarged indefinitely. */
.pcm-layout-stack .pcm-essay{max-width:1090px;margin:0 auto;gap:clamp(30px,4.5vw,66px);padding:8px 0 24px}
.pcm-layout-stack .pcm-essay-frame{width:min(86%,870px);padding:clamp(15px,2.6vw,27px);box-sizing:border-box;border-radius:4px;background:var(--pcm-card-paper);box-shadow:var(--pcm-card-shadow);position:relative}
.pcm-layout-stack .pcm-essay-frame:nth-child(even){width:min(68%,720px)}
.pcm-layout-stack .pcm-essay-frame:nth-child(3n){width:min(78%,795px)}
.pcm-layout-stack .pcm-essay-counter{display:block;margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.15em;color:#907152}
.pcm-layout-stack .pcm-essay .pcm-story-tile{display:block;width:100%;background:none;box-shadow:none;border-radius:0;overflow:visible}
.pcm-layout-stack .pcm-essay .pcm-lightbox-link{display:block;line-height:0;width:100%;height:auto;overflow:hidden;border-radius:2px;background:#eee9e1}
.pcm-layout-stack .pcm-essay .pcm-photo-image{display:block;width:100%;height:auto;max-height:min(580px,68vh);min-height:0;object-fit:contain;object-position:center;margin:auto;background:transparent}
.pcm-layout-stack .pcm-essay .pcm-tile-caption{position:static;display:block;padding:14px 1px 2px;font-size:clamp(13px,1.2vw,16px);line-height:1.65;color:#4d6252!important;background:none;text-shadow:none;pointer-events:auto;font-weight:600}
.pcm-layout-stack .pcm-essay-frame::before{content:"";position:absolute;top:-7px;right:clamp(18px,5vw,60px);width:72px;height:20px;background:#c9ae87a8;transform:rotate(3deg);box-shadow:0 1px 3px #3b38251c;pointer-events:none}
.pcm-layout-stack .pcm-essay-frame:nth-child(even)::before{left:20%;right:auto;transform:rotate(-3deg)}
/* Decor is independent of layout. Plain is visually identical to v0.4 for collage/mosaic. */
.pcm-decor-paper:not(.pcm-layout-stack) .pcm-story-tile{border:clamp(4px,.75vw,10px) solid #fffdf7;box-sizing:border-box;box-shadow:0 10px 26px #2938291a;border-radius:4px}
.pcm-decor-paper.pcm-layout-stack .pcm-essay-frame{background:#fffdf8;border:1px solid #efe8dc}
/* Instant-photo / Polaroid */
.pcm-decor-polaroid .pcm-story-tile{border:clamp(5px,.8vw,12px) solid #fffdf7;border-bottom-width:clamp(17px,2vw,32px);border-radius:3px;box-sizing:border-box;box-shadow:0 13px 28px #1a272036}
.pcm-decor-polaroid.pcm-layout-stack .pcm-essay-frame{background:#fffdfa;border:1px solid #f3eade;padding:clamp(14px,2vw,24px) clamp(14px,2vw,24px) clamp(28px,4vw,50px);border-radius:3px}
.pcm-decor-polaroid.pcm-layout-stack .pcm-essay-frame:nth-child(odd){transform:rotate(-1.3deg)}
.pcm-decor-polaroid.pcm-layout-stack .pcm-essay-frame:nth-child(even){transform:rotate(1.4deg)}
.pcm-decor-polaroid.pcm-layout-stack .pcm-essay-frame .pcm-story-tile{border:0;box-shadow:none}
.pcm-decor-polaroid.pcm-layout-stack .pcm-essay-frame::before{display:none}
/* Reclaimed kraft paper */
.pcm-decor-kraft:not(.pcm-layout-stack) .pcm-story-tile{border:clamp(6px,.85vw,12px) solid #b9a084;border-radius:3px;box-sizing:border-box;box-shadow:0 12px 27px #281e102c}
.pcm-decor-kraft.pcm-layout-stack .pcm-essay-frame{background:linear-gradient(112deg,#cdb79a,#dfc9aa 65%,#c4aa85);border:1px solid #b79a74;border-radius:3px;box-shadow:0 11px 24px #41311d31}
.pcm-decor-kraft.pcm-layout-stack .pcm-essay-counter,.pcm-decor-kraft.pcm-layout-stack .pcm-tile-caption{color:#45351f!important}
.pcm-decor-kraft.pcm-layout-stack .pcm-essay-frame::before{background:#f4e8d39e}
/* Filmstrip / nighttime gallery */
.pcm-decor-film:not(.pcm-layout-stack) .pcm-story-tile{border:clamp(10px,1.15vw,18px) solid #252a27;border-radius:3px;box-sizing:border-box;box-shadow:0 14px 30px #14201844}
.pcm-decor-film.pcm-layout-stack .pcm-essay-frame{background:#222a26;border:1px solid #141d18;box-shadow:0 15px 32px #202b204c;padding:clamp(18px,2.5vw,30px) clamp(28px,4vw,49px);border-radius:5px}
.pcm-decor-film.pcm-layout-stack .pcm-essay-frame::before{display:none}
.pcm-decor-film.pcm-layout-stack .pcm-essay-frame::after{content:"";pointer-events:none;position:absolute;inset:7px auto 7px 9px;width:10px;background:radial-gradient(ellipse 3px 5px,#d2c8a9 95%,transparent 105%) center top/10px 28px repeat-y}
.pcm-decor-film.pcm-layout-stack .pcm-essay-counter,.pcm-decor-film.pcm-layout-stack .pcm-tile-caption{color:#e7e1d1!important}
.pcm-decor-film.pcm-layout-stack .pcm-essay .pcm-lightbox-link{background:#131c17}
/* Minimal line-art border */
.pcm-decor-line:not(.pcm-layout-stack) .pcm-story-tile{border:2px solid #9eb5a2;border-radius:3px;outline:1px solid #d0d9ca;outline-offset:4px;box-sizing:border-box}
.pcm-decor-line.pcm-layout-stack .pcm-essay-frame{background:#f7f5ec;border:1px solid #879d88;outline:1px solid #d1d8c8;outline-offset:5px;box-shadow:0 9px 20px #29382917;border-radius:2px}
.pcm-decor-line.pcm-layout-stack .pcm-essay-frame::before{display:none}
/* No decoration truly means plain, even for the essay. */
.pcm-decor-plain.pcm-layout-stack .pcm-essay-frame{padding:0;background:transparent;border:0;box-shadow:none}
.pcm-decor-plain.pcm-layout-stack .pcm-essay-frame::before{display:none}
.pcm-decor-plain.pcm-layout-stack .pcm-essay .pcm-lightbox-link{border-radius:9px}
/* Timeline frame choices: apply to images, not the notes/guide decoration. */
.pcm-layout-timeline.pcm-decor-paper .pcm-story-tile{border:7px solid #fffdf7}
.pcm-layout-timeline.pcm-decor-polaroid .pcm-story-tile{border-bottom-width:20px}
.pcm-layout-timeline.pcm-decor-film .pcm-story-tile{border-width:12px}
@media(max-width:700px){
  .pcm-layout-timeline .pcm-timeline-intro{padding:18px 18px 20px;margin:8px auto 24px;min-height:126px}
  .pcm-timeline-intro::after{right:-16px;top:-18px;width:135px;height:150px;opacity:.18}
  .pcm-layout-timeline .pcm-timeline{gap:20px;padding:0!important}
  .pcm-layout-timeline .pcm-timeline::before{left:20px}
  .pcm-layout-timeline .pcm-timeline-step{grid-template-columns:44px minmax(0,1fr);padding:14px 10px 16px 0;gap:0}
  .pcm-layout-timeline .pcm-timeline-step::before{inset:0 0 0 42px;border-radius:12px}
  .pcm-layout-timeline .pcm-timeline-step::after{width:68px;height:62px;right:4px;bottom:0}
  .pcm-layout-timeline .pcm-timeline-step:nth-child(even)::after{left:auto;right:4px;transform:none}
  .pcm-layout-timeline .pcm-timeline-marker{align-self:start;width:36px;height:36px}
  .pcm-layout-timeline .pcm-timeline-image,.pcm-layout-timeline .pcm-timeline-step:nth-child(even) .pcm-timeline-image{grid-column:2;grid-row:1;padding:0 10px 0 12px}
  .pcm-layout-timeline .pcm-timeline-text,.pcm-layout-timeline .pcm-timeline-step:nth-child(even) .pcm-timeline-text{grid-column:2;grid-row:2;padding:10px 12px 0;text-align:left}
  .pcm-layout-timeline .pcm-timeline-step:nth-child(even) .pcm-timeline-text p{margin-left:0}
  .pcm-layout-timeline .pcm-timeline-text>span{font-size:11px;padding:4px 9px}
  .pcm-layout-stack .pcm-essay{gap:26px}
  .pcm-layout-stack .pcm-essay-frame,.pcm-layout-stack .pcm-essay-frame:nth-child(even),.pcm-layout-stack .pcm-essay-frame:nth-child(3n){width:100%;padding:14px;align-self:stretch}
  .pcm-layout-stack .pcm-essay .pcm-photo-image{max-height:60vh}
  .pcm-decor-film.pcm-layout-stack .pcm-essay-frame{padding:20px 27px}
  .pcm-decor-plain.pcm-layout-stack .pcm-essay-frame{padding:0}
  .pcm-decor-polaroid.pcm-layout-stack .pcm-essay-frame{padding:13px 13px 30px}
  .pcm-layout-stack .pcm-essay-frame::before{width:52px;height:15px}
}
@media(prefers-reduced-motion:reduce){.pcm-decor-polaroid.pcm-layout-stack .pcm-essay-frame{transform:none!important}}


/* v0.8: One step number, one location (the central marker).
   The optional note has no repeat number; uncaptioned photos receive a motif only. */
.pcm-layout-timeline .pcm-timeline-heading{font-size:clamp(18px,1.9vw,24px);line-height:1.45;font-weight:750;color:#294638;letter-spacing:.02em;margin:0 0 6px;overflow-wrap:anywhere}
.pcm-layout-timeline .pcm-timeline-note{white-space:pre-line;margin:8px 0 0!important;line-height:1.78}
.pcm-layout-timeline .pcm-timeline-text.is-empty{display:flex;justify-content:center;align-items:center}
.pcm-layout-timeline .pcm-timeline-empty{display:flex;align-items:center;justify-content:center;gap:clamp(8px,2vw,26px);width:100%;max-width:100%;margin:0;opacity:.62;pointer-events:none}
.pcm-layout-timeline .pcm-timeline-empty::before,.pcm-layout-timeline .pcm-timeline-empty::after{content:"";display:block;flex:1 1 0;max-width:82px;height:1px;background:#b3c0b1}
.pcm-layout-timeline .pcm-timeline-empty-art{display:block;flex:0 0 auto;width:clamp(68px,8.5vw,122px);height:clamp(68px,8.5vw,122px);background:url('twig.svg') center/contain no-repeat;opacity:.7;transform:rotate(-12deg)}
@media(max-width:700px){
  .pcm-layout-timeline .pcm-timeline-heading{font-size:19px;margin:0 0 3px}
  .pcm-layout-timeline .pcm-timeline-note{font-size:15px}
  /* No empty decorative row beneath an uncaptioned photo on mobile. */
  .pcm-layout-timeline .pcm-timeline-text.is-empty{display:none}
}

/* Photo-essay notes can contain intentional line breaks. Collage captions stay compact. */
.pcm-layout-stack .pcm-tile-caption{white-space:pre-line;overflow-wrap:anywhere}
