/* A field guide in three rhythms: a still portrait, three invitations, an index. */
:root {
  --ink:#413a30; --soft:#665e51; --cream:#f7f3e8; --paper:#fcfaf3; --olive:#46513c; --rust:#96503b; --sage:#e6e8d9; --rule:#d8d1bf;
  --page-width:89rem; --gutter:clamp(1.2rem,5vw,4.8rem);
}
html {scroll-padding-top:.85rem}
.mast {background:var(--cream); border:0;}
.mast-inner {min-height:4.65rem; position:relative;}
.mast-inner:after {content:""; position:absolute; inset:auto var(--gutter) 0; border-bottom:1px solid #c9bfa9;}
.mast .wordmark img {width:10.3rem;}
.main-nav {gap:clamp(1.2rem,2.2vw,2.2rem); font-size:.88rem;}
.join-link {color:var(--olive);border-color:#9ca48b;background:transparent;padding-inline:1.12rem;}
.hero {position:relative; isolation:isolate; overflow:hidden; border:0; background:radial-gradient(ellipse at 81% 64%,#efead9 0,transparent 52%),var(--cream);}
.hero-inner {position:relative; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(2.2rem,5.4vw,5.2rem); padding-block:clamp(2rem,4.4vw,4rem) clamp(2rem,3.8vw,3.25rem);}
.hero-copy {padding-bottom:1.4rem;}
.hero-kicker,.folio,.plate-place,.fig-no {font:600 .68rem/1.45 DM,Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;}
.hero-kicker {color:#65553e;gap:.85rem;}
.hero-kicker svg {width:3.25rem;height:1.9rem; flex:none;color:#a47246;}
.hero h1 {font-size:clamp(2.3rem,20.1cqi,7.65rem);line-height:.91;letter-spacing:-.054em;margin:clamp(1.65rem,5.6cqi,2.45rem) 0 1.4rem;color:#3e4737;}
.hero h1 em {color:#985a42;font-weight:400;}
.hero-intro {max-width:25em;font-size:clamp(1rem,3.25cqi,1.11rem);line-height:1.67;color:#5c554b;}
.primary {background:#46513c; min-height:2.95rem;}
.hero-copy .primary,.hero-description .primary {font-size:.9rem;margin-top:1.55rem;gap:1.6rem;}
.hero-plate {align-self:center;min-width:0;margin-inline:0;padding:0 .2rem;}
.arch-outline {position:relative;margin:.38rem .48rem 0;}
.arch-outline:before {content:"";pointer-events:none; position:absolute;inset:-.55rem -.5rem -.23rem;border:1px solid #baa78b; border-radius:50% 50% .28rem .28rem / 37% 37% .28rem .28rem;}
.photo-frame {aspect-ratio:1.50;border-radius:50% 50% .15rem .15rem / 37% 37% .15rem .15rem;}
.photo-frame img {object-position:50% 63%;}
.hero-plate figcaption {min-height:2.75rem; padding:.8rem .5rem 0;gap:.65rem;align-items:baseline;}
.plate-note {gap:.75rem;align-items:center;}
.fig-no,.plate-place {font-size:.62rem;color:#70674f;letter-spacing:.12em;}
.fig-no {display:flex; align-items:center;gap:.7rem;}
.fig-no:after {content:"";width:1.5rem;border-top:1px solid #b3a58e;}
.fig-title {color:#5b5041;font:italic clamp(1.07rem,1.5vw,1.38rem)/1.18 var(--serif);}
.plate-place {white-space:nowrap;font-size:.57rem;}
.paths {background:#e8eadd;border-block:1px solid #d1d6c2; padding-block:clamp(2.5rem,4.4vw,4.4rem) clamp(2.15rem,4.1vw,4rem);}
.paths-head {display:flex; align-items:flex-end;justify-content:space-between;gap:1rem 2.5rem;margin-bottom:1.55rem;}
.folio {display:flex;align-items:center;gap:.65rem; color:#596349;letter-spacing:.16em;}
.folio:before {content:"";height:1px;width:1.8rem;background:#87906e;flex:none;}
.paths-head h2,.ritual h2 {font:400 clamp(2.6rem,4.8vw,4.8rem)/.99 var(--serif);letter-spacing:-.049em;color:#414b37;margin:.8rem 0 0;}
.paths-head h2 em,.ritual h2 em {font-weight:400;}
.paths-head>p {line-height:1.55;font-size:.95rem;max-width:18rem;color:#535d47;padding-bottom:.23rem;}
.path-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.9rem,1.8vw,1.58rem);}
.path-tile {display:block;min-width:0;}
.path-image {position:relative; isolation:isolate;aspect-ratio:1.58;overflow:hidden;background:#394534;border-radius:.22rem;}
.path-image:after {content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(21,25,15,.71),rgba(25,30,18,.20) 35%,transparent 72%);pointer-events:none;}
.path-image img {width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s;}
.path-move img {object-position:50% 48%;}
.path-gather img {object-position:50% 48%;}
.path-title {position:absolute;bottom:.35em;left:clamp(.85rem,1.7vw,1.65rem);z-index:1;font:400 clamp(2.3rem,4.1vw,4.1rem)/1 var(--serif);color:#fffaec;letter-spacing:-.04em;}
.path-caption {color:#494e3f;display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:clamp(.77rem,1vw,.94rem);padding:.74rem 0 .65rem;border-bottom:1px solid #b5bba5;}
.path-caption svg {width:1.05rem;}
.path-tile:hover img {transform:scale(1.025);}
.path-tile:hover .path-title {text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em;}
.path-context {margin:.5rem 0 .8rem; font-size:.9rem;}
#path-context:not([hidden]) {display:flex;align-items:center;gap:.8rem;margin:.5rem 0 1rem;color:var(--olive);font-size:.88rem;}
#path-context a {border-bottom:1px solid #a7a88c;}
.related-line {font:italic 1.06rem/1.5 var(--serif)!important;margin-top:1.35rem;}
.related-line a {color:var(--olive);text-decoration:underline;text-underline-offset:3px;display:inline-block;}
.ritual {background:#efe6d6;border-top:1px solid #d6c9b4;}
.ritual-inner {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(1.5rem,5.5vw,5rem);padding-block:clamp(2.1rem,4.4vw,4.4rem);}
.ritual-photo {position:relative;aspect-ratio:1.96;overflow:hidden;border-radius:.2rem;}
.ritual-photo img {width:100%;height:100%;display:block;object-fit:cover;object-position:50% 52%;}
.ritual-photo span {position:absolute;inset:auto auto .75rem .8rem;background:#fbf6e9;color:#544735;padding:.32rem .6rem .25rem;font:italic 1.07rem/1.15 var(--serif);}
.ritual h2 {font-size:clamp(2.3rem,4vw,4rem);color:#4c432f;}
.ritual-text>p:not(.folio) {margin-top:.55rem;color:#625845;max-width:28rem;}
.ritual .text-link {margin-top:.7rem;}
.footer-main .footer-about {font:400 .9rem/1.55 DM,sans-serif;max-width:27rem;color:var(--soft);}
.footer-main a {overflow-wrap:anywhere;}
.related-entries {display:flex; gap:.6rem 1.3rem; flex-wrap:wrap; border-top:1px solid var(--rule);padding-top:.7rem;margin-top:1.15rem;}
.related-entries a,.modal-copy details summary,.entry-share {color:var(--olive);font-size:.87rem;text-decoration:underline;text-underline-offset:3px;}
.entry-share {padding:.55rem 0;border:0;background:transparent;}
.modal-copy details {margin-top:.8rem;}
.modal-copy details summary {cursor:pointer;}
.modal-copy details p {font-size:.88rem;margin-top:.55rem;}
.entry-share-status {font-size:.83rem;overflow-wrap:anywhere;}
@media (max-width:55rem) {
  .mast .wordmark img {width:8.8rem;}
}
@media (max-width:45rem) {
  .mast-inner {min-height:3.8rem;}
  .hero-inner {grid-template-columns:minmax(0,1fr); gap:0; padding-block:1.75rem 2rem;}
  .hero-copy {display:contents;}
  .hero-kicker {order:0;font-size:.61rem;gap:.6rem;} .hero-kicker svg {width:2.55rem;height:1.5rem;}
  .hero h1 {order:1;font-size:clamp(2.45rem,13.7vw,4.9rem);line-height:.94;margin:.8rem 0 1.15rem;letter-spacing:-.048em;}
  .hero h1 span {display:inline;}
  .hero-plate {order:2; width:100%;max-width:37rem;justify-self:center;}
  .photo-frame {aspect-ratio:1.68;}
  .hero-plate figcaption {min-height:2.3rem; padding-top:.7rem;}
  .hero-description {order:3; margin-top:.75rem;}
  .hero-intro {max-width:30rem;font-size:1rem;line-height:1.55;}
  .hero-description .primary {margin-top:1rem;}
  .paths-head {align-items:flex-start;flex-direction:column; gap:.55rem;margin-bottom:1.25rem;}
  .paths-head>p {max-width:none;}
  .path-grid {gap:.85rem;}
  .path-image {aspect-ratio:.98;}
  .path-title {font-size:clamp(1.8rem,5.5vw,2.65rem);left:.57rem;}
  .path-caption {align-items:flex-start;line-height:1.4;}
  .path-caption svg {width:.85rem;}
  .ritual-inner {grid-template-columns:1fr 1.1fr;gap:1.4rem;}
  .ritual-photo {aspect-ratio:1.1;}
}
@media (max-width:35rem) {
  .path-grid {grid-template-columns:minmax(0,1fr);gap:1.15rem;}
  .path-image {aspect-ratio:2.12;}
  .path-title {font-size:clamp(2.3rem,10vw,3.6rem);left:1rem;bottom:.32em;}
  .path-caption {font-size:.87rem;padding:.5rem 0 .6rem;}
  .path-caption svg {width:1rem;}
  .ritual-inner {grid-template-columns:minmax(0,1fr);}
  .ritual-photo {aspect-ratio:1.95;}
  .footline {flex-wrap:wrap;}
  .footline span:nth-child(2) {display:none;}
}
@media (max-width:22.5rem) {
  .mast .wordmark img {width:clamp(5.75rem,34vw,7.7rem);}
  .fig-no:after {width:.75rem;} .plate-note {gap:.42rem;} .plate-place {font-size:.51rem;}
}
@media(prefers-reduced-motion:reduce) { .path-image img {transition:none;} }
.hero-search {display:inline-flex;align-items:center;gap:.45rem;color:#4c5642;min-height:2.75rem;margin:.45rem 0 0 .85rem;font-size:.85rem;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22rem;text-decoration-color:#a4a88f;}
.hero-search svg {width:.83rem;}
.archive-mini {width:100%;height:100%;display:grid;place-content:center;place-items:center;background:#44503c;color:#e3d8b5;}
.archive-mini svg {width:80%;height:auto;max-height:90%;}
.archive-mini span {font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;}
.detail-caption {margin:.4rem 1rem 0;color:var(--soft);font:italic 1.05rem var(--serif);}
.entry-actions {display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-top:.65rem;}
.entry-back {font-size:.84rem;background:none;border:0;color:var(--olive);padding:.5rem 0;}
#guide-label {font-weight:inherit;}
@media(max-width:22rem){.hero-search {margin-left:.35rem;font-size:.8rem;}}
.hero-actions {display:flex;align-items:center;gap:.7rem 1.35rem;flex-wrap:wrap;margin-top:1.55rem;}
.hero-actions .primary,.hero-actions .hero-search {margin:0;}
.hero-search {gap:0;}
.hero-search svg{margin-right:.42rem;}
.hero-search span {white-space:pre;}
.footer-welcome {display:flex;align-items:flex-end;justify-content:space-between;gap:1.8rem;padding-top:clamp(2.25rem,4vw,4rem);}
.footer-welcome h2 {font-size:clamp(2rem,3.3vw,3.5rem);letter-spacing:-.04em;margin-top:.55rem;}
.footer-welcome>p {font-size:.92rem;max-width:25rem;margin-bottom:.15rem;}
.footer-main {padding-top:1.85rem;}
@media(max-width:45rem) {
  .hero h1 span {display:block;white-space:nowrap;}
  .hero-actions{margin-top:1rem;gap:.7rem 1.1rem;}
  .hero-plate figcaption .plate-place {display:none;}
  .plate-note {flex-wrap:nowrap;}
  .footer-welcome {display:block;}
  .footer-welcome>p {margin-top:.55rem;}
}
@media(max-width:29rem){.hero-search span {display:none;} .hero-actions {gap:.45rem .85rem;}}
#applied-filters {display:flex;align-items:center;flex-wrap:wrap;gap:.3rem 1rem;margin:.5rem 0;color:var(--soft);font-size:.82rem;}
#reset-refinements {font-size:.8rem;border:0;background:transparent;text-decoration:underline;color:var(--olive);}
