:root{--leather:#321b14;--gold:#caa65e;--ink:#37291e;--paper:#f4e9ca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#24140f;background-image:radial-gradient(ellipse at top,#573526 0,transparent 62%),repeating-linear-gradient(92deg,#0000 0 5px,#ffffff05 6px,#0000 9px);font-family:Georgia,'Times New Roman',serif}a{color:#653b22}a:focus-visible{outline:3px solid #a97422;outline-offset:3px}.outer{max-width:1370px;margin:26px auto;padding:18px;background:linear-gradient(100deg,#1c0e0c,#533022 8%,#2a140f 14%,#3c2118 91%,#1c0e0b);border:2px solid #916b36;border-radius:15px;box-shadow:0 24px 65px #000b,inset 0 0 0 5px #2d170e,inset 0 0 0 7px #8a6838}.ornament{height:7px;border-block:1px solid #ad8546;margin-bottom:13px}.masthead{color:#eacb85;text-align:center;padding:27px 12px 22px;border:1px solid #ab854e;background:radial-gradient(ellipse at center,#5d3b29,#2b170f 73%)}.eyebrow{letter-spacing:.27em;text-transform:uppercase;font:12px Arial,sans-serif;color:#d4b981}.brand{display:block;font-size:clamp(34px,5.4vw,69px);text-decoration:none;color:#eacb85;text-shadow:1px 2px #130805;margin:8px 0}.strapline{font-style:italic;font-size:18px;margin:7px}.eyebrow.bottom{margin-top:17px}.nav{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;padding:11px 7px;background:#3c2016;border-bottom:3px double #b48c55}.nav a{color:#ead29b;padding:11px 15px;text-decoration:none;font-size:14px}.nav a:hover,.nav a[aria-current]{background:#67452b;outline:1px solid #b48c55}.book{display:grid;grid-template-columns:260px minmax(0,1fr);background:linear-gradient(90deg,#e2ceaa 0,#fbf0d7 5%,#f5e8c7 56%,#e4cfa8 100%);min-height:680px;box-shadow:inset 12px 0 20px #4f2d172f,inset -10px 0 18px #3b220f2c}.sidebar{padding:28px 19px;border-right:2px solid #bd9b6e;background:#d9c39b5e}.sidebar h2{font-size:16px;text-transform:uppercase;letter-spacing:.14em;color:#6d3e24;border-bottom:1px solid #ab8c61;padding-bottom:10px}.sidebar .index a{display:block;padding:11px 6px;text-decoration:none;border-bottom:1px solid #b18d622d}.sidebar .index a:hover{background:#e5d2ad}.sidebar-note{font-style:italic;font-size:14px;line-height:1.6;margin-top:26px}.leaf{min-width:0;padding:37px clamp(22px,5vw,75px) 55px;position:relative}.leaf:before{content:'✥';display:block;text-align:center;color:#956d3b;font-size:28px}.kicker{text-align:center;text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:#86643c}.book-title{text-align:center;font-weight:normal;font-size:clamp(31px,4vw,49px);line-height:1.15;margin:10px 0}.rule{display:flex;align-items:center;gap:15px;color:#946b3e;justify-content:center;margin:19px 0 25px}.rule:before,.rule:after{content:'';height:1px;background:#a98654;width:min(110px,20%)}.article-content{font-size:18px;line-height:1.75;overflow-wrap:anywhere}.article-content img{max-width:100%;height:auto}.article-content figure{max-width:100%;margin:1.2em auto}.article-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.article-content td,.article-content th{border:1px solid #c0a475;padding:.4em}.article-content a{text-decoration:underline;text-underline-offset:3px}.article-content h2,.article-content h3{font-weight:normal;line-height:1.25;color:#643e28}.article-content blockquote{border-left:3px solid #aa8959;padding-left:18px;font-style:italic;margin-left:0}.home-intro{margin-bottom:32px}.articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.card{border:1px solid #bfa078;padding:22px;background:#fff9e94f;box-shadow:2px 3px 0 #74543417}.card-label{text-transform:uppercase;letter-spacing:.15em;color:#876137;font:11px Arial,sans-serif}.card h3{font-size:24px;font-weight:normal;margin:9px 0 10px}.card h3 a{text-decoration:none}.card p{font-size:16px;line-height:1.55}.read-more{text-underline-offset:4px}.section-heading{text-align:center;font-weight:normal}.footer{text-align:center;padding:22px;color:#d6bd83;font-size:14px}.footer span{padding:0 8px}.entry-meta{text-align:center;font-style:italic;color:#725439;font-size:14px}.back,.all-stories{text-align:center;margin-top:30px}.paging{display:flex;justify-content:space-between;gap:10px;margin-top:25px}.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:8px;z-index:10}.skip:focus{left:10px}@media(max-width:760px){.outer{margin:6px;padding:7px;border-radius:5px}.masthead{padding:24px 8px}.nav{gap:0}.nav a{padding:10px;font-size:13px}.book{display:block}.sidebar{border-right:0;border-bottom:2px solid #bd9b6e;padding:12px}.sidebar h2{margin:8px}.index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:5px;min-width:0}.sidebar .index a{white-space:normal;min-width:0;overflow-wrap:anywhere;border:1px solid #bc9c71;padding:9px 8px;text-align:center}.sidebar-note{display:none}.leaf{padding:24px 18px 55px}.articles{grid-template-columns:1fr}.article-content{font-size:17px}.brand{font-size:clamp(29px,8vw,48px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* COLEBROOKE DIRECTORY V2 — AGED PAPER DETAILS
   Decorative effects are CSS-only: no scripts, images, fonts or page content changes.
   Kept deliberately strongest at the paper edges; body text remains on clean paper. */
.outer {
  background:
    radial-gradient(ellipse at 10% 2%, rgba(195,145,66,.11),transparent 30%),
    repeating-linear-gradient(93deg, transparent 0 11px,rgba(255,222,151,.015) 12px,transparent 14px),
    linear-gradient(100deg,#1c0e0c,#533022 8%,#2a140f 14%,#3c2118 91%,#1c0e0b);
  box-shadow:0 24px 65px #000b,inset 0 0 0 5px #2d170e,
             inset 0 0 0 7px #ad8a4f,inset 0 0 0 9px rgba(18,9,6,.6);
}
.masthead {position:relative;}
.masthead::before {
  content:"";position:absolute;inset:7px;pointer-events:none;
  border:1px solid rgba(210,164,90,.38);
  border-radius:2px;
}
.masthead::after {
  content:"✥";display:block;color:#a37e48;opacity:.8;
  font-size:18px;line-height:1;margin-top:15px;
}
.book {
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(90deg,#d7b990,#f2e0be 4%,#faeed3 12%,#e4cba1 22%,#d0aa78 24%,#f0dfbe 27%,#f9efd4 75%,#e0bd8a 100%);
  box-shadow:
    inset 0 11px 11px -10px rgba(59,29,11,.60),
    inset 0 -12px 13px -10px rgba(59,29,11,.48),
    inset 8px 0 14px rgba(63,33,14,.10),
    inset -12px 0 25px rgba(57,29,9,.20);
}
/* The spine is the slight, dark crease between the two paper leaves. */
.book::after {
  content:"";position:absolute;top:2px;bottom:2px;left:calc(260px - 9px);
  width:29px;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,rgba(70,40,20,.02),rgba(70,40,20,.28) 43%,rgba(56,30,15,.14) 60%,transparent);
}
.sidebar {
  position:relative;
  background:
    radial-gradient(ellipse 160px 220px at -6% 7%,rgba(105,72,39,.16),transparent 90%),
    radial-gradient(ellipse 200px 165px at 17% 98%,rgba(131,85,34,.12),transparent 89%),
    repeating-linear-gradient(2deg, transparent 0 21px,rgba(107,70,37,.012) 22px,transparent 23px),
    linear-gradient(100deg,#e3cca6 0%,#f1e1bc 58%,#d6b789 100%);
  border-right:0;
  box-shadow: inset 12px 0 22px -15px rgba(75,39,16,.54),
              inset -15px 0 16px -12px rgba(66,33,16,.37);
}
.leaf {
  background:
    radial-gradient(ellipse 130px 220px at 101% 11%,rgba(115,73,35,.19),transparent 90%),
    radial-gradient(ellipse 220px 110px at 103% 94%,rgba(124,78,37,.22),transparent 90%),
    radial-gradient(ellipse 120px 160px at 1% 90%,rgba(136,92,49,.12),transparent 93%),
    radial-gradient(ellipse 210px 160px at 49% 1%,rgba(174,127,61,.09),transparent 89%),
    radial-gradient(circle at 96% 22%,rgba(101,62,34,.13) 0 1px,transparent 2px),
    radial-gradient(circle at 93% 26%,rgba(130,91,51,.12) 0 1.3px,transparent 2.1px),
    radial-gradient(circle at 4% 70%,rgba(103,63,37,.11) 0 1px,transparent 2px),
    radial-gradient(circle at 98% 73%,rgba(117,69,31,.1) 0 1px,transparent 2px),
    repeating-linear-gradient(5deg,transparent 0 17px,rgba(105,78,43,.012) 18px,transparent 19px),
    linear-gradient(90deg,rgba(103,71,42,.15),transparent 5%,transparent 89%,rgba(142,91,44,.095)),
    linear-gradient(180deg,rgba(178,130,68,.10),transparent 13%,transparent 83%,rgba(142,98,47,.13)),
    #f6eacc;
  box-shadow:inset 15px 0 20px -17px rgba(65,32,13,.6),inset -10px 0 20px -15px rgba(84,45,16,.48);
  padding-bottom:90px;
}
/* Tiny lower outer corner of the paper turns up, with shadow under the fold. */
.page-corner {position:absolute;right:0;bottom:0;width:102px;height:102px;z-index:1;pointer-events:none;}
.page-corner::before {
  content:"";position:absolute;inset:3px 0 0 0;
  background:radial-gradient(ellipse at 80% 74%,rgba(64,37,15,.33),transparent 65%);
  clip-path:polygon(100% 0,0 100%,100% 100%);
  filter:blur(5px);
}
.page-corner::after {
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,#af8856 0%,#dcc196 24%,#fff5d9 53%,#f1dfb6 72%,#b78b57 100%);
  clip-path:polygon(100% 0,7% 100%,100% 100%);
  box-shadow: -5px -4px 13px rgba(80,43,18,.35);
}
/* Gentle page rims: a subtly uneven shadow, never a ripped-paper cartoon edge. */
.leaf::selection,.leaf *::selection {background:#ab864f;color:#1e1209;}
.card {
  background:linear-gradient(145deg,rgba(255,249,230,.68),rgba(236,220,181,.46));
  border:1px solid rgba(146,102,57,.44);
  box-shadow:2px 3px 0 rgba(101,66,30,.10),inset 0 0 15px rgba(157,118,66,.045);
}
.card:hover {border-color:#9d7446;background:linear-gradient(145deg,rgba(255,249,229,.86),rgba(234,211,170,.55));}
@media (max-width:760px) {
  .book::after {display:none;}
  .sidebar {border-bottom:2px solid #bd9b6e;box-shadow:inset 0 7px 16px -11px rgba(65,32,13,.7),inset 0 -13px 22px -14px rgba(65,32,13,.6);}
  .leaf {padding-bottom:76px;box-shadow:inset 0 12px 19px -17px rgba(65,32,13,.6),inset -7px 0 16px -13px rgba(84,45,16,.4);}
  .page-corner {width:66px;height:66px;}
  .masthead::after {margin-top:12px;}
}
@media print {
  body {background:#fff;}
  .outer {margin:0;padding:0;border:0;box-shadow:none;}
  .book {display:block;box-shadow:none;}
  .book::after,.page-corner,.sidebar,.nav {display:none!important;}
  .leaf {background:#fff;box-shadow:none;padding:1rem;}
  .masthead {color:#23160f;background:none;}
}

/* V3 MOBILE REFLOW: remove sideways index scroll, prevent page-level overflow.
   Content files, page paths and old shortcode handling are unchanged. */
html, body { max-width:100%; }
.outer, .book, .sidebar, .leaf, .card { min-width:0; }
.article-content, .article-content p, .article-content blockquote, .entry-meta {overflow-wrap:anywhere;}
.article-content pre { max-width:100%; overflow-x:auto; white-space:pre; }
.article-content iframe, .article-content video, .article-content embed, .article-content object,
.article-content svg {max-width:100%;}
.article-content img, .article-content figure, .article-content picture {max-width:100%;height:auto;}
@media(max-width:760px) {
  .outer {width:auto;max-width:calc(100% - 12px);}
  .nav {min-width:0;flex-wrap:wrap;}
  .nav a {min-width:0;text-align:center;}
  .sidebar .index {width:100%;}
  .sidebar .index a {max-width:100%;}
  .leaf {width:100%;min-width:0;}
  .articles {min-width:0;}
}
@media(max-width:360px) {
  .eyebrow{letter-spacing:.16em;}
  .sidebar .index a{font-size:14px;}
  .leaf{padding-inline:13px;}
  .card{padding:16px;}
}
/* Support the site's original notrack image, gallery, and resume shortcodes.
   Included separately to avoid the old theme's white-page layout styles. */
.article-content figure.image-shortcode {display:table;max-width:100%;margin:1em auto;}
.article-content figure.image-shortcode img {display:block;width:100%;max-width:100%;height:auto;}
.article-content figure.image-shortcode.frame {border:1px solid #ae8755;background:#f7edcf;padding:.5em;box-shadow:0 3px 9px #40200720;}
.article-content figcaption {font-size:.86em;color:#6b4a34;text-align:center;margin-top:.3em;}
.article-content figcaption p {margin:.25em 0;}
.article-content figure.right {float:right;max-width:45%;margin:.3em 0 1.2em 1.2em;}
.article-content figure.left {float:left;max-width:45%;margin:.3em 1.2em 1.2em 0;}
.article-content figure.wide {float:none;max-width:100%;}
.article-content::after {content:"";display:table;clear:both;}
.gallery-category {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr));gap:12px;list-style:none;padding:0;margin:1.2em 0;}
.gallery-photo {min-width:0;list-style:none;}
.gallery-photo img {display:block;width:100%;height:190px;object-fit:cover;border:6px solid #f1e4c4;box-shadow:0 2px 6px #3a251933;cursor:zoom-in;}
.gallery-photo img:focus-visible {outline:3px solid #75440e;outline-offset:3px;}
.modal[hidden]{display:none!important;}
.modal {position:fixed;z-index:1000;inset:0;display:grid;place-items:center;grid-template-columns:60px minmax(0,1fr) 60px;gap:8px;background:#120b07ef;color:#fff;padding:70px max(10px,3vw) 25px;}
.modal-content {grid-column:2;grid-row:1;max-width:100%;max-height:74vh;width:auto;height:auto;object-fit:contain;}
.modal .close {position:absolute;top:15px;right:18px;border:1px solid #bd9f65;background:#432a1d;color:#fff;font-size:34px;cursor:pointer;min-width:48px;min-height:48px;}
.modal .gallery-previous,.modal .gallery-next {background:#4b311fc9;color:#fff;border:1px solid #c5a778;min-width:44px;min-height:56px;cursor:pointer;font-size:32px;}
.modal .gallery-previous {grid-column:1;grid-row:1;}
.modal .gallery-next {grid-column:3;grid-row:1;}
.modal #caption {grid-column:1/-1;text-align:center;max-width:70ch;line-height:1.4;}
.gallery-open {overflow:hidden;}
.contactbox {width:min(100%,20em)!important;max-width:100%;padding:10px;}
.contactbox ul,.social ul {list-style:none;padding:10px;}
.contactbox a,.social a {overflow-wrap:anywhere;}
.resume-content {display:flex;flex-wrap:wrap;gap:1em;}
.category-title {flex:1 1 150px;}.category-content {flex:3 1 240px;min-width:0;}
.category-content ul {padding-left:1.3em;}
.article-content .video-shortcode {display:block;width:100%;height:auto;max-width:100%;}
.archive-list {padding-left:1.2em;line-height:1.85;}
.archive-list li {border-bottom:1px dotted #ad9063;padding:.24em 0;}
.archive-date {color:#7c6044;font-style:italic;display:inline-block;min-width:4em;}
.nav-group {position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;}
.nav-group>a {display:block;}
.nav-children {display:flex;justify-content:center;flex-wrap:wrap;gap:2px;}
.nav-children a {font-size:.77em;text-decoration:underline;text-underline-offset:3px;color:#e8d2ae;padding:4px 8px;}
.article-content pre {white-space:pre;overflow-x:auto;max-width:100%;}
.article-content :is(table,pre,code) {max-width:100%;}
.article-content :is(a,li,td,th,h1,h2,h3,h4) {overflow-wrap:anywhere;}
@media(max-width:760px){
 .article-content figure.image-shortcode {width:auto!important;max-width:100%;}
 .article-content figure.right,.article-content figure.left {float:none;max-width:100%;margin:1em auto;}
 .modal {grid-template-columns:44px minmax(0,1fr) 44px;gap:2px;padding:75px 4px 22px;}
 .modal .gallery-previous,.modal .gallery-next {min-width:40px;}
 .gallery-photo img {height:145px;}
}
@media print {.modal,.nav-children {display:none!important;}}


/* COLEBROOKE v4.6 — mounting the gallery photographs as old album prints.
   Only the gallery thumbnails are affected; the enlarged photo viewer is unchanged. */
.gallery-category {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:flex-start;
  gap:1.1rem;
  margin:1.3em 0;
  padding:0;
  list-style:none;
}
.gallery-category > .gallery-photo {
  flex:0 1 250px;
  width:min(250px, 100%);
  min-width:0;
  max-width:100%;
  padding:0;
  margin:0;
  list-style:none;
}
.gallery-category > .gallery-photo > img {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
  padding:6px;
  border:1px solid #aa885b;
  border-radius:1px;
  background:#f7edd4;
  box-shadow:0 2px 3px #4529182b,0 6px 13px #45291820;
  cursor:zoom-in;
}
@media(max-width:480px) {
  .gallery-category {justify-content:center;}
  .gallery-category > .gallery-photo {flex-basis:min(250px,100%);}
}
/* Colebrooke Directory v4.9 - mobile-only refinement.
   Does not alter article content, gallery, desktop layout, or route structure. */
@media (max-width: 600px) {
  .outer { margin: 4px auto; padding: 6px; }
  .ornament { height: 4px; margin-bottom: 7px; }
  .masthead { padding: 16px 9px 12px; }
  .masthead::before { inset: 5px; }
  .masthead::after { font-size: 14px; margin-top: 8px; }
  .eyebrow { font-size: 10px; letter-spacing: .16em; line-height: 1.35; margin: 0; }
  .eyebrow.bottom { margin-top: 9px; font-size: 10px; letter-spacing: .13em; }
  .brand { font-size: clamp(26px, 7.7vw, 37px); line-height: 1.14; margin: 6px 0; }
  .strapline { font-size: 14px; line-height: 1.35; margin: 6px 0; }
  .nav { padding: 5px 2px 6px; gap: 0 2px; align-items: stretch; }
  .nav > a { display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px; padding: 8px 8px; font-size: 13px; line-height: 1.2; }
  .sidebar { padding: 11px 12px 14px; }
  .sidebar h2 { font-size: 14px; letter-spacing: .12em; }
  .index { gap: 6px; padding: 3px; }
  .sidebar .index a { display:flex; align-items:center; justify-content:center;
    font-size: 14px; line-height: 1.25; min-height: 44px; padding: 7px 6px; }
  .leaf { padding: 21px 15px 73px; }
  .article-content { font-size: 16px; line-height: 1.65; }
  .book-title { font-size: clamp(29px, 8vw, 40px); }
}
@media (max-width: 360px) {
  .brand { font-size: 27px; }
  .nav > a { padding: 8px 6px; font-size: 12.5px; }
  .sidebar .index a { font-size: 13px; }
  .leaf { padding-inline: 13px; }
}
