@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@500;600&family=Source+Serif+4:ital,wght@0,500;1,500&display=swap');
/* =========================================================
   TAARN — DESIGN TOKENS
   ========================================================= */

:root {
  --paper:#f5f2eb;
  --paper2:#ede9df;
  --ink:#121412;
  --muted:#62645f;
  --line:#d7d2c8;
  --rust:#a8321e;
  --rust2:#c44527;
  --green:#65715c;
  --gold:#a98b43;
  --white:#fff;
  --max:1240px;
  --sans:'DM Sans',sans-serif;
  --display:'Oswald',sans-serif;
  --serif:'Source Serif 4',serif
}
/* =========================================================
   GLOBAL / BASE
   ========================================================= */

* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6
}
a {
  color:inherit;
  text-decoration:none
}
img {
  max-width:100%;
  display:block
}
.shell {
  width:min(calc(100% - 48px),var(--max));
  margin-inline:auto
}
.sr-only {
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
/* =========================================================
   HEADER + NAVIGATION
   ========================================================= */

.site-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(245,242,235,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px);
  transition:.25s
}
.site-header.scrolled {
  box-shadow:0 10px 35px rgba(18,20,18,.07)
}
.header-inner {
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px
}
.brand {
  display:flex;
  align-items:center;
  gap:14px;
  line-height:1
}
.brand-mark {
  font:600 29px/1 var(--display);
  letter-spacing:-.04em
}
.brand-name {
  font-size:9px;
  line-height:1.15;
  font-weight:600
}
.primary-nav {
  display:flex;
  align-items:center;
  gap:26px
}
.nav-list {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  gap:25px
}
.nav-list a {
  text-transform:uppercase;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em
}
.nav-list a:hover,.current-menu-item>a {
  color:var(--rust)
}
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:48px;
  padding:0 22px;
  background:var(--rust);
  color:white;
  text-transform:uppercase;
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  border:1px solid var(--rust);
  cursor:pointer;
  transition:.2s
}
.button:hover {
  background:var(--ink);
  border-color:var(--ink)
}
.button-small {
  min-height:38px;
  padding:0 17px
}
.button-outline {
  background:transparent;
  color:var(--ink);
  border-color:#bdb7ad
}
.button-dark-outline {
  background:transparent;
  border-color:#6e716b;
  color:#fff
}
.button-row {
  display:flex;
  gap:12px;
  flex-wrap:wrap
}
.menu-toggle {
  display:none;
  background:none;
  border:0;
  width:40px;
  height:40px;
  padding:8px
}
.menu-toggle span:not(.sr-only) {
  height:1px;
  background:var(--ink);
  display:block;
  margin:6px 0
}
/* =========================================================
   SHARED TYPOGRAPHY + EYEBROWS
   ========================================================= */

.eyebrow {
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:11px;
  font-weight:700;
  color:var(--rust)
}
.eyebrow.inverse {
  color:#c9a660
}
/* =========================================================
   HOME — HERO
   ========================================================= */

.hero {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  min-height:610px;
  align-items:center;
  gap:72px;
  padding-top:70px;
  padding-bottom:70px
}
.hero h1,.archive-hero h1,.page-intro h1,.page-split h1,.join-layout h1,.standard-page h1,.single-entry h1 {
  font:600 clamp(54px,6vw,96px)/.98 var(--display);
  letter-spacing:-.035em;
  text-transform:uppercase;
  margin:0 0 25px
}
.hero h1 em {
  font-style:normal;
  color:var(--rust)
}
.hero-deck {
  max-width:610px;
  font-size:18px;
  margin:0 0 30px
}
.hero-media {
  position:relative;
  min-height:470px;
  background:#d8d4ca
}
.hero-media>img {
  width:100%;
  height:470px;
  object-fit:cover;
  filter:grayscale(100%) contrast(1.05)
}
.hero-placeholder {
  min-height:470px;
  background:linear-gradient(135deg,#21251f,#77806f);
  color:white;
  padding:38px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}
.hero-placeholder span {
  font:500 72px/1 var(--display);
  opacity:.15
}
.hero-placeholder strong {
  font:500 36px/1.05 var(--display);
  text-transform:uppercase;
  max-width:300px
}
.accent-block {
  position:absolute;
  width:112px;
  height:92px;
  background:rgba(196,69,39,.88);
  right:-18px;
  bottom:-22px
}
/* =========================================================
   SHARED SECTIONS + PILLARS
   ========================================================= */

.section {
  padding-top:92px;
  padding-bottom:92px
}
.section-heading {
  max-width:760px;
  margin-bottom:42px
}
.section-heading h2,.section-top h2,.help-intro h2,.band-cta h2 {
  font:500 clamp(34px,4vw,54px)/1.05 var(--display);
  text-transform:uppercase;
  letter-spacing:-.025em;
  margin:0
}
.pillar-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.pillar-grid article {
  padding:34px 40px 35px 0;
  margin-right:40px;
  border-right:1px solid var(--line)
}
.pillar-grid article:last-child {
  border-right:0
}
.pillar-icon {
  font:500 13px var(--sans);
  color:var(--rust)
}
.pillar-grid h3,.values-grid h3 {
  font:600 25px var(--display);
  text-transform:uppercase;
  margin:16px 0 8px
}
.pillar-grid p {
  color:var(--muted);
  max-width:300px
}
/* =========================================================
   HOME — HELP / CONNECTIONS BAND
   ========================================================= */

.help-band {
  background:#171a17;
  color:#fff;
  padding:65px 0
}
.help-grid {
  display:grid;
  grid-template-columns:1.05fr 2fr;
  gap:60px;
  align-items:center
}
.help-intro h2 {
  font-size:42px;
  margin-bottom:24px
}
.help-items {
  display:grid;
  grid-template-columns:repeat(4,1fr)
}
.help-items article {
  border-left:1px solid #484b46;
  padding:8px 22px;
  min-height:160px
}
.help-items span {
  color:#c9a660;
  font-size:28px
}
.help-items h3 {
  text-transform:uppercase;
  font-size:12px;
  margin:20px 0 5px
}
.help-items p {
  margin:0;
  color:#c4c7c1;
  font-size:14px
}

/* =========================================================
   ARTICLE 2
   Two stacked editorial content blocks
   ========================================================= */

.help-items.article2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  max-width: 760px;
  margin-left: auto;
}

/* Reset original Article styling */
.help-items.article2 article {
  min-height: 0;
  margin: 0;
  padding: 30px 0;
  border-left: 0;
}

/* First article doesn't need excess space above it */
.help-items.article2 article:first-child {
  padding-top: 0;
}

/* Gold divider between articles */
.help-items.article2 article + article {
  border-top: 1px solid rgba(201, 166, 96, 0.65);
}

/* Article headings */
.help-items.article2 h3 {
  color: #c9a660;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 14px;
}

/* Article body */
.help-items.article2 p {
  margin: 0;
  max-width: 720px;
  color: #e2e3df;
  font-size: 14px;
  line-height: 1.65;
}


/* =========================================================
   ARTICLE 2 — TABLET / MOBILE
   ========================================================= */

@media (max-width: 980px) {

  .help-items.article2 {
    max-width: none;
    margin-left: 0;
  }

}


@media (max-width: 680px) {

  .help-items.article2 article {
    padding: 26px 0;
  }

  .help-items.article2 article:first-child {
    padding-top: 0;
  }

  .help-items.article2 h3 {
    margin-bottom: 12px;
  }

}
/* =========================================================
   HOME — FEATURE CARDS
   ========================================================= */

.section-top {
  display:flex;
  justify-content:space-between;
  gap:32px;
  align-items:end;
  margin-bottom:35px
}
.section-top>div {
  max-width:760px
}
.feature-cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px
}
.feature-card {
  padding:34px;
  min-height:290px;
  display:flex;
  flex-direction:column;
  transition:.2s
}
.feature-card:hover {
  transform:translateY(-4px)
}
.feature-card span,.feature-card b {
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em
}
.feature-card h3 {
  font:600 34px/1.06 var(--display);
  text-transform:uppercase;
  margin:52px 0 12px
}
.feature-card p {
  margin-top:0
}
.feature-card b {
  margin-top:auto
}
.tone-paper {
  border:1px solid var(--line);
  background:#f8f5ee
}
.tone-green {
  background:var(--green);
  color:#fff
}
.tone-rust {
  background:var(--rust2);
  color:#fff
}
/* =========================================================
   HOME — EVENTS
   ========================================================= */

.event-row {
  display:grid;
  grid-template-columns:92px 1fr 260px;
  gap:30px;
  padding:28px 0;
  border-top:1px solid var(--line);
  align-items:center
}
.event-row:last-child {
  border-bottom:1px solid var(--line)
}
.event-date {
  border:1px solid var(--line);
  width:72px;
  height:82px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center
}
.event-date span {
  font-size:11px;
  font-weight:700
}
.event-date strong {
  font:600 30px/1 var(--display)
}
.event-copy small {
  text-transform:uppercase;
  font-size:10px;
  font-weight:700
}
.event-copy h3 {
  font-size:22px;
  margin:3px 0
}
.event-meta {
  font-size:12px;
  font-weight:600
}
.event-copy p {
  color:var(--muted);
  margin:8px 0
}
.event-image img {
  height:150px;
  width:100%;
  object-fit:cover;
  filter:grayscale(100%)
}
/* =========================================================
   HOME — CLOSING CTA
   ========================================================= */

.closing-cta {
  text-align:center;
  border-top:1px solid var(--line);
  padding:75px 0 82px
}
.closing-cta p {
  font:500 clamp(34px,5vw,66px)/1.08 var(--serif);
  margin:0 0 10px
}
.closing-cta p em {
  color:var(--rust)
}
.closing-cta span {
  display:block;
  margin-bottom:25px;
  color:var(--muted)
}
/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
  background:#111310;
  color:#fff;
  padding:54px 0 25px
}
.footer-grid {
  display:grid;
  grid-template-columns:1.3fr .8fr 1fr 1.4fr;
  gap:40px
}
.footer-mark {
  font:600 32px var(--display)
}
.site-footer h3 {
  text-transform:uppercase;
  font-size:11px;
  color:#c8ab67
}
.site-footer p,.site-footer li,.site-footer a {
  font-size:13px;
  color:#c7c9c4
}
.site-footer ul {
  list-style:none;
  padding:0;
  margin:0
}
.footer-bottom {
  border-top:1px solid #383b36;
  margin-top:40px;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  font-size:11px;
  color:#8f938b
}
/* =========================================================
   ARCHIVES + RESOURCES
   ========================================================= */

.archive-hero {
  padding:72px 0;
  background:#151815;
  color:white
}
.archive-hero-grid {
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:70px;
  align-items:end
}
.archive-hero h1 {
  margin-bottom:16px
}
.archive-hero p:not(.eyebrow) {
  max-width:560px
}
.archive-art {
  font:500 44px/1.03 var(--display);
  text-transform:uppercase;
  color:#d6b367;
  border-left:1px solid #4c504a;
  padding-left:42px
}
.filter-bar {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:30px
}
.filter {
  background:transparent;
  border:1px solid var(--line);
  padding:10px 14px;
  text-transform:uppercase;
  font:700 10px var(--sans);
  cursor:pointer
}
.filter.is-active {
  background:var(--ink);
  color:white;
  border-color:var(--ink)
}
.resource-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px
}
.resource-card {
  border:1px solid var(--line);
  padding:28px;
  min-height:260px;
  display:flex;
  flex-direction:column
}
.resource-card small {
  text-transform:uppercase;
  font-size:10px;
  font-weight:700;
  color:var(--muted)
}
.resource-card h2 {
  font-size:22px;
  line-height:1.2;
  margin:35px 0 10px
}
.resource-card p {
  color:var(--muted);
  margin-top:0
}
.resource-card .text-link {
  margin-top:auto
}
/* =========================================================
   PAGE CTA BAND
   ========================================================= */

.band-cta {
  background:#141714;
  color:#fff;
  padding:48px 0
}
.band-cta>.shell {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px
}
.band-cta h2 {
  font-size:35px
}
.band-cta p {
  margin:5px 0 0;
  color:#b9bcb6
}
/* =========================================================
   STANDARD CONTENT PAGES
   ========================================================= */

.page-intro {
  padding-top:90px;
  padding-bottom:45px
}
.page-intro p:last-child {
  max-width:650px;
  font-size:18px
}
.page-split {
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:85px;
  padding-top:95px;
  padding-bottom:75px;
  align-items:start
}
.prose {
  font-size:17px;
  color:#343731
}
.prose p {
  margin:0 0 1.4em
}
.statement-card {
  min-height:520px;
  background:#20241f;
  color:white;
  padding:52px;
  display:flex;
  align-items:flex-end;
  position:relative;
  overflow:hidden
}
.statement-card:after {
  content:'';
  position:absolute;
  width:180px;
  height:180px;
  background:rgba(99,113,92,.8);
  right:-20px;
  bottom:-30px
}
.statement-card span {
  font:600 62px/1 var(--display);
  text-transform:uppercase;
  z-index:1
}
.values-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line)
}
.values-grid article {
  padding:32px;
  border-right:1px solid var(--line)
}
.values-grid article:first-child {
  padding-left:0
}
.values-grid article:last-child {
  border-right:0
}
.values-grid b {
  color:var(--rust);
  font-size:12px
}
.values-grid p {
  font-size:14px;
  color:var(--muted)
}
/* =========================================================
   JOIN PAGE + FORMS
   ========================================================= */

.join-layout {
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:70px;
  padding-top:90px;
  padding-bottom:100px
}
.join-intro {
  position:sticky;
  top:125px;
  align-self:start
}
.join-intro p {
  font-size:18px
}
.join-note {
  margin-top:35px;
  padding:22px;
  border-left:3px solid var(--rust);
  background:#ebe6dc;
  font-family:var(--serif);
  font-size:18px
}
.join-form {
  background:#f8f5ef;
  border:1px solid var(--line);
  padding:40px
}
.form-section+ .form-section {
  margin-top:45px
}
.form-section h2 {
  text-transform:uppercase;
  font:600 24px var(--display);
  margin:0 0 22px
}
.check-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px
}
.check-grid label {
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:14px
}
.check-grid input {
  accent-color:var(--rust);
  margin-top:5px
}
.field-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}
.field-grid label {
  font-size:11px;
  text-transform:uppercase;
  font-weight:700
}
.field-grid .full {
  grid-column:1/-1
}
.field-grid input,.field-grid textarea {
  width:100%;
  margin-top:7px;
  border:1px solid #cbc6bb;
  background:var(--paper);
  padding:13px;
  font:inherit
}
.field-grid input:focus,.field-grid textarea:focus {
  outline:2px solid rgba(168,50,30,.25);
  border-color:var(--rust)
}
.form-alert {
  padding:15px;
  margin-bottom:25px;
  font-weight:600
}
.form-alert.success {
  background:#dbe5d3
}
.form-alert.error {
  background:#f3d9d1
}
.standard-page,.single-entry {
  padding-top:85px;
  padding-bottom:100px;
  max-width:900px
}
.single-entry h1,.standard-page h1 {
  font-size:64px
}
.single-hero {
  margin:35px 0
}
.single-hero img {
  width:100%;
  max-height:560px;
  object-fit:cover
}
.entry-content h2,.entry-content h3 {
  font-family:var(--display);
  text-transform:uppercase
}
.empty-state {
  border:1px dashed #bbb4a9;
  padding:30px;
  color:var(--muted)
}
/* =========================================================
   RESPONSIVE — TABLET
   ========================================================= */

@media(max-width:980px) {
  .help-items.article2 {
    grid-template-columns:repeat(2,1fr);
  }

  .help-items.article2 article {
    padding:8px 44px;
  }
  .shell {
    width:min(calc(100% - 32px),var(--max))
  }
  .menu-toggle {
    display:block;
    z-index:55
  }
  .primary-nav {
    position:fixed;
    inset:78px 0 0 auto;
    width:min(86vw,420px);
    background:var(--paper);
    padding:35px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    transform:translateX(105%);
    transition:.25s;
    border-left:1px solid var(--line)
  }
  .menu-open .primary-nav {
    transform:translateX(0)
  }
  .nav-list {
    display:flex;
    flex-direction:column;
    gap:0
  }
  .nav-list li {
    border-bottom:1px solid var(--line)
  }
  .nav-list a {
    font:500 30px/1.2 var(--serif);
    text-transform:none;
    display:block;
    padding:15px 0
  }
  .menu-open {
    overflow:hidden
  }
  .hero {
    grid-template-columns:1fr;
    gap:40px;
    min-height:0
  }
  .hero-media {
    min-height:360px
  }
  .hero-media>img,.hero-placeholder {
    height:360px;
    min-height:360px
  }
  .help-grid,.page-split,.join-layout {
    grid-template-columns:1fr
  }
  .join-intro {
    position:static
  }
  .help-items {
    grid-template-columns:repeat(2,1fr)
  }
  .resource-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .event-row {
    grid-template-columns:78px 1fr
  }
  .event-image {
    display:none
  }
  .footer-grid {
    grid-template-columns:1fr 1fr
  }
  .archive-hero-grid {
    grid-template-columns:1fr
  }
  .archive-art {
    display:none
  }
}
/* =========================================================
   RESPONSIVE — MOBILE
   ========================================================= */

@media(max-width:680px) {
  .help-items.article2 {
    grid-template-columns:1fr;
  }

  .help-items.article2 article {
    min-height:0;
    padding:20px 0;
    border-left:0;
    border-top:1px solid #41443f;
  }
  body {
    font-size:15px
  }
  .header-inner {
    height:68px
  }
  .primary-nav {
    inset:68px 0 0 auto
  }
  .brand-name {
    display:none
  }
  .hero {
    padding-top:45px;
    padding-bottom:52px
  }
  .hero h1 {
    font-size:54px
  }
  .hero-deck {
    font-size:16px
  }
  .hero-media {
    min-height:300px
  }
  .hero-media>img,.hero-placeholder {
    height:300px;
    min-height:300px
  }
  .section {
    padding-top:64px;
    padding-bottom:64px
  }
  .pillar-grid,.feature-cards,.resource-grid,.values-grid {
    grid-template-columns:1fr
  }
  .pillar-grid article,.values-grid article {
    border-right:0;
    border-bottom:1px solid var(--line);
    margin:0;
    padding:28px 0
  }
  .help-items {
    grid-template-columns:1fr
  }
  .help-items article {
    min-height:0;
    padding:20px 0;
    border-left:0;
    border-top:1px solid #41443f
  }
  .section-top {
    align-items:flex-start;
    flex-direction:column
  }
  .event-row {
    grid-template-columns:64px 1fr;
    gap:18px
  }
  .event-date {
    width:58px;
    height:68px
  }
  .event-copy p {
    display:none
  }
  .band-cta>.shell {
    align-items:flex-start;
    flex-direction:column
  }
  .footer-grid {
    grid-template-columns:1fr
  }
  .footer-bottom {
    flex-direction:column;
    gap:8px
  }
  .join-form {
    padding:24px
  }
  .check-grid,.field-grid {
    grid-template-columns:1fr
  }
  .field-grid .full {
    grid-column:auto
  }
  .page-split {
    padding-top:65px;
    gap:40px
  }
  .statement-card {
    min-height:360px
  }
  .statement-card span {
    font-size:48px
  }
  .archive-hero {
    padding:55px 0
  }
  .archive-hero h1,.page-intro h1,.page-split h1,.join-layout h1 {
    font-size:55px
  }
}
/* =========================================================
   ACCESSIBILITY — REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce) {
  * {
    scroll-behavior:auto!important;
    transition:none!important
  }
}
/* =========================================================
   TAARN — THE EVENTS CALENDAR COLOR FIX
   Archive + single event pages only
   ========================================================= */
/* EVENTS ARCHIVE / MAIN EVENTS PAGE */
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title a, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-datetime, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-weekday, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-daynum, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-venue-title, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-venue-address, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-description, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-cost, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-details, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-details *, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-datetime-wrapper, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-datetime-wrapper * {
  color: var(--rust) !important;
}
/* Category / event type pill */
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-categories, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-categories a, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-category, body.post-type-archive-tribe_events .tribe-events-calendar-list__event-category a {
  color: var(--rust) !important;
}
/* SINGLE EVENT PAGE */
body.single-tribe_events .tribe-events-single-event-title, body.single-tribe_events .tribe-events-schedule, body.single-tribe_events .tribe-events-schedule h2, body.single-tribe_events .tribe-events-schedule span, body.single-tribe_events .tribe-events-event-meta dt, body.single-tribe_events .tribe-events-event-meta dd, body.single-tribe_events .tribe-events-event-meta a, body.single-tribe_events .tribe-events-meta-group .tribe-events-single-section-title {
  color: var(--rust) !important;
}
/* Keep regular event description/body copy dark */
body.single-tribe_events .tribe-events-single-event-description, body.single-tribe_events .tribe-events-single-event-description p {
  color: var(--ink) !important;
}
/* =========================================================
   TAARN — MOBILE NAV FULL OPAQUE PANEL
   ========================================================= */
@media (max-width: 980px) {
  .primary-nav {
    position: fixed !important;
    /* Fill the entire viewport beneath header */
    top: 78px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: calc(100vh - 78px) !important;
    background: #f5f2eb !important;
    background-color: #f5f2eb !important;
    opacity: 1 !important;
    padding: 35px 34px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    transform: translateX(105%) !important;
    transition: transform .25s ease !important;
    border-left: 0 !important;
    /* Sit above every page element */
    z-index: 9998 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    /* Prevent any transparency effects */
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body.menu-open .primary-nav,   .menu-open .primary-nav {
    transform: translateX(0) !important;
  }
  .primary-nav::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #f5f2eb;
    z-index: -1;
  }
  .primary-nav .nav-list {
    position: relative;
    z-index: 1;
    width: 100%;
    background: #f5f2eb !important;
  }
  .primary-nav .nav-list li {
    background: #f5f2eb !important;
  }
  .primary-nav .nav-list a {
    color: var(--ink) !important;
  }
  .primary-nav .button {
    position: relative;
    z-index: 1;
  }
}
/* Smaller mobile header height */
@media (max-width: 680px) {
  .primary-nav {
    top: 68px !important;
    height: calc(100vh - 68px) !important;
  }
}

/* =========================================================
   ARTS AGAINST DEHUMANIZATION — LANDING PAGE
   Uses TAARN's existing variables, shell, button, eyebrow,
   section-top, and typography system.
   ========================================================= */


/* =========================================================
   AAD — HERO
   ========================================================= */

.aad-hero {
  background: var(--paper);
  padding: 95px 0 105px;
  overflow: hidden;
}

.aad-hero-grid {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 90px;
  align-items: end;
}

.aad-hero-copy {
  max-width: 800px;
}

.aad-hero h1 {
  font: 600 clamp(62px, 7vw, 108px)/.92 var(--display);
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin: 0 0 30px;
}

.aad-hero h1 em {
  color: var(--rust);
  font-style: normal;
}

.aad-hero-deck {
  max-width: 680px;
  margin: 0 0 32px;
  font: 500 clamp(20px, 2vw, 28px)/1.35 var(--serif);
  color: #343731;
}

.aad-hero-visual {
  position: relative;
  padding-left: 44px;
  border-left: 1px solid var(--aad-line);
}

.aad-logo-frame {
  background: #fff;
  border: 1px solid var(--aad-line);
  padding: 28px;
}

.aad-logo-frame img {
  width: 100%;
  max-width: 390px;
  margin: 0 auto;
}

.aad-hero-mantra {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin: 16px 0 0;
  color: var(--aad-black);
  font: 600 12px/1 var(--display);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.aad-hero-mantra span:nth-child(2) {
  color: var(--aad-red);
}

.aad-hero-mantra span:nth-child(3) {
  color: var(--aad-gold-dark);
}


/* =========================================================
   AAD — SHARED SECTION TYPOGRAPHY
   ========================================================= */

.aad-section-title,
.aad-founders-heading h2,
.aad-social h2 {
  font: 500 clamp(38px, 4.5vw, 60px)/1.02 var(--display);
  letter-spacing: -.025em;
  text-transform: uppercase;
  margin: 0;
}

.aad-section-note {
  max-width: 390px;
  margin: 0;
  color: var(--muted);
}


/* =========================================================
   AAD — ABOUT
   ========================================================= */

.aad-about {
  border-top: 1px solid var(--line);
}

.aad-about-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 95px;
  align-items: start;
}

.aad-prose {
  color: #343731;
  font-size: 17px;
}

.aad-prose p {
  margin: 0 0 1.4em;
}

.aad-prose p:last-child {
  margin-bottom: 0;
}

.aad-prose-lead p:first-child::first-letter {
  float: left;
  margin: .06em .12em 0 0;
  font: 600 64px/.78 var(--display);
  color: var(--rust);
}


/* =========================================================
   AAD — BELIEFS / PRACTICE / RESISTANCE
   ========================================================= */

.aad-principles {
  background: #171a17;
  color: #fff;
  padding: 78px 0;
}

.aad-principles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #484b46;
  border-bottom: 1px solid #484b46;
}

.aad-principle {
  padding: 38px 42px;
  border-right: 1px solid #484b46;
}

.aad-principle:first-child {
  padding-left: 0;
}

.aad-principle:last-child {
  padding-right: 0;
  border-right: 0;
}

.aad-principle-number {
  color: #c9a660;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
}

.aad-principle h2 {
  margin: 22px 0 25px;
  font: 600 32px/1 var(--display);
  text-transform: uppercase;
}

.aad-principle ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.aad-principle li {
  position: relative;
  padding: 10px 0 10px 18px;
  border-top: 1px solid rgba(255,255,255,.08);
  color: #c4c7c1;
  font-size: 14px;
}

.aad-principle li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: #c9a660;
}


/* =========================================================
   AAD — INITIATIVES
   ========================================================= */

.aad-initiatives {
  background: var(--paper);
}

.aad-initiative {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 65px;
  padding: 55px 0;
  border-top: 1px solid var(--line);
}

.aad-initiative:last-child {
  border-bottom: 1px solid var(--line);
}

.aad-initiative-label {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.aad-initiative-label span {
  font: 500 54px/1 var(--display);
  color: var(--rust);
}

.aad-initiative-label small {
  text-transform: uppercase;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .07em;
}

.aad-initiative-content {
  max-width: 800px;
}

.aad-initiative-content h3 {
  margin: 0 0 22px;
  font: 600 clamp(38px, 4vw, 56px)/1 var(--display);
  text-transform: uppercase;
}

.aad-initiative-content p {
  max-width: 720px;
  color: #343731;
}

.aad-initiative-lead {
  font: 500 21px/1.45 var(--serif);
}

.aad-event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
  margin: 0 0 24px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.aad-event-meta span {
  font-size: 13px;
}

.aad-event-meta strong {
  margin-right: 8px;
  color: var(--rust);
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: .05em;
}

.aad-initiative .button-row {
  align-items: center;
  margin-top: 28px;
}


/* =========================================================
   AAD — CO-FOUNDERS
   ========================================================= */

.aad-founders {
  background: var(--green);
  color: #fff;
  padding: 88px 0 95px;
}

.aad-founders-heading {
  max-width: 650px;
  margin-bottom: 48px;
}

.aad-founders-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(255,255,255,.28);
  border-bottom: 1px solid rgba(255,255,255,.28);
}

.aad-founder {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 28px;
  padding: 38px 42px 42px 0;
}

.aad-founder + .aad-founder {
  padding-left: 42px;
  border-left: 1px solid rgba(255,255,255,.28);
}

.aad-founder-mark {
  width: 62px;
  height: 62px;
  border: 1px solid rgba(255,255,255,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 600 19px var(--display);
  color: #e5cc8f;
}

.aad-founder h3 {
  margin: 0 0 15px;
  font: 600 25px/1.1 var(--display);
  text-transform: uppercase;
}

.aad-founder p {
  color: #eef0eb;
  font-size: 14px;
  margin: 0 0 1.25em;
}


/* =========================================================
   AAD — SOCIAL FOLLOW
   ========================================================= */

.aad-social {
  background: #171a17;
  color: #fff;
  padding: 75px 0;
}

.aad-social-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 90px;
  align-items: center;
}

.aad-social p:not(.eyebrow) {
  max-width: 470px;
  color: #c4c7c1;
}

.aad-social-links {
  border-top: 1px solid #484b46;
}

.aad-social-links > a {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  gap: 18px;
  align-items: center;
  min-height: 82px;
  border-bottom: 1px solid #484b46;
  transition: padding .2s ease, background .2s ease;
}

.aad-social-links > a:hover {
  padding-left: 12px;
  background: rgba(255,255,255,.025);
}

.aad-social-icon {
  width: 38px;
  height: 38px;
  border: 1px solid #5d615a;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c9a660;
}

.aad-social-icon svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 1.5;
}

.aad-social-icon-text {
  font: 600 11px var(--sans);
}

.aad-social-links small {
  display: block;
  color: #92968f;
  text-transform: uppercase;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
}

.aad-social-links strong {
  display: block;
  font: 500 20px var(--display);
  text-transform: uppercase;
}

.aad-social-links b {
  color: #c9a660;
  font-weight: 400;
  font-size: 22px;
}


/* =========================================================
   AAD — TABLET
   ========================================================= */

@media (max-width: 980px) {

  .aad-hero-grid,
  .aad-about-grid,
  .aad-social-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .aad-hero {
    padding: 75px 0;
  }

  .aad-hero-visual {
    border-left: 0;
    border-top: 1px solid var(--aad-line);
    padding: 32px 0 0;
  }

  .aad-logo-frame img {
    max-width: 340px;
  }

  .aad-principles-grid {
    grid-template-columns: 1fr;
  }

  .aad-principle,
  .aad-principle:first-child,
  .aad-principle:last-child {
    padding: 34px 0;
    border-right: 0;
    border-bottom: 1px solid #484b46;
  }

  .aad-principle:last-child {
    border-bottom: 0;
  }

  .aad-initiative {
    grid-template-columns: 150px 1fr;
    gap: 40px;
  }

  .aad-founders-grid {
    grid-template-columns: 1fr;
  }

  .aad-founder,
  .aad-founder + .aad-founder {
    padding: 35px 0;
    border-left: 0;
  }

  .aad-founder + .aad-founder {
    border-top: 1px solid rgba(255,255,255,.28);
  }

}


/* =========================================================
   AAD — MOBILE
   ========================================================= */

@media (max-width: 680px) {

  .aad-hero {
    padding: 55px 0 65px;
  }

  .aad-hero h1 {
    font-size: 54px;
  }

  .aad-hero-deck {
    font-size: 19px;
  }

  .aad-about-grid {
    gap: 35px;
  }

  .aad-principles {
    padding: 55px 0;
  }

  .aad-initiative {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 42px 0;
  }

  .aad-initiative-label {
    flex-direction: row;
    align-items: baseline;
    gap: 14px;
  }

  .aad-initiative-label span {
    font-size: 38px;
  }

  .aad-event-meta {
    flex-direction: column;
    gap: 6px;
  }

  .aad-founder,
  .aad-founder + .aad-founder {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .aad-founders {
    padding: 65px 0;
  }

  .aad-social {
    padding: 60px 0;
  }

  .aad-social-grid {
    gap: 38px;
  }

}
/* =========================================================
   AAD — BRAND PALETTE + ASSET INTEGRATION
   Based on the supplied AAD logo and IMAGININGS artwork.
   ========================================================= */

.aad-page {
  --aad-red: #d90000;
  --aad-red-dark: #a8321e;
  --aad-gold: #e7ad00;
  --aad-gold-dark: #a98b43;
  --aad-black: #080908;
  --aad-cream: #f5f2eb;
  --aad-line: #d7d2c8;
}

/* Keep TAARN's paper/sans/display language, but let AAD's
   red + black + gold carry this landing page's identity. */
.aad-page .eyebrow {
  color: var(--aad-red);
}

.aad-page .eyebrow.inverse {
  color: var(--aad-gold);
}

.aad-page .button {
  background: var(--aad-red);
  border-color: var(--aad-red);
}

.aad-page .button:hover {
  background: var(--aad-black);
  border-color: var(--aad-black);
}

.aad-page .button-outline {
  background: transparent;
  color: var(--aad-black);
  border-color: var(--aad-black);
}

.aad-page .button-outline:hover {
  background: var(--aad-black);
  color: #fff;
}

.aad-page .text-link {
  color: var(--aad-red);
}

.aad-hero h1 em,
.aad-initiative-label span,
.aad-event-meta strong {
  color: var(--aad-red);
}

.aad-prose-lead p:first-child::first-letter {
  color: var(--aad-red);
}


/* Dark principles section now echoes the AAD artwork. */
.aad-principles {
  background: var(--aad-black);
}

.aad-principle-number,
.aad-principle li::before {
  color: var(--aad-gold);
}


/* Founders use deep AAD red rather than TAARN green. */
.aad-founders {
  background: #a90000;
}

.aad-founder-mark {
  color: var(--aad-gold);
  border-color: rgba(255,255,255,.5);
}


/* Social footer carries the black/gold side of the identity. */
.aad-social {
  background: var(--aad-black);
}

.aad-social-icon,
.aad-social-links b {
  color: var(--aad-gold);
}


/* =========================================================
   AAD — IMAGININGS ASSET
   ========================================================= */

.aad-imaginings-content {
  max-width: none;
}

.aad-imaginings-layout {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  gap: 44px;
  align-items: start;
}

.aad-imaginings-image {
  background: var(--aad-black);
  border: 1px solid var(--aad-black);
  overflow: hidden;
}

.aad-imaginings-image img {
  display: block;
  width: 100%;
  height: auto;
}

.aad-imaginings-copy {
  max-width: 650px;
}

.aad-imaginings-copy p:first-child {
  margin-top: 0;
}


/* =========================================================
   AAD — BRAND RESPONSIVE
   ========================================================= */

@media (max-width: 980px) {

  .aad-imaginings-layout {
    grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr);
    gap: 32px;
  }

}

@media (max-width: 680px) {

  .aad-logo-frame {
    padding: 20px;
  }

  .aad-hero-mantra {
    font-size: 10px;
  }

  .aad-imaginings-layout {
    grid-template-columns: 1fr;
  }

  .aad-imaginings-image {
    max-width: 520px;
  }

}
