@import url('https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;700&family=Shippori+Mincho:wght@400;500;600;700&display=swap');

:root {
  --bs-body-font-family: 'Inter', system-ui, sans-serif;
  --bs-body-font-weight: 300;
  --accent: #917e59;
  --accent-border: #917e59;
  --accent-bg: rgba(145, 126, 89, 0.07);
  --dark: #0a0a0a;
  --rule: #e8e8e8;
  --text-muted: #999;
  --text: #222;
  --serif: 'Shippori Mincho', Georgia, serif;
  --sans: 'Inter', system-ui, sans-serif;
}



body {
  font-weight: 300;
  line-height: 1.6;
  background-color: #ffffff;
  color: #000000;
}

a.nav-link--contact::before {display:none;}

[data-drupal-messages].toast-container.position-fixed.top-0.end-0,
.toast-container.position-fixed.top-0.end-0 {
  position: fixed;
  top: calc(var(--drupal-displace-offset-top, 0px) + 1rem) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  z-index: 9999;
  width: min(32rem, calc(100vw - 2rem));
  display: flex;
  flex-direction: column;
  align-items: center;
}

#edit-already.js-form-item.js-form-type-item {
  text-align: center;
    text-transform: uppercase;
    font-size: 0.8rem;
    color: #917e59;
    font-weight: 500;
  }

[data-drupal-messages].toast-container .toast,
.toast-container .toast {
  width: 100%;
}

@media (max-width: 575px) {
  [data-drupal-messages].toast-container.position-fixed.top-0.end-0,
  .toast-container.position-fixed.top-0.end-0 {
    left: 1rem !important;
    right: 1rem !important;
    transform: none;
    width: auto;
  }
}

img {
  height: auto;
  max-width: 100%;
}

.policy {
  padding: 4rem;
}

a {color:#917e59;text-decoration:none;}
a:hover {color:#5a5b5f;}

h1, h2, h3, h4 {
  font-family: 'Shippori Mincho', Georgia, serif;
  font-weight: 600;
  line-height: 1.25;
}

h1 {
  font-size: clamp(2rem, 4vw, 2.6rem);
  margin-bottom: 1rem;
}

h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  margin-top: 2.5rem;
  margin-bottom: 0.75rem;
}

h3 {
  font-size: 1.25rem;
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #917e59;
    --bs-btn-border-color:#917e59;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #5a5b5f;
    --bs-btn-hover-border-color: #5a5b5f;
  }

.btn-secondary {
    --bs-btn-color: #917e59;
    --bs-btn-bg: transparent;
    --bs-btn-border-color:#917e59;
    --bs-btn-hover-color: #5a5b5f;
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: #5a5b5f;
  }

.btn-alternative {
    --bs-btn-color: #fff;
    --bs-btn-bg: #5a5b5f;
    --bs-btn-border-color:#5a5b5f;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #917e59;
    --bs-btn-hover-border-color: #917e59;
  }


.btn {
  border-radius:99px;
  font-size: 0.65rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.5rem 1.25rem;
}

a.btn-primary {
  border-radius:99px;
  font-size: 0.65rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #fff !important;
  background-color: #917e59;
  border:1px solid #917e59;
}

a.btn-primary:hover {
  color: #fff;
  background-color: #5a5b5f;
  border-color: #5a5b5f;
}

.double {
  margin:2rem 0;
}

@media (max-width: 768px) {
  .double {
    margin:0;
  }

  .but_next {
    display: block
    margin-top:10px;
  }
}

.but_next {
  display: inline;
  margin-right:10px;
}
.but_below {
  margin-top:2rem;
  margin-left:3rem;
}

p.cbp-cta-menu {
  margin-bottom:0;
}

.cta {
  margin-top:3rem;
  text-align: center;
}

.form-submit::before {display: none;}

#edit-comment-body-0-format.js-filter-wrapper.js-form-wrapper.form-wrapper.mb-3 {
  display:none;
}

nav.cbp-comment-card__links .inline__links nav.links-inline {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0;
  gap:1rem;
}

.section-body {
  font-size:.9rem;
  font-weight: 400;
  line-height: 1.75;
}

.dark_background {
  background-color:#000;
}

.dark_background h2.section-title.mb-3 {
  color: #fff;
}


.dark_background .section-body {
 color:#ababab;
}

.light_bg .section-body {
  color: #111;
}

h2.section-title.mb-3 {
  font-weight: 700;
  line-height: 1.2;
  font-size: clamp(1.5rem, 4vw, 5rem);
  letter-spacing: -.15rem;
  margin-top:0;
}

h1.section-title {
  font-size:clamp(2rem, 5vw, 3.5rem); font-weight:700;
     color:#fff; line-height:1.15; margin-bottom:2rem;
}

h2.section-title {
  margin-top:0;
  font-size: clamp(1.5rem, 4vw, 5rem);
  font-weight: 700;
}


.dark_background h2.section-title {
  color:#fff;
}

.dark_background .section-title h2 {
  color:#fff;
  margin-top: 0;
}

.section-body span.emphasis {
  font-weight:700;
}

.section-subtitle {
  font-size:0.90rem; color:rgba(255,255,255,0.75);
      line-height:1.8; max-width:560px;
}

.section-subtitle-two {
  font-size:0.9rem; color:rgba(255,255,255,0.75);
      line-height:1.8;
}

.section-subtitle-meth {
  font-size:0.9rem; color:rgba(0,0,0,0.75);
      line-height:1.8;
}

/* ═══════════════════════════════════════════ */
/* FOOTER             */
/* ═══════════════════════════════════════════ */


.site-footer {
    padding: 0 0 30px;
}

.cbp-footer-cta.mb-5{
background: #111;
}

.site-footer section.row.region.region-footer-col-2 {margin-left:2rem;}

@media (max-width: 768px) {
  .site-footer section.row.region.region-footer-col-2 {margin-left:0;}
}

.site-footer .row {align-items: flex-end;}

.logo-foot {margin-bottom:10px;}
.logo-foot img {max-width:60%;}
.foot-logo-p {
  font-size: 0.75rem;
  font-weight: 400;
}

.site-footer .block {

  margin:0 auto;
  border-width:0;

}

#block-cbp-bootstrap-footercta {
    width:65%;
}


.site-footer h3 {
  color:#fff;
  margin-top:0;
  font-size:clamp(1.3rem, 2.5vw, 1.75rem);
  line-height: 1.5;

}

.cbp-footer-meta {
  border-color: rgba(255, 255, 255, 0.08) !important;
  text-align: center;
}

.cbp-footer-brand {

  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
}

.cbp-footer-year {

  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.4);
}


.cbp-footer-cta {
  width: 100%;
}

.footer-heading {

  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 500;
  margin-bottom: 1rem;
}

.footer-link {

  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.35);
  text-decoration: none;
  display: block;
  margin-bottom: 0.6rem;
  transition: color 0.3s;
}

.footer-link:hover {
  color: rgba(255, 255, 255, 0.7);
}

/* Drupal menu blocks in footer columns */



.cbp-footer-columns .block-title,
.cbp-footer-columns h2 {

  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 500;
  margin: 0 0 1rem;
}

.cbp-footer-columns ul.menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cbp-footer-columns .menu-item {
  margin: 0 0 0.6rem;
  padding: 0;
}

.cbp-footer-columns .menu-item:last-child {
  margin-bottom: 0;
}

.cbp-footer-columns .menu-item a,
.cbp-footer-columns .menu a {

  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.35);
  text-decoration: none;
  transition: color 0.3s;
}

.cbp-footer-columns .menu-item a:hover,
.cbp-footer-columns .menu a:hover {
  color: rgba(255, 255, 255, 0.7);
}


.form-check {padding-left: 0; }

.accordion {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23cecece' class='bi bi-plus-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16'/%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4'/%3E%3C/svg%3E");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23917e59' class='bi bi-plus-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16'/%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4'/%3E%3C/svg%3E");
}

.accordion .accordion-button:not(.collapsed)::after {
  transform: rotate(45deg);
}


/* protected pages */

.protected-pages-enter-password {
  margin-top:4rem;
}

.protected-pages-enter-password legend {
  font-family:'Shippori Mincho', Georgia, serif; margin-bottom: .5rem;
}

.protected_pages_description {margin-bottom:.5rem;}

input#edit-password.required.form-control {
  padding: 0.75rem 1rem;
  border: 1px solid #ddd;
  border-radius: 2px;
  font-size: 0.88rem;
  background: #fafaf8;
  transition: border-color 0.2s, box-shadow 0.2s;
}


/* ─── CASE DOCUMENTS CATEGORY LISTING ─── */

.case-docs {
  max-width: 85%;
  margin: 0 auto;
  padding: 4rem 1.5rem 5rem;
}

.case-docs p {
  font-size: .85rem;
  color: #555;
}


/* Each category item */
.case-docs .views-view-responsive-grid__item {
  border-bottom: 1px solid #eee;
  border-right: 1px solid #eee;
  transition: background-color 0.3s ease;
}

/* Remove right border on every 3rd item */
.case-docs .views-view-responsive-grid__item:nth-child(3n) {
  border-right: none;
}

/* Top border on first row */
.case-docs .vviews-view-responsive-grid__item:nth-child(-n+3) {
  border-top: 1px solid #eee;
}

.case-docs .views-view-responsive-grid__item:hover {
  background-color: rgba(145, 126, 89, 0.07);
}

/* Category link styling */
.case-docs a {
  display: block;
  padding: 1.5rem 2.5rem;
  font-family: 'Shippori Mincho', Georgia, serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #111;
  text-decoration: none;
  line-height: 1.4;
  transition: color 0.3s ease;
  position: relative;
}

.case-docs .views-view-responsive-grid__item a:hover {
  color: #917e59;
}

/* Hover arrow indicator */
.case-docs .views-view-responsive-grid__item a::after {
  content: '→';
  position: absolute;
  right: 1.75rem;
  top: 50%;
  transform: translateY(-50%) translateX(-4px);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.75rem;
  color: #917e59;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.case-docs .views-view-responsive-grid__item  a:hover::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* ─── CASE DOCUMENTS — DOCUMENT GRID ─── */

.case-pdf {
  max-width: 85%;
  margin: 0 auto;
  padding: 4rem 1.5rem 5rem;
}

/* Each document card */
.case-pdf .views-view-responsive-grid__item {
  border: 1px solid #eee;
  padding: 1.25rem;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.case-pdf .views-view-responsive-grid__item::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: transparent;
  transition: background 0.3s ease;
}

.case-pdf .views-view-responsive-grid__item:hover {
  border-color: #ddd;
  background-color: rgba(145, 126, 89, 0.07);
}

.case-pdf .views-view-responsive-grid__item:hover::after {
  background: #917e59;
}

/* Thumbnail */
.case-pdf .views-field-thumbnail__target-id {
  margin-bottom: 1rem;
  border: 1px solid #f0f0ee;
  overflow: hidden;
}

.case-pdf .views-field-thumbnail__target-id img {
  width: 100%;
  height: auto;
  display: block;
  opacity: 0.85;
  transition: opacity 0.3s ease;
}

.case-pdf .views-view-responsive-grid__item:hover .views-field-thumbnail__target-id img {
  opacity: 1;
}

/* Document name */
.case-pdf .views-field-name {
  font-family: 'Shippori Mincho', Georgia, serif;
  font-size: 0.88rem;
  font-weight: 600;
  color: #111;
  line-height: 1.4;
  transition: color 0.3s ease;
}

.case-pdf .views-field-name a {
  color: inherit;
  text-decoration: none;
}

.case-pdf .views-field-name a:hover {
  color: #917e59;
}




/* share */


.addtoany_share
.addtoany_list > a, .addtoany_list a img, .addtoany_list a > span {
  width:24px;
  height:24px;
}

.block-addtoany {margin-top:2rem;}

.block-addtoany h2 {text-transform: uppercase;
  font-family: 'Inter', san-serif; color:#5a5b5f;font-size:1.1rem;}


/* article */

.node__meta {display:none;}

.article-header-block {
  width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

.node--type-article .block-field-blocknodearticlefield-image .field--type-image {
    margin: 1rem auto 2rem;
    padding: 0 1.5rem;
}


.field--name-field-category {
   font-size: 0.6rem;
   letter-spacing: 0.15em;
   text-transform: uppercase;
   color: var(--accent);
   font-weight: 600;
   text-decoration: none;
   display: inline-block;
   margin-bottom: 1.25rem;
   transition: opacity 0.3s;
   padding-left: 1.5rem;
}

.block-field-blocknodearticletitle {
  font-family:'Shippori Mincho', Georgia, serif;
  font-weight: 700;
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    color: #111;
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin: 0 auto .75rem;
    padding-left: 1.5rem;
}


/* ── ARTICLE BODY ── */
  .article-body {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 1.5rem 4rem;
  }

  .article-body p {
    font-size: 0.92rem;
    color: #555;
    line-height: 1.85;
    margin-bottom: 1.5rem;
  }

  .article-body h2 {
    font-family: 'Inter', san-serif;
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--accent);
    font-weight: 600;
    margin-top: 3rem;
    margin-bottom: 1.25rem;
    padding-top: 2rem;
    border-top: 1px solid #d6d6d6;
  }
  .article-body h2:first-of-type {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }

  .article-body h3 {
    font-size: 1.15rem;
    font-weight: 600;
    color: #111;
    margin-top: 2rem;
    margin-bottom: 1rem;
    line-height: 1.35;
  }

  .article-body blockquote {
    border-left: 2px solid var(--accent);
    padding: 0.5rem 0 0.5rem 1.5rem;
    margin: 2rem 0;
  }
  .article-body blockquote p {
    font-style: italic;
    font-size: 1rem;
    color: #999;
    line-height: 1.75;
    margin-bottom: 0;
  }
  .article-body blockquote cite {
    display: block;
    font-style: normal;
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ccc;
    margin-top: 0.75rem;
  }

  .article-body a {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.2s;
  }
  .article-body a:hover { opacity: 0.6; }

  .article-body strong {
    color: #333;
    font-weight: 600;
  }

  /* Stat callout */
    .stat-callout {
      background: var(--accent-bg);
      border-left: 2px solid var(--accent);
      padding: 1.5rem 1.75rem;
      margin: 2rem 0;
      border-radius: 0 4px 4px 0;
    }
    .stat-callout-num {
      font-size: 2rem;
      font-weight: 700;
      color: var(--accent);
      line-height: 1;
      margin-bottom: 0.4rem;
    }
    .stat-callout-desc {
      font-size: 0.82rem;
      color: #777;
      line-height: 1.6;
    }


span time {font-size:.8rem;
  text-transform: uppercase; color:#727272;font-weight:400;padding-left: 1.5rem;
}

.block-field-blocknodearticlefield-citations {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.paragraph--type--citation-sources p {
  font-size: .8rem;
  margin-bottom: .5rem;
}

.block-field-blocknodearticlefield-citations h2 {
  font-family: 'Inter', san-serif; color:#272727;font-size:.9rem;
  font-size: 0.6rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #444;
    font-weight: 600;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #f0f0ee;
  }

/* TAGS */

.field--name-field-tags {
  max-width: 960px;
    margin: 0 auto;
    padding: 0 1.5rem 3rem;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.field--name-field-tags .field__label {
  display:none;
}

.field--name-field-tags ul.links li {
  font-size: 0.6rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #727272;
    border: 1px solid #aaa;
    border-radius: 50px;
    padding: 0.35rem 0.85rem;
    text-decoration: none;
    transition: all 0.2s;
    margin-right: 5px;
}


.field--name-field-tags ul.links li:hover {
  color:#917e59;
}

/* About */

.mission-statement {
     font-weight:600;
     font-size:clamp(1.3rem, 2.5vw, 1.75rem); line-height:1.55;
     color:#111;}

.mission-sub {font-size:0.88rem; color:#272727; line-height:1.8;
      border-left:2px solid #917e59; padding-left:1.5rem; margin-top:2rem;}

/* WHY — beats */
  .why-anchor {
  font-family:'Shippori Mincho', Georgia, serif;
  font-weight:700;
  font-size:clamp(1.4rem, 3vw, 2.2rem); line-height:1.35;
  color:#111;
          }

  .why-beat { border-top:1px solid #d5d5d5; padding-top:1.5rem; margin-top:2rem; }

  .why-beat-label {
   font-size:0.6rem; letter-spacing:0.15em;
    text-transform:uppercase; color:#917e59; margin-bottom:0.75rem; font-weight:500;
  }
  .why-beat-text {font-size:0.92rem; color:#111; line-height:1.8; }
  .why-pullquote {
    font-family:'Shippori Mincho', Georgia, serif; font-style:italic; font-weight:500;
    font-size:clamp(1.15rem, 2vw, 1.5rem); line-height:1.5;
    color:#917e59; padding:2rem 0;
    border-top:1px solid #917e59;
    border-bottom:1px solid #917e59;
    margin:2.5rem 0;
  }

/* WHAT — two column */

    .what-is-title {
      font-family:'Shippori Mincho', Georgia, serif; font-size:1.05rem; font-weight:600;
      color:#111; margin-bottom:0.75rem;
    }
    .what-is-text {font-size:0.85rem; color:#666; line-height:1.75; }
    .what-not-item {
      padding:1.25rem 0; border-bottom:1px solid rgba(255,255,255,0.08);
    }
    .what-not-label {
      font-size:0.75rem; letter-spacing:0.12em;
      text-transform:uppercase; color:#917e59; margin-bottom:0.35rem;
    }
    .what-not-text {
    font-size:0.95rem; color:rgba(255,255,255,0.7); line-height:1.6;
    }
    .what-closing {
      font-size:0.88rem; color:#666; line-height:1.8;
    }
h2.section-title.mb-4 {margin-top:0;}

.who-text {max-width:960px; margin:0 auto;}
.who-text p {
    font-size:0.9rem;
}

.grey_spec h2.section-title {
  text-align: center;
  margin-bottom:2rem;
}

.section-label {
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #917e59;
  font-weight: 500;
  margin-bottom: 1rem;
}

.grey_spec .section-label {
  text-align:center;
}

.foot-section-label {
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #917e59;
  font-weight: 500;
  margin-bottom: 1rem;
}

.footer-heading-main {
  font-weight:700;
  margin-bottom: 1rem;
  color:#fff;
}

.site-footer .content a {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.7);
}

.foot-menu-last {
  margin-top:2.5rem;
}


/* METHOD  */

/* ─── STEP ─── */

.meth-body {
  padding:4rem 0 5rem;
   max-width:1100px; margin:0 auto;
}

   .step {
     display:grid;
     grid-template-columns:60px 1fr;
     gap:0;
     margin-bottom:0;
     position:relative;
   }

   /* Left rail — line + number */
   .step-rail {
     display:flex; flex-direction:column; align-items:center;
     position:relative;
   }
   .step-num {
     width:40px; height:40px; border-radius:50%;
     border:1.5px solid #917e59;
     display:flex; align-items:center; justify-content:center;
     font-size:0.7rem; font-weight:600; color:var(--accent);
     background:#fff; position:relative; z-index:2;
     flex-shrink:0;
   }
   .step-line {
     width:1px; flex:1;
     background:linear-gradient(to bottom, #917e59, #e8e8e8 40%);
     margin-top:0.5rem;
   }
   .step:last-of-type .step-line { display:none; }

   /* Right content */
   .step-content {
     padding:0.35rem 0 4rem 2rem;
   }
   .step-title {
     font-size:1.1rem; font-weight:700; color:#111;
     margin-bottom:0.6rem;
   }
   .step-hook {
     font-size:0.95rem; color:#555; line-height:1.7;
     margin-bottom:1.5rem; max-width:900px;
   }
   .step-body {
     font-size:0.84rem; color:#888; line-height:1.85;
     max-width:680px;
   }
   .step-body p { margin-bottom:1rem; }
   .step-body p:last-child { margin-bottom:0; }

   /* Source tags */
   .source-tags {
     display:flex; flex-wrap:wrap; gap:0.4rem;
     margin-top:1.25rem;
   }
   .source-tag {
     font-size:0.55rem; letter-spacing:0.08em;
     padding:0.25rem 0.6rem;
     border:1px solid #e5e5e5;
     border-radius:2px; color:#aaa;
     text-transform:uppercase;
   }

   /* ─── PULL QUOTE ─── */
   .pull-quote-row {
     display:grid;
     grid-template-columns:60px 1fr;
     gap:0;
     margin-bottom:0;
   }
   .pull-quote-rail {
     display:flex; flex-direction:column; align-items:center;
   }
   .pull-quote-line {
     width:1px; flex:1;
     background:#e8e8e8;
   }
   .pull-quote-content {
     padding:1.5rem 0 1.5rem 2rem;
     max-width:680px;
   }
   .pull-quote {
     font-size:clamp(1.1rem, 2vw, 1.4rem);
     font-weight:600; color:#111; line-height:1.45;
     padding-left:1.5rem;
     border-left:3px solid var(--accent);
   }

   /* ─── CALLOUT CARD ─── */
   .callout-row {
     display:grid;
     grid-template-columns:60px 1fr;
     gap:0;
     margin-bottom:0;
   }
   .callout-rail {
     display:flex; flex-direction:column; align-items:center;
   }
   .callout-line {
     width:1px; flex:1; background:#e8e8e8;
   }
   .callout-content {
     padding:0 0 2rem 2rem;
   }
   .callout-card {
     background:var(--accent-bg);
     border-left:3px solid var(--accent);
     border-radius:0 4px 4px 0;
     padding:1.5rem 1.75rem;
     max-width:680px;
   }
   .callout-card-label {
     font-size:0.55rem; letter-spacing:0.15em;
     text-transform:uppercase; color:var(--accent);
     margin-bottom:0.6rem; font-weight:500;
   }
   .callout-card-text {
     font-size:0.84rem; color:#666; line-height:1.85;
   }

   /* ─── TABLE ─── */

.block-views-blockcountry-rankings-block-1 .form-select {
  border-radius: 0;
}

.block-views-blockcountry-rankings-block-1 .d-flex.flex-wrap {
  gap:.5rem;
}

.block-views-blockcountry-rankings-block-1 .js-form-item label {
  font-size:.9rem;
  text-transform: uppercase;
}

ul.table-legend {
  font-size:.9rem;
  color:rgba(0,0,0,0.75);
  margin-bottom:3rem;
}

ul.table-legend li {
  margin-bottom:.35rem;
}

ul.table-legend li::marker {
  color:#917e59;
}

.rankings .table {
  --bs-table-striped-bg: rgba(145, 126, 89, 0.1);
  vertical-align: middle;

}

.rankings table tr th {
  font-size:.85rem;
  font-weight:600;
  line-height: 1.3
}

.rankings tr td {
  font-size: .75rem;
}

.rankings thead > tr {
  background:#848484;
}

   /* Amendment Page */

.stat-card {
      padding:.5rem 1.75rem;
      position:relative; overflow:hidden;
      margin-top:2rem;
      margin-bottom:3rem;
      margin-left:4rem;
    }
    .stat-card::before {
      content:'';
      position:absolute; left:0; top:0; bottom:0;
      width:3px; background:var(--accent); opacity:0.4;
    }
    .stat-number {
      font-size:clamp(1.8rem, 3vw, 2.4rem); font-weight:700;
      color:#fff; margin-bottom:0.35rem; line-height:1;
    }
    .stat-label {
      font-size:0.90rem; color:#999; line-height:1.6;
    }

    .stat-note {
      font-size:0.80rem; color:#bbb; margin-top:0.5rem;
      line-height:1.5;
    }

/* ─── CATEGORY SECTION ─── */
   .category-label {
     font-size:0.65rem; letter-spacing:0.2em;
     text-transform:uppercase; color:var(--accent); margin-bottom:0.5rem;
     font-weight:500;
   }
   .category-title {
     font-size:clamp(1.3rem, 2.5vw, 1.7rem); font-weight:700;
     color:#111; margin-bottom:1rem; margin-top:0;
   }
.category-subtitle {
  font-size:0.92rem; color:#272727; line-height:1.85;margin-bottom:2.5rem;

}

 /* Amendment cards */


.amend-card {
  border: 1px solid #eee;
  padding: 1.75rem;
  transition: all 0.3s;
  cursor: pointer;
  position: relative;
  text-decoration: none;
  display: block;
  color: inherit;
  padding: 2.5rem 2rem 1rem;
  min-height:350px;
}

@media (max-width: 767.98px) {
  .amend-card {
    margin-bottom: 1rem;
    min-height: 100%;
  }
}

.amend-card:hover {
    border-color:#ddd;
    box-shadow:0 2px 12px rgba(0,0,0,0.04);
    transform:translateY(-2px);
  }
.amend-card:hover .amend-card-arrow { opacity:1; }

  .amend-card-num {
    font-size:0.65rem; letter-spacing:0.15em;
    text-transform:uppercase; color:var(--accent);
    margin-bottom:0.6rem; font-weight:500;
  }
  .amend-card-title {
    font-size:0.95rem; font-weight:700; color:#111;
    margin-bottom:0.6rem; line-height:1.35;
    padding-right:2rem;
  }
  .amend-card-title a {
    color:#000;
  }

  p.amend-card-hook {
    line-height: 1.3;
  }

  .amend-card-hook a {
    font-size:0.78rem; color:#777; line-height:1.3;
    margin-bottom:0.75rem; font-weight:500;
  }
  .amend-card-desc a {
    font-size:0.82rem; color:#272727; line-height:1.5;
  }

  .amend-card-arrow {
    position:absolute; top:1.75rem; right:1.5rem;
    opacity:0; transition:opacity 0.3s;
  }
  .amend-card-arrow svg {
    width:16px; height:16px; stroke:#917e59; stroke-width:1.5;
  }


  /* ═══════════════════════════════════════════ */
  /* PART ONE — USER STEPS              */
  /* ═══════════════════════════════════════════ */



  .part-one {
     padding: 4rem 0 5rem;
     width:75%;
     margin:0 auto;
   }

   .part-anchor {
     font-weight: 700;
     font-size: clamp(1.4rem, 3vw, 2.2rem);
     line-height: 1.35;
     color: #111;
     margin-bottom: 3rem;
   }

   /* Beat items */
   .beat-top {
     padding-top: 2rem;
     margin-top: 2rem;
     margin-left: auto;
     margin-right: auto;
   }

   .beat {
     border-top: 1px solid #eee;
     padding-top: 2rem;
     margin-top: 2rem;
     margin-left: auto;
     margin-right: auto;
   }
   .beat:first-of-type { margin-top: 0; }

   .beat-label {
     font-size: 0.65rem;
     letter-spacing: 0.15em;
     text-transform: uppercase;
     color: #917e59;
     margin-bottom: 0.75rem;
   }

   .beat-title {
     font-family: 'Shippori Mincho', Georgia, serif;
     font-size: 1.05rem;
     font-weight: 600;
     color: #111;
     margin-bottom: 0.75rem;
   }

   .beat-text {
     font-size: 0.92rem;
     color: #272727;
     line-height: 1.8;
   }
   .beat-text p { margin-bottom: 1rem; }
   .beat-text p:last-child { margin-bottom: 0; }

   .beat-aside {
     font-size: 0.82rem;
     color: #999;
     line-height: 1.75;
     border-left: 2px solid #e5e5e5;
     padding-left: 1.25rem;
     margin-top: 1rem;
   }


   /* ═══════════════════════════════════════════ */
   /* PART TWO — BEHIND THE SCENES                */
   /* ═══════════════════════════════════════════ */
   .part-two {
     background: #f5f5f5;
     padding: 4rem 7.5% 5rem 11.5%;
   }

   .scene-grid {
     margin-left: auto;
     margin-right: auto;
   }

   .scene-block {
     padding: 1.75rem 0;
     border-bottom: 1px solid #aaa;
   }
   .scene-block:first-child {
     padding-top: 0;
   }
   .scene-block:last-child {
     border-bottom: none;
   }

   /* Emphasis block — from 27-amendments.html */
   .emphasis-block {
     margin: 2.5rem auto;
     padding: 2rem 2.5rem;
   }
   .emphasis-block p {
     color: #bbb;
     font-size: 0.92rem;
     line-height: 1.85;
     margin-bottom: 0;
   }
   .emphasis-block strong {
     color: #fff;
     font-weight: 600;
   }
   .emphasis-block .accent-text {
     color: var(--accent);
     font-weight: 600;
   }

   /* ═══════════════════════════════════════════ */
   /* PART THREE — AMENDMENT PROCESS              */
   /* ═══════════════════════════════════════════ */
   .part-three {
     padding: 4rem 7.5% 5rem 11.5%;
   }

   .process-intro {
     font-weight: 700;
     font-size: clamp(1.4rem, 3vw, 2.2rem);
     line-height: 1.35;
     color: #111;
     margin-bottom: 1rem;
   }

   .process-sub {
     font-size: 0.92rem;
     color: #272727;
     line-height: 1.8;
     max-width: 580px;
     margin-bottom: 3rem;
   }

   /* Step rail — from methodology.html */
   .step {
     display: grid;
     grid-template-columns: 60px 1fr;
     gap: 0;
     position: relative;
   }

   .step-rail {
     display: flex;
     flex-direction: column;
     align-items: center;
     position: relative;
   }

   .step-num {
     width: 40px;
     height: 40px;
     border-radius: 50%;
     border: 1.5px solid var(--accent-border);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 0.7rem;
     font-weight: 600;
     background: #fafaf8;
     position: relative;
     z-index: 2;
     flex-shrink: 0;
   }

   .step-line {
     width: 1px;
     flex: 1;
     background: linear-gradient(to bottom, #917e59, #e8e8e8 40%);
     margin-top: 0.5rem;
   }
   .step:last-of-type .step-line { display: none; }

   .step-content {
     padding: 0.35rem 0 3.5rem 2rem;
   }

   .step-title {
   font-family: 'Shippori Mincho', Georgia, serif;
     font-size: 1.1rem;
     font-weight: 700;
     color: #111;
     margin-bottom: 0.6rem;
   }

   .step-hook {
     font-size: 0.95rem;
     color: #555;
     line-height: 1.7;
     margin-bottom: 1.25rem;
   }

   .step-body {
     font-size: 0.84rem;
     color: #272727;
     line-height: 1.85;
   }
   .step-body p { margin-bottom: 1rem; }
   .step-body p:last-child { margin-bottom: 0; }

   /* Decision branches — callout style from methodology */
   .decision-branches {
     margin: 1.25rem 0;
   }

   .branch {
     border-left: 3px solid var(--accent);
     border-radius: 0 4px 4px 0;
     padding: 1rem 1.5rem;
     margin-bottom: 0.6rem;
   }
   .branch:last-child { margin-bottom: 0; }

   .branch-label {
     font-size: 0.55rem;
     letter-spacing: 0.15em;
     text-transform: uppercase;
     color: var(--accent);
     font-weight: 600;
     margin-bottom: 0.35rem;
   }

   .branch-text {
     font-size: 0.84rem;
     color: #666;
     line-height: 1.75;
   }

   /* No-response branch — dark variant */
   .branch-dark {
     background: rgba(0,0,0,0.03);
     border-left-color: #ccc;
   }
   .branch-dark .branch-label { color: #999; }
   .branch-dark .branch-text { color: #888; }

   /* Closing pull quote */
   .closing-quote {
     font-weight: 600;
     font-size: clamp(1.2rem, 2.2vw, 1.6rem);
     line-height: 1.4;
     color: #111;
     margin: 3rem 0 0;
     padding-left: 1.5rem;
     border-left: 3px solid var(--accent);
   }


/* Evidence Grid */

/* Featured first article — full width */
   .article-card {
     background: #fff;
     display: flex;
     flex-direction: column;
     text-decoration: none;
     color: inherit;
     transition: background 0.2s;
   }

   .article-card:hover .read-more { color: var(--dark); }
   .article-card:hover .read-more::after { width: 100%; }

   .article-card.featured {
     grid-column: 1 / -1;
     flex-direction: row;
   }

   .card-image {
     overflow: hidden;
     flex-shrink: 0;
   }

   .article-card:not(.featured) .card-image {
     aspect-ratio: 16/9;
   }

   .article-card.featured .card-image {
     width: 45%;
     aspect-ratio: auto;
     min-height: 320px;
   }

   .card-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
     filter: grayscale(20%);
     transition: transform 0.5s ease, filter 0.3s;
   }

   .article-card:hover .card-image img {
     transform: scale(1.03);
     filter: grayscale(0%);
   }

   .card-body {
     padding: 1.5rem 0;
     display: flex;
     flex-direction: column;
     gap: 0.6rem;
     flex: 1;
   }

   .card-body p {
     margin-bottom:0;
   }

   .article-card.featured .card-body {
     padding: 2.5rem 2.75rem;
     justify-content: center;
   }

   .card-category {
     font-size: 0.65rem;
     font-weight: 600;
     letter-spacing: 0.18em;
     text-transform: uppercase;
     color: var(--accent);
     margin-bottom:0;
   }

   h2.card-title {
     font-weight: 700;
     color: var(--dark);
     line-height: 1.25;
     letter-spacing: -0.01em;
     margin-top:0;
   }

   .article-card:not(.featured) .card-title {
     font-size: clamp(1rem, 1.5vw, 1.2rem);
   }

   .article-card.featured .card-title {
     font-size: clamp(1.4rem, 2.5vw, 2rem);
     margin-bottom: 0.25rem;
   }

   .card-excerpt {
     font-size: 0.82rem;
     color: #888;
     line-height: 1.75;
   }

   .article-card:not(.featured) .card-excerpt {
     display: -webkit-box;
     -webkit-line-clamp: 3;
     -webkit-box-orient: vertical;
     overflow: hidden;
   }

.card-meta {
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #727272;
    margin-top: auto;
    padding-top: .75rem;
    border-top: 1px solid #ccc;
  }

  .read-more {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
    text-decoration: none;
    position: relative;
    display: inline-block;
    padding-bottom: 2px;
  }

  .read-more::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--dark);
    transition: width 0.3s ease;
  }


  /* ─── THE MOST DANGEROUS BRANCH NUMBERS SECTION ─── */

img.paper-cover {width:50%; transform: rotate(10deg);}

.mdb-cover {margin-left:10rem;}


  @media(max-width:767px) {
    .mdb-cover {margin:0rem;}
  }

.cover-cta {margin-top:1rem;}

   .numbers-section {
     background:#ecedee;
     padding:5rem 2rem;
     position:relative;
   }

   .numbers-section::before {
     content:'';
     position:absolute;
     top:0; left:0; right:0;
     height:1px;
     background:linear-gradient(90deg, transparent, var(--accent-border), transparent);
   }
   .numbers-inner {
     max-width:1100px;
     margin:0 auto;
   }

   .numbers-grid {
     display:grid;
     grid-template-columns:1fr 1fr;
     gap:1px;
     background:#ddd;
   }
   .numbers-card {
     background:#fff;
     padding:2rem 2.25rem;
     display:flex;
     flex-direction:column;
     gap:0.5rem;
   }
   .stat-value {
     font-family:var(--serif);
     font-size:clamp(1.1rem, 2vw, 1.5rem);
     font-weight:700;
     line-height:1.2;
   }
   .stat-value .accent { color:var(--accent); }
   .stat-context {
     font-family:var(--sans);
     font-size:0.78rem;
     color:#888;
     line-height:1.75;
   }
   .stat-source {
     font-family:var(--sans);
     font-size:0.55rem;
     color:#bbb;
     letter-spacing:0.05em;
     margin-top:auto;
     padding-top:0.5rem;
   }
   .numbers-card.full-width {
     grid-column:1 / -1;
   }

   .numbers-cta-wrap {
     margin-top:3rem;
     text-align:center;
   }
   .numbers-cta {
     display:inline-block;
     padding:0.75rem 2rem;
     border:1.5px solid var(--accent-border);
     color:var(--accent);
     font-family:var(--sans);
     font-size:0.65rem;
     letter-spacing:0.15em;
     text-transform:uppercase;
     text-decoration:none;
     transition:all 0.3s;
     font-weight:500;
   }
   .numbers-cta:hover {
     border-color:var(--accent);
     background:var(--accent-bg);
   }

   /* ─── PARTS SECTION ─── */
   .parts-section {
     padding:6rem 2rem;
     position:relative;
   }
   .parts-inner {
     max-width:1100px;
     margin:0 auto;
   }

   .part-block {
     padding:2.5rem 2.25rem;
     position:relative;
   }

   .part-block::before {
     content:'';
     position:absolute;
     top:0; left:2.25rem;
     width:32px; height:3px;
     background:var(--accent);
   }
   .part-number {
     font-family:var(--sans);
     font-size:0.5rem;
     letter-spacing:0.2em;
     text-transform:uppercase;
     color:var(--accent);
     font-weight:600;
     margin-bottom:0.75rem;
     padding-top:1.25rem;
   }
   .part-title {
     font-family:var(--serif);
     font-size:1.35rem;
     font-weight:700;
     color:#111;
     line-height:1.25;
     margin-bottom:1.25rem;
   }
   .part-text {
     font-family:var(--sans);
     font-size:0.82rem;
     color:#777;
     line-height:1.85;
   }

   .parts-cta-wrap {
     margin-top:3.5rem;
     text-align:center;
   }



      /* ─── RESPONSIVE ─── */

      @media(max-width:900px) {
        .part-block {
          border-right:none;
          border-bottom:1px solid #eee;
          padding:2rem 1.5rem;
        }

      }
      @media(max-width:600px) {
        .stat-grid {
          grid-template-columns:1fr;
        }
        .stat-card.full-width { grid-column:1; }
      }



      /* FINANCIALS DISCLOSURE HEADER */
        .disclosure-hero {
          padding-top:6rem; padding-bottom:3rem;
          border-bottom:1px solid #eee;
        }

        /* STATUS BLOCK */
        .status-block {
          font-family:var(--sans); font-size:0.88rem; color:#666; line-height:1.8;
          border-left:2px solid var(--accent-border); padding-left:1.5rem; margin-top:2rem;
          max-width:640px;
        }
        .status-block p { margin-bottom:1rem; }
        .status-block p:last-child { margin-bottom:0; }

        /* TABLE */
        .expense-table {
          width:100%; border-collapse:collapse; margin-top:1.5rem;
        }
        .expense-table thead th {
          font-size:0.6rem; letter-spacing:0.12em;
          text-transform:uppercase; color:#000; padding:0.75rem 1rem;
          border-bottom:2px solid #eee; text-align:left;
        }
        .expense-table thead th:last-child,
        .expense-table thead th:nth-child(4) { text-align:right; }
        .expense-table tbody td {
          font-size:0.85rem; color:#555;
          padding:1rem; border-bottom:1px solid #f0f0f0;
          vertical-align:middle;
        }
        .expense-table tbody td:last-child,
        .expense-table tbody td:nth-child(4) {
          text-align:right; font-weight:500;
        }
        .expense-table tbody tr:hover { background:var(--accent-bg); }
        .expense-table tbody tr:hover td { color:#333; }

        .cat-tag {
          font-family:var(--sans); font-size:0.6rem; letter-spacing:0.08em;
          padding:0.2rem 0.5rem; border:1px solid #5a5b5f; border-radius:2px;
          color:#5a5b5f; text-transform:uppercase; white-space:nowrap;
        }

        /* TOTAL ROW */
        .total-row td {
          border-top:2px solid var(--accent) !important;
          border-bottom:none !important;
          font-weight:600 !important;
          color:#111 !important;
        }

        /* SPONSORSHIP */
        .sponsorship-note {
          background:var(--accent-bg); border-left:3px solid var(--accent);
          padding:1.5rem 1.75rem; margin-top:3rem; max-width:680px;
        }
        .sponsorship-note-label {
          font-family:var(--sans); font-size:0.55rem; letter-spacing:0.15em;
          text-transform:uppercase; color:var(--accent); margin-bottom:0.5rem; font-weight:500;
        }
        .sponsorship-note-text {
          font-family:var(--sans); font-size:0.84rem; color:#666; line-height:1.85;
        }

        /* LAST UPDATED */
        .last-updated {
         font-size:0.7rem; color:#ccc;
          margin-top:3rem; padding-top:1.5rem; border-top:1px solid #eee;
        }

        @media(max-width:767px) {
          .expense-table thead th,
          .expense-table tbody td { padding:0.75rem 0.5rem; font-size:0.78rem; }
          .cat-tag { font-size:0.5rem; }
        }

/* <----------VEIL OF IGNORANCE ----------> */
        .veil-header  {margin-bottom:2rem;}

        .veil-grid {
           display:grid;
           grid-template-columns:1fr 1fr;
           gap:1.5rem;
           margin-bottom:3rem;
         }
         .veil-card {
           background:#fff;
           border-left:3px solid var(--accent);
           padding:1.75rem 2rem;
         }
         .veil-card-label {
           font-size:0.55rem; letter-spacing:0.15em;
           text-transform:uppercase; color:var(--accent);
           font-weight:600; margin-bottom:1rem;
         }
         .veil-card-body {
           font-size:0.84rem; color:#444; line-height:1.85;
         }
         .veil-card-body p { margin-bottom:0.85rem; }
         .veil-card-body p:last-child { margin-bottom:0; }
         .veil-card-body strong { color:#444; }
         .veil-body {
           font-size:0.88rem; color:#272727; line-height:1.85;
          margin-bottom:2.5rem;
         }
         .veil-body p { margin-bottom:1rem; }
         .veil-body p:last-child { margin-bottom:0; }
         .veil-pull {
           font-size:clamp(1rem,2vw,1.3rem);
           font-weight:600; color:#111; line-height:1.45;
           padding-left:1.5rem;
           border-left:3px solid var(--accent);

         }
         @media(max-width:767px) {
           .veil-grid { grid-template-columns:1fr; }
           .veil-section { padding:3.5rem 0; }
         }


/* <---------- Citizen Papers ----------> */

.series-title {
  font-family:var(--serif);
    font-size: clamp(1.5rem, 4vw, 5rem)
  font-weight:700;
  color:#111;
  line-height:1.2;
  max-width:1160px;
  margin:0 auto;
  padding-top:4rem;
  padding-left:1rem;
}
.papers-wrap {
     max-width:1160px;
     margin:0 auto;
     padding:4rem 1.5rem 6rem;
     display:grid;
     grid-template-columns:220px 1fr;
     gap:4rem;
     align-items:start;
   }

/* LETTER AREA */
  .letter-area {}

  /* SERIES HEADER */
  .series-header {
    margin-bottom:2.5rem;
  }
  .series-label {
    font-family:var(--sans);
    font-size:0.55rem;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--accent);
    font-weight:600;
    margin-bottom:0.5rem;
  }


  /* LETTER PAPER */
  .letter-paper {
    background:#faf8f3;
    box-shadow:
      0 1px 2px rgba(0,0,0,0.08),
      0 4px 12px rgba(0,0,0,0.08),
      0 16px 40px rgba(0,0,0,0.06);
    padding:4rem 4.5rem 4rem;
    position:relative;
    /* subtle paper texture via repeating gradient */
    background-image:
      repeating-linear-gradient(
        0deg,
        transparent,
        transparent 27px,
        rgba(145,126,89,0.04) 27px,
        rgba(145,126,89,0.04) 28px
      );
    background-color:#faf8f3;
  }

  .letter-meta {
    font-size:0.88rem;
    color:#888;
    margin-bottom:2.5rem;
    padding-bottom:1.5rem;
    border-bottom:1px solid #e8e3d8;
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    flex-wrap:wrap;
    gap:0.5rem;
  }
  .letter-paper-num {
    font-size:0.55rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--accent);
    font-weight:600;
  }

  .letter-salutation {
    font-family:var(--serif);
    font-size:1.1rem;
    color:#111;
    margin-bottom:1.75rem;
    font-style:italic;
  }

  .letter-body {
  font-family:var(--serif);
    font-size:1.08rem;
    line-height:1.95;
    color:#333;
  }
  .letter-body p {
    margin-bottom:1.5rem;
    text-indent:2rem;
  }
  .letter-body p:first-child {
    text-indent:0;
  }
  .letter-body p:last-child { margin-bottom:0; }

  /* DROP CAP */
  .letter-body p:first-child::first-letter {
    font-family:var(--serif);
    font-size:3.5rem;
    font-weight:700;
    float:left;
    line-height:0.8;
    margin:0.1rem 0.5rem 0 0;
    color:#111;
  }

  /* CLOSING */
  .letter-closing {
    margin-top:3rem;
    padding-top:2rem;
    border-top:1px solid #e8e3d8;
  }
  .letter-closing-text {
    font-family:var(--serif);
    font-size:1rem;
    color:#333;
    font-style:italic;
    margin-bottom:2rem;
  }

  .letter-signatory {
    font-family:var(--serif);
    font-size:0.9rem;
    color:#777;
    font-style:italic;
  }


  /* MOBILE */
  @media(max-width:860px) {
    .papers-wrap {
      grid-template-columns:1fr;
      gap:2rem;
      padding:2rem 1.25rem 5rem;
    }

    .letter-paper {
      padding:2.5rem 1.75rem 2.5rem;
    }
    .letter-paper::before { left:1.5rem; }
  }

  @media(max-width:480px) {
    .letter-paper { padding:2rem 1.25rem; }
    .letter-paper::before { display:none; }
    .letter-body { font-size:1rem; }
  }
