/*
Theme Name: Pocket Diary Book Club
Theme URI: https://pocketdiarybookclub.com/
Author: PDBC
Description: An intimate, paper-textured theme for Pocket Diary Book Club. Ships with a cinematic pocket-diary welcome on the front page, plus Editions, Library and Events content types.
Version: 3.25.2
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pdbc
Tags: blog, custom-menu, custom-logo, editor-style, translation-ready
*/

:root {
  --pdbc-paper: #faf7ec;
  --pdbc-paper-light: #fdfaf2;
  --pdbc-card: #fdfaf2;
  --pdbc-ink: #241f18;
  --pdbc-ink-soft: #3f5c3a;
  --pdbc-ink-muted: #6b6153;
  --pdbc-faint: #7a7060;
  /* faint enough for 1px rules; never use for type */
  --pdbc-hairline: #b3a894;
  --pdbc-rule: rgba(126, 104, 66, 0.26);
  --pdbc-cover-a: #456338;
  --pdbc-cover-b: #517245;
  --pdbc-cover-c: #263a20;
  --pdbc-ribbon: #5c7d52;
  --pdbc-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --pdbc-hand: 'Caveat', 'Segoe Script', cursive;
  --pdbc-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='pg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23pg)'/%3E%3C/svg%3E");
  --pdbc-fibre: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='pf'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.5' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23pf)' opacity='0.35'/%3E%3C/svg%3E");
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--pdbc-paper);
  color: var(--pdbc-ink);
  font-family: var(--pdbc-serif);
  font-size: 17px;
  line-height: 1.72;
  text-wrap: pretty;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed; inset: 0; z-index: 900; pointer-events: none;
  mix-blend-mode: multiply; opacity: 0.42;
  background-image: var(--pdbc-grain);
}
body::after {
  content: "";
  position: fixed; inset: 0; z-index: 899; pointer-events: none;
  mix-blend-mode: multiply; opacity: 0.4;
  background-image: var(--pdbc-fibre);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--pdbc-ink-soft); text-decoration: none; transition: color 400ms ease; }
a:hover, a:focus { color: var(--pdbc-ink); }
::selection { background: #d9c7a6; }
h1, h2, h3, h4 { font-weight: 300; line-height: 1.06; margin: 0 0 0.5em; letter-spacing: 0.01em; }
h1 { font-size: clamp(34px, 6vw, 70px); }
h2 { font-size: clamp(28px, 4.4vw, 50px); }
h3 { font-size: clamp(21px, 2.6vw, 30px); }
p { margin: 0 0 1.2em; }
blockquote { margin: 1.6em 0; padding-left: 22px; border-left: 1px solid var(--pdbc-rule); font-style: italic; color: var(--pdbc-ink-muted); }
.pdbc-hand { font-family: var(--pdbc-hand); }
.pdbc-eyebrow { font-size: 10.5px; letter-spacing: 0.34em; text-transform: uppercase; color: var(--pdbc-faint); }
.pdbc-wrap { max-width: 1140px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 56px); }
.pdbc-skip-link { position: absolute; left: -9999px; }
.pdbc-skip-link:focus { left: 12px; top: 12px; z-index: 999; background: var(--pdbc-ink); color: var(--pdbc-paper-light); padding: 10px 16px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* ---------- buttons ---------- */
.pdbc-btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--pdbc-ink); color: var(--pdbc-paper-light);
  font-size: 11.5px; letter-spacing: 0.26em; text-transform: uppercase;
  padding: 15px 28px; border: 1px solid var(--pdbc-ink); cursor: pointer;
  transition: background 400ms ease, color 400ms ease;
}
.pdbc-btn:hover { background: var(--pdbc-ink-soft); color: #fdf7ea; }
.pdbc-btn--ghost { background: transparent; color: var(--pdbc-ink-soft); border-color: rgba(107, 74, 48, 0.45); }
.pdbc-btn--ghost:hover { background: transparent; border-color: var(--pdbc-ink); color: var(--pdbc-ink); }
.pdbc-quiet {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 11.5px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--pdbc-ink-soft);
  background: none; border: 0; padding: 8px 2px; cursor: pointer; font-family: inherit;
}
.pdbc-quiet .pdbc-rule { display: inline-block; height: 1px; width: 18px; background: currentColor; transition: width 700ms cubic-bezier(0.22,0.61,0.36,1); }
.pdbc-quiet:hover { color: var(--pdbc-ink); }
.pdbc-quiet:hover .pdbc-rule { width: 46px; }

/* ---------- site header / footer ---------- */
.pdbc-header { position: relative; z-index: 20; }
.pdbc-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap; padding: 26px 0 22px; border-bottom: 1px solid var(--pdbc-rule); }
.pdbc-brand { display: flex; align-items: center; gap: 11px; }
/* the site name is one string, so the italic half is split off with a pseudo-element rule
   only when the theme's own two-part markup is used (see header.php) */

/* Wordmark, stacked. Side by side, the two halves plus the dash read as three separate
   pieces and forced one long line that crowded the nav on narrow screens. Stacked, the
   caps are unambiguously the masthead and the italic is its subtitle; the rule now sits
   in the flow beside the italic rather than being nudged onto an optical midline. */
.pdbc-brand__name { display: flex; flex-direction: column; gap: 0.12em; font-size: 15px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--pdbc-ink); white-space: nowrap; }
.pdbc-brand__name .pdbc-brand__tail { display: flex; align-items: center; gap: 0.5em; }
.pdbc-brand__name .pdbc-brand__rule { width: 1.6em; height: 1px; background: #a89c86;
  transition: width 420ms cubic-bezier(0.22,0.61,0.36,1), background 420ms ease; }
.pdbc-brand__name:hover .pdbc-brand__rule { width: 2.4em; background: var(--pdbc-cover-a); }
.pdbc-brand__name .pdbc-brand__italic { font-size: 14px; font-style: italic; letter-spacing: 0.02em;
  text-transform: none; color: var(--pdbc-ink-soft); }
@media (max-width: 520px) {
  .pdbc-brand__name { font-size: 13px; letter-spacing: 0.14em; }
  .pdbc-brand__name .pdbc-brand__italic { font-size: 12.5px; }
}
.pdbc-nav ul { display: flex; align-items: center; gap: clamp(14px, 2.2vw, 30px); flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
/* was #7b634a — a brown left over from the previous palette, so the nav did not match
   the green scheme the rest of the site moved to */
.pdbc-nav a { display: inline-flex; align-items: center; font-size: 11.5px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--pdbc-faint); transition: color 300ms ease; }
.pdbc-nav a:hover { color: var(--pdbc-ink); }
.pdbc-nav .current-menu-item > a { color: var(--pdbc-ink); border-bottom: 1px solid var(--pdbc-rule); }
.pdbc-nav-toggle { display: none; }

.pdbc-footer { margin-top: clamp(50px, 9vh, 96px); border-top: 1px solid var(--pdbc-rule); background: var(--pdbc-paper-light); }
.pdbc-footer__inner { display: grid; gap: 30px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); padding: clamp(34px, 6vh, 60px) 0; }
.pdbc-footer__note { font-family: var(--pdbc-hand); font-size: 21px; color: #8a6f52; }
.pdbc-social { display: flex; gap: 16px; flex-wrap: wrap; font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; }
.pdbc-footer__legal { border-top: 1px solid var(--pdbc-rule); padding: 18px 0 26px; font-size: 10.5px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--pdbc-faint); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

/* ---------- welcome (front page) ---------- */
.pdbc-welcome {
  position: fixed; inset: 0; z-index: 800; overflow: hidden;
  background: var(--pdbc-paper);
  transition: opacity 1500ms ease, visibility 1500ms ease;
}
.pdbc-welcome[data-stage="8"] { opacity: 0; visibility: hidden; }
.pdbc-welcome__glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(72% 58% at 50% 40%, rgba(255,250,240,0.7) 0%, rgba(255,250,240,0) 55%), radial-gradient(110% 80% at 50% 50%, rgba(0,0,0,0) 52%, rgba(84,58,32,0.17) 100%); }
.pdbc-welcome__frame { position: relative; height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; padding: clamp(20px, 3.4vh, 34px) clamp(18px, 5vw, 60px) clamp(20px, 3.4vh, 38px); transition: opacity 1100ms ease; }
.pdbc-welcome[data-stage="8"] .pdbc-welcome__frame { opacity: 0; }
.pdbc-welcome__kicker { text-align: center; font-size: clamp(9.5px, 1vw, 11px); letter-spacing: 0.42em; text-transform: uppercase; color: #96795b; }
.pdbc-welcome__main { min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(12px, 2vh, 24px); }
.pdbc-welcome__titles { text-align: center; display: flex; flex-direction: column; gap: clamp(8px, 1.4vh, 14px); transition: opacity 800ms ease; }
.pdbc-welcome__titles h1 { margin: 0; font-size: min(clamp(30px, 6.6vw, 74px), 8.6vh); letter-spacing: 0.13em; text-transform: uppercase; }
.pdbc-welcome__titles .pdbc-sub { font-style: italic; font-size: min(clamp(24px, 5vw, 56px), 6.6vh); line-height: 1; letter-spacing: 0.03em; color: var(--pdbc-ink-soft); }
.pdbc-welcome__invite { display: flex; flex-direction: column; align-items: center; text-align: center; gap: clamp(14px, 2.4vh, 26px); width: min(300px, 26vw); min-width: 176px; flex: 0 0 auto; transition: opacity 800ms ease; }
.pdbc-welcome__invite p { margin: 0; font-family: var(--pdbc-hand); font-size: min(clamp(19px, 2.2vw, 24px), 3.4vh); color: #7b634a; }
.pdbc-welcome[data-stage]:not([data-stage="0"]) .pdbc-welcome__titles,
.pdbc-welcome[data-stage]:not([data-stage="0"]) .pdbc-welcome__invite { opacity: 0; pointer-events: none; }
.pdbc-welcome__footer { text-align: center; font-size: 9.5px; letter-spacing: 0.34em; text-transform: uppercase; color: var(--pdbc-faint); transition: opacity 700ms ease; }
.pdbc-welcome:not([data-stage="0"]) .pdbc-welcome__footer { opacity: 0; }

.pdbc-welcome__skip {
  position: absolute; left: 50%; transform: translateX(-50%); z-index: 30;
  opacity: 0; pointer-events: none; transition: opacity 900ms ease;
}
.pdbc-welcome__skip { bottom: 22px; font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--pdbc-faint); background: none; border: 0; cursor: pointer; font-family: inherit; }
.pdbc-welcome[data-stage="1"] .pdbc-welcome__skip,
.pdbc-welcome[data-stage="2"] .pdbc-welcome__skip,
.pdbc-welcome[data-stage="3"] .pdbc-welcome__skip,
.pdbc-welcome[data-stage="4"] .pdbc-welcome__skip,
.pdbc-welcome[data-stage="5"] .pdbc-welcome__skip { opacity: 1; pointer-events: auto; }

/* ---------- the diary object ---------- */
.pdbc-stage { perspective: 1900px; perspective-origin: 50% 46%; display: grid; place-items: center; padding-bottom: var(--pdbc-ribbon-room, 34px); }
.pdbc-diary__box { position: relative; z-index: 1; display: grid; place-items: center; transform-style: preserve-3d; transition: transform 2600ms cubic-bezier(0.5,0.02,0.36,1), opacity 1900ms ease 700ms; }
.pdbc-diary {
  position: absolute; width: 292px; height: 402px; transform-style: preserve-3d;
  transform: rotateX(9deg) rotateZ(-1.2deg);
  transition: transform var(--pdbc-book-dur, 1900ms) cubic-bezier(0.32,0.02,0.24,1);
}
.pdbc-diary__shadow { position: relative; z-index: 0; margin-top: -6px; border-radius: 50%; background: radial-gradient(50% 50% at 50% 50%, rgba(70,44,20,0.32), rgba(70,44,20,0) 70%); filter: blur(7px); transition: opacity 1400ms ease, width 1900ms ease, filter 1900ms ease; }

.pdbc-ribbon { position: absolute; left: 48px; bottom: -50px; width: 23px; height: 132px; z-index: 2; transform-origin: top center; animation: pdbcRibbon 11s ease-in-out 2.5s infinite; transition: transform var(--pdbc-book-dur, 1900ms) cubic-bezier(0.3,0.1,0.2,1); }
.pdbc-ribbon s { position: absolute; left: 3px; right: -6px; top: 30px; bottom: -4px; background: rgba(38,18,6,0.34); filter: blur(5px); transform: skewX(-4deg); }
.pdbc-ribbon u { position: absolute; left: -3px; right: -3px; top: -9px; height: 17px; border-radius: 45% 45% 52% 52%; background: linear-gradient(90deg, #52200f, #8e4128 46%, #4a1b0c); box-shadow: 0 4px 7px -2px rgba(40,18,6,0.6), inset 0 -2px 3px -1px rgba(0,0,0,0.45); }
.pdbc-ribbon span { position: absolute; inset: 5px 0 34px; background: linear-gradient(97deg, #6b2a17 0%, #a4492c 22%, var(--pdbc-ribbon) 46%, #a2472b 70%, #5d2312 100%); box-shadow: 0 8px 16px -8px rgba(46,20,8,0.6), inset 0 7px 9px -7px rgba(0,0,0,0.5); }
.pdbc-ribbon b { position: absolute; left: 6px; top: 8px; bottom: 36px; width: 2.5px; background: linear-gradient(180deg, rgba(255,226,202,0.5), rgba(255,226,202,0.1) 62%, rgba(255,226,202,0)); }
.pdbc-ribbon i { position: absolute; left: 0; right: 0; bottom: 8px; height: 34px; transform: skewX(-3.5deg); transform-origin: top center; background: linear-gradient(97deg, #5f2313, #94402a 28%, #b85a37 50%, #8d3d26 74%, #501d0f 100%); clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 74%, 0 100%); }

.pdbc-diary__block { position: absolute; inset: 0; border-radius: 4px 12px 12px 4px; background: linear-gradient(104deg, #3c2418, #55321f 42%, #33200f); box-shadow: 0 46px 66px -30px rgba(48,28,12,0.55), 0 14px 26px -12px rgba(48,28,12,0.42); }
.pdbc-diary__edges { position: absolute; top: 6px; bottom: 6px; right: 2px; width: 9px; border-radius: 0 4px 4px 0; background: repeating-linear-gradient(180deg, #efe4cd 0 2px, #ddceb2 2px 3px); }

.pdbc-page--settled { position: absolute; z-index: 2; inset: 6px 8px 6px 10px; border-radius: 2px 8px 8px 2px; background: linear-gradient(100deg, #ded0b4 0%, #fdfaf2 11%, #fbf6ea 68%, #efe5cf 100%); overflow: hidden; }
.pdbc-page--settled .pdbc-page__body { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 44px 30px 34px 34px; gap: 18px; }
.pdbc-page__gutter { position: absolute; left: 0; top: 0; bottom: 0; width: 26px; background: linear-gradient(90deg, rgba(84,56,28,0.26), rgba(84,56,28,0)); }
.pdbc-page__date { font-family: var(--pdbc-hand); font-size: 15px; color: var(--pdbc-faint); opacity: 0; transition: opacity 900ms ease; }
.pdbc-page__quote { font-size: 21px; line-height: 1.42; color: #2c2015; opacity: 0; transform: translateY(10px); transition: opacity 1500ms ease, transform 1600ms cubic-bezier(0.22,0.61,0.36,1); }
.pdbc-page__enter { margin-top: auto; opacity: 0; transform: translateY(8px); transition: opacity 1200ms ease 400ms, transform 1300ms cubic-bezier(0.22,0.61,0.36,1) 400ms; }
.pdbc-page__enter a { display: inline-flex; align-items: center; gap: 11px; font-size: 12.5px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--pdbc-paper-light); background: var(--pdbc-cover-b); padding: 13px 20px; }
.pdbc-page__enter a:hover { background: var(--pdbc-ink); }
.pdbc-welcome[data-stage="6"] .pdbc-page__date,
.pdbc-welcome[data-stage="7"] .pdbc-page__date { opacity: 1; }
.pdbc-welcome[data-stage="6"] .pdbc-page__quote,
.pdbc-welcome[data-stage="7"] .pdbc-page__quote,
.pdbc-welcome[data-stage="6"] .pdbc-page__enter,
.pdbc-welcome[data-stage="7"] .pdbc-page__enter { opacity: 1; transform: translateY(0); }

.pdbc-leaf { position: absolute; inset: 5px 8px 5px 8px; transform-origin: left center; transform-style: preserve-3d; transition: transform var(--pdbc-leaf-dur, 1250ms) cubic-bezier(0.4,0.02,0.28,1); }
.pdbc-leaf:nth-of-type(1) { z-index: 3; }
.pdbc-leaf:nth-of-type(2) { z-index: 4; inset: 5px 9px 5px 8px; }
.pdbc-leaf:nth-of-type(3) { z-index: 5; inset: 4px 10px 4px 8px; }
/* the TOP sheet (3rd) turns first, the bottom sheet (1st) last */
.pdbc-welcome[data-stage="3"] .pdbc-leaf:nth-of-type(3),
.pdbc-welcome[data-stage="4"] .pdbc-leaf:nth-of-type(3),
.pdbc-welcome[data-stage="5"] .pdbc-leaf:nth-of-type(3),
.pdbc-welcome[data-stage="6"] .pdbc-leaf:nth-of-type(3),
.pdbc-welcome[data-stage="7"] .pdbc-leaf:nth-of-type(3) { z-index: 7; transform: translateZ(1.5px) rotateY(-176deg); }
.pdbc-welcome[data-stage="4"] .pdbc-leaf:nth-of-type(2),
.pdbc-welcome[data-stage="5"] .pdbc-leaf:nth-of-type(2),
.pdbc-welcome[data-stage="6"] .pdbc-leaf:nth-of-type(2),
.pdbc-welcome[data-stage="7"] .pdbc-leaf:nth-of-type(2) { z-index: 8; transform: translateZ(1px) rotateY(-174.4deg); }
.pdbc-welcome[data-stage="5"] .pdbc-leaf:nth-of-type(1),
.pdbc-welcome[data-stage="6"] .pdbc-leaf:nth-of-type(1),
.pdbc-welcome[data-stage="7"] .pdbc-leaf:nth-of-type(1) { z-index: 9; transform: translateZ(0.5px) rotateY(-172.8deg); }
.pdbc-leaf__front, .pdbc-leaf__back { position: absolute; inset: 0; backface-visibility: hidden; overflow: hidden; }
.pdbc-leaf__front { border-radius: 2px 7px 7px 2px; background: linear-gradient(100deg, #dbcbad, #fdfaf2 13%, #f7f0e0); box-shadow: 2px 0 12px rgba(66,42,18,0.1); }
.pdbc-leaf__back { transform: rotateY(180deg); border-radius: 7px 2px 2px 7px; background: linear-gradient(260deg, #dbcbad, #f8f2e3 15%, #f5eede); }
.pdbc-leaf__verso { position: absolute; inset: 44px 34px 38px 30px; display: flex; flex-direction: column; gap: 14px; }
.pdbc-leaf__verso .hand { font-family: var(--pdbc-hand); font-size: 19px; line-height: 1.45; color: #4a6b45; }
.pdbc-leaf__verso .r { height: 1px; background: #cbb691; opacity: 0.42; }
.pdbc-leaf__verso .r--s { width: 76%; }
.pdbc-leaf__verso .sign { margin-top: auto; font-family: var(--pdbc-hand); font-size: 16px; color: #8c8270; transform: rotate(-1deg); }
.pdbc-leaf__back .gut { position: absolute; right: 0; top: 0; bottom: 0; width: 24px; background: linear-gradient(270deg, rgba(84,56,28,0.24), rgba(84,56,28,0)); }
.pdbc-leaf__marks { position: absolute; inset: 42px 28px 36px 32px; display: flex; flex-direction: column; gap: 13px; }
.pdbc-leaf__marks .r { height: 1px; background: #cbb691; opacity: 0.48; }
.pdbc-leaf__marks .r--s { width: 78%; }
.pdbc-leaf__marks .r--xs { width: 62%; }
.pdbc-leaf__marks .note { font-family: var(--pdbc-hand); font-size: 15px; color: #8e7357; }
.pdbc-leaf__marks .note--underlined { align-self: flex-start; border-bottom: 1px solid rgba(150,60,40,0.35); color: #4a6b45; }
.pdbc-ring { position: absolute; right: 22px; bottom: 34px; width: 54px; height: 54px; border-radius: 50%; border: 5px solid rgba(150,104,54,0.16); box-shadow: inset 0 0 8px rgba(150,104,54,0.1); }
.pdbc-pressed { display: flex; align-items: flex-end; gap: 8px; margin-top: auto; }
.pdbc-pressed i { display: block; background: #9a7f5c; opacity: 0.3; }
.pdbc-pressed i:nth-child(1) { width: 4px; height: 26px; border-radius: 2px; opacity: 0.34; }
.pdbc-pressed i:nth-child(2) { width: 9px; height: 9px; border-radius: 50% 50% 50% 0; }
.pdbc-pressed i:nth-child(3) { width: 9px; height: 9px; border-radius: 50% 0 50% 50%; transform: translateY(-6px); opacity: 0.26; }
.pdbc-pressed i:nth-child(4) { width: 7px; height: 7px; border-radius: 50%; transform: translateY(-13px); }

.pdbc-cover { position: absolute; inset: 0; transform-origin: left center; transform-style: preserve-3d; z-index: 6; transition: transform var(--pdbc-cover-dur, 2200ms) cubic-bezier(0.34,0.02,0.22,1); }
.pdbc-cover__face { position: absolute; inset: 0; transform: translateZ(3px); backface-visibility: hidden; -webkit-backface-visibility: hidden; visibility: visible; transition: visibility 0s linear 0ms; border-radius: 5px 13px 13px 5px; overflow: hidden; background: radial-gradient(120% 80% at 62% 26%, rgba(255,226,186,0.16), rgba(255,226,186,0) 58%), linear-gradient(116deg, #5b3a25 0%, var(--pdbc-cover-b) 30%, #6d442c 58%, var(--pdbc-cover-c) 100%); box-shadow: inset 0 0 0 1px rgba(255,228,196,0.12), inset -20px 0 38px -26px rgba(0,0,0,0.55), 0 30px 46px -26px rgba(45,26,12,0.5); }
.pdbc-cover__wear { position: absolute; inset: 0; opacity: 0.5; background: radial-gradient(60% 40% at 100% 0%, rgba(0,0,0,0.32), rgba(0,0,0,0) 60%), radial-gradient(50% 34% at 96% 100%, rgba(0,0,0,0.3), rgba(0,0,0,0) 62%), radial-gradient(40% 28% at 4% 4%, rgba(255,228,196,0.14), rgba(255,228,196,0) 60%); }
.pdbc-cover__board { position: absolute; inset: 0; transform: translateZ(1.5px); visibility: visible; transition: visibility 0s linear 0ms; border-radius: 5px 13px 13px 5px; background: #2e1d11; }
.pdbc-cover__verso { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; visibility: hidden; transition: visibility 0s linear 0ms; transform: rotateY(180deg); border-radius: 13px 5px 5px 13px; background: linear-gradient(255deg, var(--pdbc-cover-c), var(--pdbc-cover-a) 24%, #517245); box-shadow: 0 26px 40px -24px rgba(26,38,22,0.48); }
.pdbc-cover__endpaper { position: absolute; inset: 6px 10px 6px 8px; border-radius: 8px 2px 2px 8px; background: linear-gradient(255deg, #e8e0cb, #fdfaf2 17%, #f5efdf); box-shadow: inset 0 0 0 1px rgba(80,94,64,0.18); }
/* halfway face swap — backface-visibility alone is unreliable in this 3D stack */
.pdbc-welcome:not([data-stage="0"]):not([data-stage="1"]) .pdbc-cover__face,
.pdbc-welcome:not([data-stage="0"]):not([data-stage="1"]) .pdbc-cover__board { visibility: hidden; transition-delay: var(--pdbc-cover-swap, 1100ms); }
.pdbc-welcome:not([data-stage="0"]):not([data-stage="1"]) .pdbc-cover__verso { visibility: visible; transition-delay: var(--pdbc-cover-swap, 1100ms); }
.pdbc-leaf__front { visibility: visible; transition: visibility 0s linear 0ms; }
.pdbc-leaf__back { visibility: hidden; transition: visibility 0s linear 0ms; }
.pdbc-welcome[data-stage="5"] .pdbc-leaf:nth-of-type(1) .pdbc-leaf__front,
.pdbc-welcome[data-stage="6"] .pdbc-leaf:nth-of-type(1) .pdbc-leaf__front,
.pdbc-welcome[data-stage="7"] .pdbc-leaf:nth-of-type(1) .pdbc-leaf__front,
.pdbc-welcome[data-stage="4"] .pdbc-leaf:nth-of-type(2) .pdbc-leaf__front,
.pdbc-welcome[data-stage="5"] .pdbc-leaf:nth-of-type(2) .pdbc-leaf__front,
.pdbc-welcome[data-stage="6"] .pdbc-leaf:nth-of-type(2) .pdbc-leaf__front,
.pdbc-welcome[data-stage="7"] .pdbc-leaf:nth-of-type(2) .pdbc-leaf__front,
.pdbc-welcome[data-stage="3"] .pdbc-leaf:nth-of-type(3) .pdbc-leaf__front,
.pdbc-welcome[data-stage="4"] .pdbc-leaf:nth-of-type(3) .pdbc-leaf__front,
.pdbc-welcome[data-stage="5"] .pdbc-leaf:nth-of-type(3) .pdbc-leaf__front,
.pdbc-welcome[data-stage="6"] .pdbc-leaf:nth-of-type(3) .pdbc-leaf__front,
.pdbc-welcome[data-stage="7"] .pdbc-leaf:nth-of-type(3) .pdbc-leaf__front { visibility: hidden; transition-delay: var(--pdbc-leaf-swap, 620ms); }
.pdbc-welcome[data-stage="5"] .pdbc-leaf:nth-of-type(1) .pdbc-leaf__back,
.pdbc-welcome[data-stage="6"] .pdbc-leaf:nth-of-type(1) .pdbc-leaf__back,
.pdbc-welcome[data-stage="7"] .pdbc-leaf:nth-of-type(1) .pdbc-leaf__back,
.pdbc-welcome[data-stage="4"] .pdbc-leaf:nth-of-type(2) .pdbc-leaf__back,
.pdbc-welcome[data-stage="5"] .pdbc-leaf:nth-of-type(2) .pdbc-leaf__back,
.pdbc-welcome[data-stage="6"] .pdbc-leaf:nth-of-type(2) .pdbc-leaf__back,
.pdbc-welcome[data-stage="7"] .pdbc-leaf:nth-of-type(2) .pdbc-leaf__back,
.pdbc-welcome[data-stage="3"] .pdbc-leaf:nth-of-type(3) .pdbc-leaf__back,
.pdbc-welcome[data-stage="4"] .pdbc-leaf:nth-of-type(3) .pdbc-leaf__back,
.pdbc-welcome[data-stage="5"] .pdbc-leaf:nth-of-type(3) .pdbc-leaf__back,
.pdbc-welcome[data-stage="6"] .pdbc-leaf:nth-of-type(3) .pdbc-leaf__back,
.pdbc-welcome[data-stage="7"] .pdbc-leaf:nth-of-type(3) .pdbc-leaf__back { visibility: visible; transition-delay: var(--pdbc-leaf-swap, 620ms); }
.pdbc-cover__patina { position: absolute; inset: 0; pointer-events: none; opacity: 0.6; background: radial-gradient(22% 15% at 88% 12%, rgba(196,206,178,0.3), rgba(196,206,178,0) 70%), radial-gradient(18% 12% at 12% 88%, rgba(190,200,172,0.26), rgba(190,200,172,0) 72%), radial-gradient(30% 20% at 50% 96%, rgba(184,196,168,0.18), rgba(184,196,168,0) 74%), radial-gradient(26% 34% at 96% 52%, rgba(178,190,162,0.22), rgba(178,190,162,0) 70%); }
.pdbc-cover__blotch { position: absolute; inset: 0; pointer-events: none; opacity: 0.34; background: radial-gradient(38% 26% at 24% 34%, rgba(20,32,24,0.5), rgba(20,32,24,0) 68%), radial-gradient(30% 40% at 74% 72%, rgba(18,30,22,0.42), rgba(18,30,22,0) 70%), radial-gradient(20% 16% at 62% 20%, rgba(24,36,28,0.36), rgba(24,36,28,0) 72%); }
.pdbc-cover__lip { position: absolute; inset: 0; pointer-events: none; border-radius: 5px 13px 13px 5px; box-shadow: inset 0 0 0 1px rgba(214,224,198,0.14), inset -2px -3px 5px -3px rgba(220,230,204,0.3), inset 2px 3px 6px -3px rgba(16,26,20,0.5); }
.pdbc-cover__foreedge { position: absolute; right: -1px; top: 8%; bottom: 8%; width: 3px; pointer-events: none; opacity: 0.5; background: repeating-linear-gradient(180deg, rgba(206,216,190,0.5) 0 3px, rgba(206,216,190,0) 3px 11px, rgba(206,216,190,0.34) 11px 14px, rgba(206,216,190,0) 14px 26px); }
.pdbc-cover__ring { position: absolute; left: 34px; top: 46px; width: 62px; height: 62px; pointer-events: none; opacity: 0.15; border-radius: 50%; border: 3px solid rgba(150,132,88,0.7); }
.pdbc-cover__grain { position: absolute; inset: 0; opacity: 0.32; mix-blend-mode: overlay; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='cl'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23cl)'/%3E%3C/svg%3E"); }
.pdbc-cover__emboss { position: absolute; inset: 20px 18px 20px 24px; border-radius: 2px 6px 6px 2px; border: 1px solid rgba(38,20,8,0.45); box-shadow: inset 0 1px 1px rgba(0,0,0,0.4), 0 1px 0 rgba(246,222,182,0.16); }
.pdbc-cover__stitch { position: absolute; inset: 26px 24px 26px 30px; border-radius: 2px 5px 5px 2px; border: 1px dashed rgba(246,222,182,0.16); }
.pdbc-cover__mark { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 17px; padding: 50px 34px; }
.pdbc-cover__monogram { position: relative; width: 66px; height: 66px; display: grid; place-items: center; border-radius: 50%; border: 1.5px solid rgba(228,196,116,0.9); box-shadow: inset 0 2px 3px -1px rgba(0,0,0,0.6), inset 0 -2px 2px -1px rgba(255,236,186,0.28), 0 1px 0 rgba(255,238,192,0.16), 0 -1px 1px rgba(0,0,0,0.4); font-family: var(--pdbc-serif); font-weight: 500; font-size: 13.5px; letter-spacing: 0.3em; text-indent: 0.3em; color: #edd08a; text-shadow: 0 -1px 0 rgba(0,0,0,0.62), 0 1px 0 rgba(255,240,200,0.3), 0 0 6px rgba(224,186,104,0.28); }
.pdbc-cover__rule { width: 34px; height: 2px; border-radius: 1px; background: linear-gradient(90deg, rgba(228,196,116,0), rgba(233,204,132,0.9) 50%, rgba(228,196,116,0)); box-shadow: 0 -1px 0 rgba(0,0,0,0.45), 0 1px 0 rgba(255,240,200,0.18); }
.pdbc-cover__since { font-family: var(--pdbc-serif); font-weight: 500; font-size: 10.5px; letter-spacing: 0.4em; text-indent: 0.4em; text-transform: uppercase; font-variant-numeric: lining-nums tabular-nums; font-feature-settings: 'lnum' 1, 'tnum' 1; color: #e6c684; text-shadow: 0 -1px 0 rgba(0,0,0,0.55), 0 1px 0 rgba(255,240,200,0.24); }
.pdbc-cover__spine { position: absolute; left: 0; top: 0; bottom: 0; width: 17px; background: linear-gradient(90deg, rgba(0,0,0,0.44), rgba(0,0,0,0)); }
.pdbc-cover__sheen { position: absolute; top: -30%; bottom: -30%; left: 5%; width: 70%; pointer-events: none; filter: blur(18px); background: linear-gradient(100deg, rgba(236,226,196,0) 0%, rgba(236,226,196,0.09) 42%, rgba(240,232,204,0.13) 50%, rgba(236,226,196,0.09) 58%, rgba(236,226,196,0) 100%); animation: pdbcSheen 13s ease-in-out 3.5s infinite; }
.pdbc-cover__verso .pdbc-verso__body { position: absolute; inset: 0; padding: 46px 32px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; }
.pdbc-cover__verso .pdbc-verso__hand { font-family: var(--pdbc-hand); font-size: 24px; color: var(--pdbc-ink-soft); transform: rotate(-1.4deg); }
.pdbc-cover__verso .pdbc-verso__line { font-size: 12.5px; line-height: 1.62; font-style: italic; color: #7b634a; }

/* stage-driven motion */
.pdbc-welcome:not([data-stage="0"]) .pdbc-ribbon { animation: none; transform: translateY(14px) translateX(-4px) rotate(2deg); }
.pdbc-welcome:not([data-stage="0"]):not([data-stage="1"]) .pdbc-ribbon { z-index: 1; transform: translateX(calc(6px - var(--pdbc-open-shift, 132px))) translateY(14px) rotate(2deg); }
.pdbc-welcome:not([data-stage="0"]) .pdbc-cover__sheen { animation: none; opacity: 0; }
.pdbc-welcome[data-stage="0"] .pdbc-diary.is-hover { transform: translateY(-6px) rotateX(9deg) rotateZ(-1.2deg) scale(1.012); }
.pdbc-welcome[data-stage="1"] .pdbc-diary { transform: translateY(-34px) rotateX(5deg) rotateZ(-0.5deg) scale(1.04); }
.pdbc-welcome[data-stage="2"] .pdbc-diary,
.pdbc-welcome[data-stage="3"] .pdbc-diary,
.pdbc-welcome[data-stage="4"] .pdbc-diary,
.pdbc-welcome[data-stage="5"] .pdbc-diary,
.pdbc-welcome[data-stage="6"] .pdbc-diary,
.pdbc-welcome[data-stage="7"] .pdbc-diary { transform: translateX(var(--pdbc-open-shift, 132px)) translateY(-6px) rotateX(3deg) scale(0.9); }
.pdbc-welcome:not([data-stage="0"]):not([data-stage="1"]) .pdbc-cover { transform: rotateY(-174deg); }
.pdbc-welcome:not([data-stage="0"]):not([data-stage="1"]) .pdbc-diary__box { transform: translateX(calc(var(--pdbc-open-shift, 132px) / -2)); }
.pdbc-welcome[data-stage="7"] .pdbc-diary__box { transform: translateX(calc(var(--pdbc-open-shift, 132px) / -2)) scale(3.1) translateY(1%); }
.pdbc-welcome[data-stage="8"] .pdbc-diary__box { transform: translateX(calc(var(--pdbc-open-shift, 132px) / -2)) scale(3.1) translateY(1%); opacity: 0; }
.pdbc-welcome:not([data-stage="0"]) .pdbc-diary__shadow { opacity: 0.42; filter: blur(14px); }
.pdbc-welcome[data-stage="7"] .pdbc-diary__shadow,
.pdbc-welcome[data-stage="8"] .pdbc-diary__shadow { opacity: 0; }

@keyframes pdbcRibbon { 0%,72%,100% { transform: rotate(0deg) skewX(0deg) } 80% { transform: rotate(1.6deg) skewX(-1.4deg) } 88% { transform: rotate(-0.9deg) skewX(0.8deg) } }
@keyframes pdbcSheen { 0%,58% { opacity: 0; transform: translateX(-62%) } 70% { opacity: 0.5 } 86%,100% { opacity: 0; transform: translateX(62%) } }
@keyframes pdbcRise { from { opacity: 0; transform: translateY(16px) } to { opacity: 1; transform: none } }

/* vertical page turns on small screens */
@media (max-width: 700px) {
  .pdbc-leaf, .pdbc-cover { transform-origin: center top; }
  .pdbc-leaf__back, .pdbc-cover__verso { transform: rotateX(180deg); }
  .pdbc-welcome:not([data-stage="0"]):not([data-stage="1"]) .pdbc-cover { transform: rotateX(174deg); }
  .pdbc-welcome[data-stage="3"] .pdbc-leaf:nth-of-type(3),
  .pdbc-welcome[data-stage="4"] .pdbc-leaf:nth-of-type(3),
  .pdbc-welcome[data-stage="5"] .pdbc-leaf:nth-of-type(3),
  .pdbc-welcome[data-stage="6"] .pdbc-leaf:nth-of-type(3),
  .pdbc-welcome[data-stage="7"] .pdbc-leaf:nth-of-type(3) { z-index: 7; transform: translateZ(1.5px) rotateX(176deg); }
  .pdbc-welcome[data-stage="4"] .pdbc-leaf:nth-of-type(2),
  .pdbc-welcome[data-stage="5"] .pdbc-leaf:nth-of-type(2),
  .pdbc-welcome[data-stage="6"] .pdbc-leaf:nth-of-type(2),
  .pdbc-welcome[data-stage="7"] .pdbc-leaf:nth-of-type(2) { z-index: 8; transform: translateZ(1px) rotateX(174.4deg); }
  .pdbc-welcome[data-stage="5"] .pdbc-leaf:nth-of-type(1),
  .pdbc-welcome[data-stage="6"] .pdbc-leaf:nth-of-type(1),
  .pdbc-welcome[data-stage="7"] .pdbc-leaf:nth-of-type(1) { z-index: 9; transform: translateZ(0.5px) rotateX(172.8deg); }
  .pdbc-welcome[data-stage="2"] .pdbc-diary,
  .pdbc-welcome[data-stage="3"] .pdbc-diary,
  .pdbc-welcome[data-stage="4"] .pdbc-diary,
  .pdbc-welcome[data-stage="5"] .pdbc-diary,
  .pdbc-welcome[data-stage="6"] .pdbc-diary,
  .pdbc-welcome[data-stage="7"] .pdbc-diary { transform: translateY(var(--pdbc-open-drop, 168px)) rotateX(2deg); }
  .pdbc-welcome[data-stage="7"] .pdbc-diary__box,
  .pdbc-welcome[data-stage="8"] .pdbc-diary__box { transform: scale(3.4) translateY(-4%); }
}

/* side-by-side composition — applied by welcome.js only when the diary actually fits */
.pdbc-welcome.is-row .pdbc-welcome__main { flex-direction: row; gap: clamp(30px, 5vw, 74px); }
.pdbc-welcome.is-row .pdbc-welcome__titles { text-align: left; }
.pdbc-welcome.is-row .pdbc-welcome__invite { align-items: flex-start; text-align: left; }

/* ---------- home sections ---------- */
.pdbc-section { padding: clamp(40px, 8vh, 92px) 0; }
.pdbc-section--tight { padding: clamp(28px, 5vh, 56px) 0; }
.pdbc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 30px; }
.pdbc-intro { display: grid; gap: 22px; max-width: 760px; }
.pdbc-intro h1, .pdbc-intro h2 { margin: 0; }
.pdbc-intro__actions { display: flex; gap: 14px; flex-wrap: wrap; padding-top: 4px; }
.pdbc-lines { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1px; background: var(--pdbc-rule); border-top: 1px solid var(--pdbc-rule); border-bottom: 1px solid var(--pdbc-rule); }
.pdbc-lines__cell { background: var(--pdbc-paper-light); padding: 26px 22px; display: flex; flex-direction: column; gap: 8px; }
.pdbc-lines__cell p { margin: 0; font-size: 17px; line-height: 1.45; font-style: italic; color: var(--pdbc-ink-soft); }
.pdbc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.pdbc-card { display: flex; flex-direction: column; gap: 11px; padding: 24px 22px 28px; background: var(--pdbc-card); border: 1px solid var(--pdbc-rule); transition: transform 420ms cubic-bezier(0.22,0.61,0.36,1), box-shadow 420ms ease; }
.pdbc-card:hover { transform: translateY(-4px); box-shadow: 0 18px 32px -20px rgba(70,44,20,0.4); }
.pdbc-card__title { font-size: 22px; line-height: 1.2; }
.pdbc-card__excerpt { font-size: 14.5px; line-height: 1.62; font-style: italic; color: #7b634a; }
.pdbc-card__media { margin: -24px -22px 6px; border-bottom: 1px solid var(--pdbc-rule); }
.pdbc-card__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(0.86) sepia(0.06); }
.pdbc-meta { font-size: 10.5px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--pdbc-faint); }
.pdbc-empty { padding: 26px 0; font-style: italic; color: var(--pdbc-ink-muted); }

/* ---------- content pages ---------- */
.pdbc-page-header { padding: clamp(40px, 8vh, 88px) 0 clamp(20px, 4vh, 38px); display: grid; gap: 16px; max-width: 820px; }
.pdbc-entry { max-width: 720px; padding-bottom: clamp(30px, 6vh, 60px); }
.pdbc-entry > * + * { margin-top: 1.1em; }
.pdbc-entry h2, .pdbc-entry h3 { margin-top: 1.8em; }
.pdbc-entry img, .pdbc-entry .wp-block-image { margin: 1.8em 0; }
.pdbc-entry ul, .pdbc-entry ol { padding-left: 22px; }
.pdbc-entry li { margin-bottom: 0.5em; }
.pdbc-featured { margin-bottom: clamp(20px, 4vh, 40px); border: 1px solid var(--pdbc-rule); }
.pdbc-featured img { width: 100%; max-height: 62vh; object-fit: cover; filter: saturate(0.86) sepia(0.06); }
.pdbc-pagination { display: flex; gap: 14px; flex-wrap: wrap; padding: 30px 0; font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; }
.pdbc-pagination .page-numbers { padding: 8px 12px; border: 1px solid var(--pdbc-rule); }
.pdbc-pagination .current { background: var(--pdbc-ink); color: var(--pdbc-paper-light); border-color: var(--pdbc-ink); }
.pdbc-detail-list { display: grid; gap: 1px; background: var(--pdbc-rule); border: 1px solid var(--pdbc-rule); margin: 24px 0; }
.pdbc-detail-list div { background: var(--pdbc-paper-light); padding: 14px 18px; display: flex; justify-content: space-between; gap: 16px; font-size: 14px; }
.pdbc-detail-list dt, .pdbc-detail-list .k { font-size: 10.5px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--pdbc-faint); }

.pdbc-filters { display: flex; gap: 12px; flex-wrap: wrap; padding-bottom: 26px; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; }
.pdbc-filters a { padding: 8px 14px; border: 1px solid var(--pdbc-rule); }
.pdbc-filters a.is-active { background: var(--pdbc-ink); color: var(--pdbc-paper-light); border-color: var(--pdbc-ink); }

@media (max-width: 782px) {
  body { font-size: 16px; }
  .pdbc-nav { width: 100%; }
  .pdbc-nav ul { display: none; flex-direction: column; align-items: flex-start; gap: 2px; padding-top: 10px; }
  .pdbc-nav.is-open ul { display: flex; }
  /* "Close the diary" sits beside the list, not inside it, so it stayed visible next to
     the Menu button while the menu was collapsed. Scoped to :not(.is-open) so it beats
     the later unconditional .pdbc-nav__close rule on specificity, not source order. */
  .pdbc-nav:not(.is-open) .pdbc-nav__close { display: none; }
  .pdbc-nav-toggle { display: inline-flex; background: none; border: 0; padding: 8px 0; font-family: inherit; font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; color: #7b634a; cursor: pointer; }
  .pdbc-header__inner { padding: 18px 0 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .pdbc-ribbon, .pdbc-cover__sheen { animation: none !important; }
  .pdbc-diary, .pdbc-cover, .pdbc-leaf, .pdbc-diary__box, .pdbc-welcome { transition-duration: 1ms !important; }
}

/* ---------- editorial page furniture ---------- */
.pdbc-lede { font-size: clamp(17px, 1.6vw, 21px); line-height: 1.62; font-style: italic; color: var(--pdbc-ink-muted); max-width: 620px; margin: 0; }
.pdbc-split { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(240px, 0.85fr); gap: clamp(26px, 4vw, 60px); align-items: start; padding-bottom: clamp(20px, 4vh, 40px); }
.pdbc-aside { position: sticky; top: 26px; display: grid; gap: 16px; padding: 24px 22px 26px; background: var(--pdbc-card); border: 1px solid var(--pdbc-rule); }
.pdbc-aside .pdbc-detail-list { margin: 0; }
.pdbc-aside__note { font-family: var(--pdbc-hand); font-size: 20px; line-height: 1.4; color: var(--pdbc-ink-muted); margin: 0; }
.pdbc-aside .pdbc-btn { justify-content: center; }

/* ---------- contact ---------- */
.pdbc-contact { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(250px, 0.9fr); gap: clamp(26px, 4vw, 62px); align-items: start; padding-bottom: clamp(30px, 6vh, 60px); }
.pdbc-contact__aside { display: grid; gap: 16px; padding: 24px 22px 26px; background: var(--pdbc-card); border: 1px solid var(--pdbc-rule); }
.pdbc-contact__aside .pdbc-detail-list { margin: 0; }
.pdbc-contact__note { font-size: 20px; line-height: 1.4; color: var(--pdbc-ink-muted); margin: 0; }
.pdbc-form { display: grid; gap: 18px; max-width: 620px; }
.pdbc-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.pdbc-form__hp { position: absolute; left: -9999px; }
.pdbc-field { display: grid; gap: 7px; }
.pdbc-field > span { font-size: 10.5px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--pdbc-faint); }
.pdbc-field input, .pdbc-field select, .pdbc-field textarea {
  font-family: var(--pdbc-serif); font-size: 17px; color: var(--pdbc-ink);
  background: var(--pdbc-paper-light); border: 1px solid var(--pdbc-rule); border-radius: 0;
  padding: 13px 14px; width: 100%; transition: border-color 300ms ease, background 300ms ease;
}
.pdbc-field textarea { resize: vertical; line-height: 1.6; }
.pdbc-field input:focus, .pdbc-field select:focus, .pdbc-field textarea:focus { outline: none; border-color: var(--pdbc-ink-soft); background: #fff; }
.pdbc-form .pdbc-btn { justify-self: start; }
.pdbc-notice { padding: 14px 16px; border: 1px solid var(--pdbc-rule); background: var(--pdbc-card); font-style: italic; color: var(--pdbc-ink-muted); margin-bottom: 22px; }
.pdbc-notice--good { border-color: var(--pdbc-ink-soft); color: var(--pdbc-ink); }

@media (max-width: 860px) {
  .pdbc-split, .pdbc-contact { grid-template-columns: 1fr; }
  .pdbc-aside { position: static; }
  .pdbc-form__row { grid-template-columns: 1fr; }
}

/* the left-hand page is never blank as pages turn */
.pdbc-leaf__back { overflow: hidden; }
.pdbc-leaf__note { position: absolute; inset: 46px 34px 40px 30px; display: flex; flex-direction: column; gap: 13px; }
.pdbc-leaf__note .r { height: 1px; background: #dcd3bd; opacity: 0.4; }
.pdbc-leaf__note .r--s { width: 78%; }
.pdbc-leaf__note .r--xs { width: 66%; }
.pdbc-leaf__note .hand { font-family: var(--pdbc-hand); font-size: 16px; color: #7a7060; }
.pdbc-leaf__note .sign { margin-top: auto; font-family: var(--pdbc-hand); font-size: 15px; color: #a79c88; }

/* the title recedes once the diary opens */
.pdbc-welcome__titles { transition: opacity 1200ms ease, transform 1400ms cubic-bezier(0.22,0.61,0.36,1); }
.pdbc-welcome[data-stage="1"] .pdbc-welcome__titles { opacity: 0.3; transform: translateY(-10px); pointer-events: none; }
.pdbc-welcome:not([data-stage="0"]):not([data-stage="1"]) .pdbc-welcome__titles { opacity: 0; transform: translateY(-10px); pointer-events: none; }

/* the stage owns the leftover height; CSS distributes it, JS only reads it */
.pdbc-stage { flex: 1 1 0%; align-self: stretch; min-height: 0; min-width: 0; overflow: hidden; padding-bottom: 0; }
.pdbc-diary { transition: transform var(--pdbc-book-dur, 1900ms) cubic-bezier(0.32,0.02,0.24,1); }

.pdbc-welcome:not([data-stage="0"]):not([data-stage="1"]) .pdbc-diary { scale: var(--pdbc-open, 1) !important; }

/* the open spread sits offset from the box centre — anchor the final zoom to it */
.pdbc-welcome[data-stage="7"] .pdbc-diary__box,
.pdbc-welcome[data-stage="8"] .pdbc-diary__box { transform-origin: calc(50% + var(--pdbc-open-shift, 132px)) 50%; }
@media (max-width: 699px) {
  .pdbc-welcome[data-stage="7"] .pdbc-diary__box,
  .pdbc-welcome[data-stage="8"] .pdbc-diary__box { transform-origin: 50% calc(50% + var(--pdbc-open-drop, 168px)); }
}
.pdbc-welcome { --pdbc-open-origin: 1; }

/* ---------- plugin surfaces ---------- */
/* Forms from Contact Form 7, WPForms, MC4WP and Woo inherit the theme's paper look. */
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea, .wpcf7 select,
.wpforms-field input, .wpforms-field textarea, .wpforms-field select,
.mc4wp-form input[type="email"], .mc4wp-form input[type="text"],
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
  width: 100%; padding: 13px 15px; font-family: var(--pdbc-serif); font-size: 16px; color: var(--pdbc-ink);
  background: #fdf8ee; border: 1px solid rgba(90,110,76,0.34); border-radius: 0; box-shadow: none;
  transition: border-color 320ms ease;
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpforms-field input:focus, .wpforms-field textarea:focus,
.woocommerce form .form-row input.input-text:focus { outline: none; border-color: var(--pdbc-cover-a); }
.wpcf7 label, .wpforms-field-label { font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--pdbc-faint); }
.wpcf7 input[type="submit"], .wpforms-submit, .mc4wp-form input[type="submit"],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  font-family: var(--pdbc-serif); font-size: 11.5px; letter-spacing: 0.26em; text-transform: uppercase;
  padding: 15px 28px; border: 0; border-radius: 0; cursor: pointer;
  background: var(--pdbc-ink); color: var(--pdbc-paper); transition: background 400ms ease;
}
.wpcf7 input[type="submit"]:hover, .wpforms-submit:hover, .woocommerce a.button:hover,
.woocommerce button.button:hover, .woocommerce #respond input#submit:hover { background: var(--pdbc-cover-a); }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .wpcf7 form .wpcf7-response-output {
  border: 1px solid rgba(90,110,76,0.34); border-left-width: 1px; background: #fdf8ee; color: var(--pdbc-ink);
  border-radius: 0; margin: 0 0 22px; padding: 14px 18px;
}
.woocommerce ul.products li.product .price, .woocommerce div.product p.price { color: var(--pdbc-cover-a); font-size: 20px; }
.woocommerce ul.products li.product h2 { font-family: var(--pdbc-serif); font-weight: 300; }
.pdbc-main--shop { padding: clamp(30px, 6vh, 64px) 0 80px; }

/* breadcrumbs from Yoast / Rank Math */
.pdbc-crumbs { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--pdbc-faint); padding-bottom: 20px; }
.pdbc-crumbs a { color: var(--pdbc-faint); border-bottom: 1px solid rgba(90,110,76,0.3); }
.pdbc-crumbs a:hover { color: var(--pdbc-ink); }

/* widget areas */
.pdbc-widget { margin-bottom: 34px; }
.pdbc-widget__title { margin: 0 0 12px; font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--pdbc-faint); font-weight: 400; }
.pdbc-widget ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.pdbc-widget ul li a { font-size: 15px; color: var(--pdbc-ink); }

/* builders own their canvas */
.pdbc-has-builder .pdbc-main > .pdbc-shell { max-width: none; padding-left: 0; padding-right: 0; }

@media (max-width: 480px) {
  .pdbc-welcome__frame { padding-left: 16px; padding-right: 16px; }
  .pdbc-welcome__titles h1 { font-size: min(7.4vw, 30px); letter-spacing: 0.06em; }
  .pdbc-welcome__titles .pdbc-sub { font-size: min(5.4vw, 23px); }
  .pdbc-welcome__kicker { font-size: 8px; letter-spacing: 0.3em; }
  .pdbc-welcome__invite p { font-size: 17px; }
  .pdbc-quiet { font-size: 10.5px; letter-spacing: 0.26em; min-height: 44px; }
  .pdbc-welcome__skip { min-height: 44px; }
}
@media (max-width: 380px) {
  .pdbc-welcome__titles h1 { letter-spacing: 0.03em; }
}
/* tap targets stay thumb-sized on touch devices */
@media (hover: none) {
  .pdbc-nav a, .pdbc-filters a, .pdbc-card a { min-height: 44px; display: inline-flex; align-items: center; }
}
/* landscape phones: the diary must not exceed the short axis */
@media (max-height: 480px) and (orientation: landscape) {
  .pdbc-welcome__kicker, .pdbc-welcome__footer { display: none; }
}

/* the welcome holds its first paint until fonts settle */
.pdbc-welcome { opacity: 0; transition: opacity 700ms ease; }
.pdbc-welcome.is-ready { opacity: 1; }
.pdbc-welcome[data-stage="8"] { opacity: 0; pointer-events: none; }

/* real visible height on phones, not the address-bar lie */
.pdbc-welcome { height: 100vh; height: 100dvh; height: var(--pdbc-vh, 100dvh); touch-action: manipulation; }
html { -webkit-text-size-adjust: 100%; }
body { overscroll-behavior-y: none; }

/* tap targets meet the 44px minimum on every device */
.pdbc-quiet, .pdbc-welcome__skip, .pdbc-btn, [data-pdbc-enter] {
  min-height: 44px; display: inline-flex; align-items: center;
}
.pdbc-quiet { padding: 14px 4px; }
[data-pdbc-enter] { padding: 15px 22px; }
.pdbc-welcome__skip { padding: 12px 8px; }
/* the title can always wrap rather than overflow a narrow phone */
.pdbc-welcome__titles h1 { white-space: normal; max-width: 100%; overflow-wrap: break-word; text-wrap: balance; }
.pdbc-welcome__main, .pdbc-welcome__titles { min-width: 0; max-width: 100%; }

/* the shadow follows the book down when the spread opens on phones */
.pdbc-diary__shadow { transition: opacity 1400ms ease, width 1900ms ease, filter 1900ms ease, transform 1900ms ease; }
.pdbc-welcome.is-mobile:not([data-stage="0"]):not([data-stage="1"]) .pdbc-diary__shadow { transform: translateY(var(--pdbc-shadow-drop, 0px)); }

/* nav and inline links meet the 44px tap minimum on touch screens */
.pdbc-nav a, .pdbc-nav__links a, .pdbc-nav__links span {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px;
}
/* the reveal sits inside the scaled diary, so its label is authored larger */
[data-pdbc-enter] { font-size: calc(12px / var(--pdbc-open, 1)); min-height: calc(44px / var(--pdbc-open, 1)); padding: calc(15px / var(--pdbc-open, 1)) calc(22px / var(--pdbc-open, 1)); }

/* ---------- diary page detail ---------- */
/* the faint red margin rule of a school diary */
.pdbc-leaf__margin { position: absolute; left: 26px; top: 0; bottom: 0; width: 1px; background: rgba(70,99,56,0.2); }
.pdbc-leaf__folio { position: absolute; left: 38px; bottom: 26px; font-size: 8.5px; letter-spacing: 0.2em; color: #b3a894; }
.pdbc-leaf__folio--right { left: auto; right: 28px; }
.pdbc-ring--left { position: absolute; left: 34px; top: 38px; width: 62px; height: 62px; border-radius: 50%; border: 6px solid rgba(90,110,70,0.14); box-shadow: inset 0 0 10px rgba(90,110,70,0.08); }
.pdbc-stub { position: absolute; right: 22px; bottom: 30px; padding: 5px 9px; border: 1px dashed rgba(90,110,70,0.34); font-size: 7.5px; letter-spacing: 0.22em; text-transform: uppercase; color: #a79c88; transform: rotate(-3deg); }
.pdbc-strike { position: relative; }
.pdbc-strike::after { content: ""; position: absolute; left: -2px; right: -2px; top: 52%; height: 1px; background: rgba(58,72,48,0.5); }
.pdbc-page__sign { display: flex; align-items: center; gap: 10px; padding-top: 16px; }
.pdbc-page__sign .rule { width: 22px; height: 1px; background: #b3a894; }
.pdbc-page__sign .hand { font-family: var(--pdbc-hand); font-size: 14px; color: var(--pdbc-faint); }

/* ---------- reveal legibility + page weight ---------- */
/* The reveal sits inside the scaled diary, so its type is authored larger and divided
   back down by the applied scale — otherwise it renders ~10px on a phone. */
.pdbc-welcome { --pdbc-read: clamp(0.55, var(--pdbc-open, 1), 1); }
.pdbc-page__quote { font-size: calc(22px / clamp(0.55, var(--pdbc-open, 1), 1)); line-height: 1.44; }
.pdbc-page__date { font-size: calc(15px / clamp(0.55, var(--pdbc-open, 1), 1)); }
.pdbc-page__sign .hand { font-size: calc(14px / clamp(0.55, var(--pdbc-open, 1), 1)); }

/* the top sheet is light and quick; sheets deeper in the block carry more weight */
.pdbc-leaf:nth-of-type(1) { transition: transform calc(var(--pdbc-leaf-dur, 1250ms) * 1.16) cubic-bezier(0.36,0.02,0.24,1); }
.pdbc-leaf:nth-of-type(2) { transition: transform calc(var(--pdbc-leaf-dur, 1250ms) * 1.04) cubic-bezier(0.38,0.02,0.26,1); }
.pdbc-leaf:nth-of-type(3) { transition: transform var(--pdbc-leaf-dur, 1250ms) cubic-bezier(0.4,0.02,0.28,1); }

/* ---------- live-site fixes ---------- */
/* The footer and the skip control both sat at the frame's bottom edge, so their text
   interleaved during the crossfade. Collapse the footer instead of fading it. */
.pdbc-welcome:not([data-stage="0"]) .pdbc-welcome__footer { visibility: hidden; }
.pdbc-welcome__skip { bottom: 14px; }

/* the opened cover is a leather board carrying an inset endpaper — not a bare outline */
.pdbc-cover__verso {
  background: linear-gradient(255deg, #263a20, #456338 24%, #517245);
  box-shadow: 0 26px 40px -24px rgba(26,38,22,0.48);
}
.pdbc-cover__endpaper {
  position: absolute; inset: 7px 11px 7px 9px; border-radius: 8px 2px 2px 8px;
  background: linear-gradient(255deg, #e8e0cb, #fdfaf2 17%, #f5efdf);
  box-shadow: inset 0 0 0 1px rgba(80,94,64,0.18);
}
/* phones open downward, so the sideways gutter offset must not apply */
@media (max-width: 699px) {
  .pdbc-welcome { --pdbc-open-shift: 0px; }
}

/* ---------- brass emboss + title rhythm (ported from the landing page) ---------- */
/* A dark rim on the top inner edge with a brass highlight on the lower lip reads as
   pressed foil; the old same-side dark+light shadow pair cancelled into a flat glow. */
.pdbc-w__monogram { position: relative; display: grid; place-items: center; border-radius: 50%; width: calc(var(--pw) * 0.235); height: calc(var(--pw) * 0.235);
  font-size: max(13px, calc(var(--pw) * 0.05)); letter-spacing: 0.26em; text-indent: 0.26em;
  font-variant-numeric: lining-nums; color: #d9c48a; border: 1px solid rgba(214,192,126,0.6);
  box-shadow: inset 0 2px 3px -1px rgba(14,24,12,0.6), inset 0 -2px 2px -1px rgba(240,244,214,0.24), 0 1px 0 rgba(240,244,214,0.16);
  text-shadow: 0 -1px 1px rgba(12,22,10,0.85), 0 1px 0 rgba(244,246,220,0.42), 0 2px 3px rgba(12,22,10,0.4); }
.pdbc-w__monogram::after { content: ""; position: absolute; inset: calc(var(--pw) * 0.018); border-radius: 50%; border: 0.5px solid rgba(214,192,126,0.34); }
.pdbc-w__rule { width: calc(var(--pw) * 0.075); height: 1.5px; border-radius: 1px;
  background: linear-gradient(90deg, rgba(214,192,126,0), rgba(224,204,140,0.78) 50%, rgba(214,192,126,0));
  box-shadow: 0 -1px 0 rgba(12,22,10,0.5), 0 1px 0 rgba(244,246,220,0.2); }
/* lining tabular numerals — the proportional digits sat unevenly */
.pdbc-w__since { font-size: max(9px, calc(var(--pw) * 0.03)); letter-spacing: 0.44em; text-indent: 0.44em;
  font-variant-numeric: lining-nums tabular-nums; color: #d3bd82;
  text-shadow: 0 -1px 1px rgba(12,22,10,0.8), 0 1px 0 rgba(244,246,220,0.34); }

/* title block: intentional spacing steps instead of one uniform gap */
.pdbc-w__invite { align-items: flex-start; text-align: left; gap: 0; max-width: 400px; }
.pdbc-w__titles { text-align: left; gap: clamp(3px, 0.8vh, 8px); }
.pdbc-w__titles h1 { font-size: min(clamp(34px, 7vw, 72px), 9vh); line-height: 1.12; letter-spacing: 0.11em; }
.pdbc-w__sub { font-size: min(clamp(26px, 5.2vw, 52px), 6.6vh); line-height: 1.1; letter-spacing: 0.01em; }
.pdbc-w__invite::before { content: ""; width: 46px; height: 1px; background: #b3a894; margin: clamp(18px, 3.2vh, 30px) 0 clamp(14px, 2.4vh, 22px); }
/* hanging the opening quote keeps the sentence optically flush to the margin */
.pdbc-w__line { font-size: min(clamp(16px, 2.1vw, 23px), 3vh); line-height: 1.4; text-indent: -0.36em; }
.pdbc-w__cta { margin-top: clamp(16px, 3vh, 28px); margin-left: -2px; padding: 10px 2px; gap: 13px; }
@media (max-width: 700px) {
  .pdbc-w__invite { align-items: center; text-align: center; }
  .pdbc-w__titles { text-align: center; }
  .pdbc-w__invite::before { align-self: center; }
}

/* ---------- floating WhatsApp click-to-chat ---------- */
/* Sized as a quiet editorial affordance, not a marketing pill: tighter padding,
   a hairline lip for craft, and a shadow that reads as paper-lift rather than glow. */
.pdbc-wa { position: fixed; right: clamp(14px, 3vw, 26px); bottom: clamp(14px, 3vh, 26px); z-index: 700;
  display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 11px 17px 11px 13px;
  font-family: var(--pdbc-serif); font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--pdbc-paper-light); background: var(--pdbc-cover-a); border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(240,244,214,0.16), 0 6px 16px -10px rgba(26,38,22,0.5), 0 1px 3px -1px rgba(26,38,22,0.28);
  transition: background 320ms ease, transform 320ms cubic-bezier(0.22,0.61,0.36,1), box-shadow 320ms ease; }
.pdbc-wa:hover { background: var(--pdbc-ink); color: var(--pdbc-paper-light); transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(240,244,214,0.14), 0 10px 22px -12px rgba(26,38,22,0.55); }
.pdbc-wa:active { transform: translateY(0); }
.pdbc-wa svg { flex: 0 0 auto; opacity: 0.92; }
/* the label would crowd a phone, so the button collapses to the glyph */
@media (max-width: 600px) {
  .pdbc-wa { padding: 0; width: 48px; height: 48px; min-height: 0; justify-content: center; gap: 0; }
  .pdbc-wa span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}
@media print { .pdbc-wa { display: none; } }

/* ---------- contact map ---------- */
/* aspect-ratio keeps the frame responsive without a JS resize handler */
.pdbc-map { position: relative; width: 100%; aspect-ratio: 16 / 8; border: 1px solid var(--pdbc-rule); background: var(--pdbc-card); overflow: hidden; }
.pdbc-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block;
  /* Google's tiles are bright; a light wash settles them into the paper palette */
  filter: saturate(0.72) contrast(0.96) sepia(0.06); }
@media (max-width: 600px) { .pdbc-map { aspect-ratio: 4 / 3; } }
@media print { .pdbc-map { display: none; } }

/* header control that returns the visitor to the closed diary */
.pdbc-nav__close { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px;
  font-family: var(--pdbc-serif); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--pdbc-faint); background: none; border: 0; cursor: pointer; transition: color 320ms ease; }
.pdbc-nav__close:hover { color: var(--pdbc-ink); }

/* footer columns collapse gracefully when a column has nothing to show */
.pdbc-footer__inner > div:empty { display: none; }

/* ---------- founder ---------- */
.pdbc-founder { display: grid; grid-template-columns: 1fr auto; gap: clamp(24px,4vw,56px); align-items: end;
  padding-bottom: clamp(28px,5vh,52px); border-bottom: 1px solid var(--pdbc-rule); }
.pdbc-founder__name { margin: 10px 0 4px; font-weight: 300; font-size: clamp(34px,6vw,66px); line-height: 1.04; }
.pdbc-founder__role { margin: 0; font-size: 14px; letter-spacing: 0.06em; color: var(--pdbc-faint); }
.pdbc-founder__hand { margin: 18px 0 0; font-size: clamp(18px,2.2vw,24px); color: var(--pdbc-muted-ink, #6b6153); }
.pdbc-founder__portrait { margin: 0; width: clamp(160px,24vw,260px); }
.pdbc-founder__portrait img { display: block; width: 100%; height: auto; border: 1px solid var(--pdbc-rule); }
/* a letter wants a narrow measure, not the full shell width */
.pdbc-founder__body { max-width: 62ch; padding-top: clamp(26px,5vh,48px); }
.pdbc-founder__body p { margin: 0 0 1.1em; font-size: clamp(15px,1.4vw,17px); line-height: 1.8; color: var(--pdbc-body, #4a4436); }
.pdbc-founder__reach { padding-top: clamp(24px,4vh,44px); }
@media (max-width: 720px) {
  .pdbc-founder { grid-template-columns: 1fr; align-items: start; }
  .pdbc-founder__portrait { width: clamp(140px,44vw,220px); order: -1; }
}
.pdbc-footer__addr { margin: 12px 0 0; max-width: 32ch; font-size: 12.5px; line-height: 1.65; color: var(--pdbc-faint); }

/* ---------- library: reading room, numbered rules, donation ---------- */
.pdbc-room { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(20px, 4vw, 52px); align-items: center; padding: clamp(22px, 4vh, 42px) 0 clamp(30px, 6vh, 66px); }
.pdbc-room__body { display: flex; flex-direction: column; gap: 14px; }
.pdbc-room__body h2 { margin: 0; font-weight: 300; font-size: clamp(24px, 3.2vw, 36px); line-height: 1.18; }
.pdbc-room__body p { margin: 0; max-width: 48ch; font-size: 15px; line-height: 1.8; color: var(--pdbc-ink-muted); }
/* the frame is the paper; the photo is the print sitting on it */
.pdbc-print { margin: 0; position: relative; padding: 12px 12px 42px; background: #fffdf7;
  box-shadow: 0 18px 34px -24px rgba(40,36,26,0.5), 0 2px 6px -3px rgba(40,36,26,0.24); transform: rotate(-1deg); }
.pdbc-print img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(0.86) sepia(0.06); }
.pdbc-print figcaption { position: absolute; left: 0; right: 0; bottom: 13px; text-align: center; font-size: 16px; color: #6f6656; }

.pdbc-numbered { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; }
.pdbc-numbered__item { display: flex; flex-direction: column; gap: 10px; padding: 22px 20px 26px;
  background: var(--pdbc-card); border: 1px solid var(--pdbc-rule); color: var(--pdbc-ink);
  transition: transform 400ms cubic-bezier(0.22,0.61,0.36,1), box-shadow 400ms ease; }
/* only the linked rule invites a click, so only it lifts */
a.pdbc-numbered__item:hover { transform: translateY(-4px); box-shadow: 0 16px 30px -20px rgba(40,36,26,0.38); }
.pdbc-numbered__title { font-size: 21px; line-height: 1.25; }
.pdbc-numbered__body { font-size: 13.5px; line-height: 1.7; font-style: italic; color: var(--pdbc-ink-muted); }

.pdbc-donate { display: flex; align-items: center; justify-content: space-between; gap: clamp(20px, 4vw, 44px); flex-wrap: wrap;
  padding: clamp(26px, 4vh, 40px) clamp(20px, 4vw, 44px); background: var(--pdbc-card); border: 1px solid var(--pdbc-rule); }
.pdbc-donate h2 { margin: 0 0 12px; font-weight: 300; font-size: clamp(24px, 3.2vw, 36px); line-height: 1.15; }
.pdbc-donate p { margin: 0; max-width: 52ch; font-size: 15px; line-height: 1.75; color: var(--pdbc-ink-muted); }
@media (max-width: 860px) { .pdbc-room { grid-template-columns: 1fr; } }

/* ---------- about: on-page index and numbered tenets ---------- */
.pdbc-lede--plain { font-style: normal; color: var(--pdbc-ink); font-size: clamp(19px, 2.1vw, 26px); line-height: 1.55; }
.pdbc-aside__block { padding-top: clamp(12px, 2vh, 20px); border-top: 1px solid var(--pdbc-rule); display: grid; gap: 9px; }
.pdbc-aside__quote { margin: 0; font-size: 15.5px; line-height: 1.7; font-style: italic; color: var(--pdbc-ink-muted); }

.pdbc-onpage { display: flex; flex-direction: column; gap: clamp(12px, 2vh, 18px); padding-bottom: clamp(10px, 2vh, 18px); }
.pdbc-onpage__items { display: flex; flex-wrap: wrap; gap: 8px 10px; }
.pdbc-onpage__items a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px;
  border: 1px solid var(--pdbc-rule); font-size: 13px; line-height: 1.2; color: var(--pdbc-ink-muted);
  transition: border-color 300ms ease, color 300ms ease, background 300ms ease; }
.pdbc-onpage__items a:hover { border-color: var(--pdbc-cover-a); color: var(--pdbc-ink); background: var(--pdbc-card); }
.pdbc-onpage__no { font-size: 10px; letter-spacing: 0.16em; color: #a89c86; }

.pdbc-tenets { display: flex; flex-direction: column; padding-bottom: clamp(34px, 7vh, 76px); }
.pdbc-tenet { display: grid; grid-template-columns: 64px 1fr; gap: clamp(12px, 3vw, 40px);
  padding: clamp(22px, 3.6vh, 38px) 0; border-top: 1px solid var(--pdbc-rule); scroll-margin-top: 24px; }
.pdbc-tenet__no { font-family: var(--pdbc-serif); font-size: clamp(26px, 3vw, 38px); font-weight: 300; line-height: 1; color: #c4b79f; padding-top: 4px; }
.pdbc-tenet__body { display: flex; flex-direction: column; gap: 14px; }
.pdbc-tenet__body h2 { margin: 0; font-weight: 300; font-size: clamp(22px, 2.6vw, 31px); line-height: 1.2; }
.pdbc-tenet__only { margin: 0; max-width: 62ch; font-size: 16.5px; line-height: 1.75; color: var(--pdbc-ink-muted); }
.pdbc-tenet__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px 34px; }
/* a long list in one column is a wall; two columns halve the scan depth */
.pdbc-tenet__list--two { grid-template-columns: 1fr 1fr; }
.pdbc-tenet__list li { position: relative; padding-left: 18px; font-size: 15.5px; line-height: 1.7; color: var(--pdbc-ink-muted); margin: 0; }
.pdbc-tenet__list li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 6px; height: 1px; background: #a89c86; }
@media (max-width: 860px) {
  .pdbc-tenet { grid-template-columns: 1fr; gap: 10px; }
  .pdbc-tenet__list--two { grid-template-columns: 1fr; }
}
