
/* =========================================================
   DANE SPOTTS — GLOBAL UI KIT v2.0
   Complete replacement
   Foundation for DaneSpotts.com Phase 2
========================================================= */

:root {
  --ds-black: #090908;
  --ds-deep: #11100e;
  --ds-charcoal: #1a1814;

  --ds-cream: #f4efe6;
  --ds-paper: #f7f0e4;
  --ds-soft-paper: #fbf7ef;

  --ds-text: #111827;
  --ds-muted: #4b5563;
  --ds-soft-muted: rgba(17, 24, 39, 0.58);

  --ds-gold: #b79253;
  --ds-gold-bright: #d4af68;
  --ds-bronze: #7f6336;

  --ds-line-dark: rgba(17, 24, 39, 0.12);
  --ds-line-soft: rgba(17, 24, 39, 0.08);
  --ds-line-light: rgba(244, 239, 230, 0.16);
  --ds-line-gold: rgba(183, 146, 83, 0.28);

  --ds-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --ds-sans: Inter, Manrope, Arial, sans-serif;

  --ds-max: 1180px;
  --ds-wide: 1380px;
  --ds-reading: 760px;

  --ds-space-xl: clamp(130px, 14vw, 210px);
  --ds-space-lg: clamp(100px, 11vw, 160px);
  --ds-space-md: clamp(76px, 8vw, 120px);
  --ds-space-sm: clamp(52px, 6vw, 80px);
  --ds-space-xs: clamp(34px, 4vw, 52px);

  --ds-radius-sm: 12px;
  --ds-radius-md: 20px;
  --ds-radius-lg: 32px;

  --ds-shadow-soft: 0 24px 80px rgba(9, 9, 8, 0.14);
  --ds-shadow-dark: 0 30px 90px rgba(0, 0, 0, 0.35);
}

/* ---------- Elementor / Theme Reset ---------- */

html {
  scroll-behavior: smooth;
}

body {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--ds-paper);
  color: var(--ds-text);
  font-family: var(--ds-sans);
  overflow-x: hidden;
}

* {
  box-sizing: border-box;
}

.elementor-section,
.elementor-container,
.elementor-widget-wrap,
.elementor-widget,
.elementor-widget-container,
.elementor-widget-html {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.elementor-widget-container p:last-child {
  margin-bottom: 0;
}

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

/* ---------- Global Typography ---------- */

.ds-eyebrow {
  font-family: var(--ds-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--ds-gold);
  margin: 0 0 22px;
}

.ds-kicker {
  font-family: var(--ds-serif);
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1.35;
  font-weight: 400;
  color: inherit;
}

.ds-serif-title {
  font-family: var(--ds-serif);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 0.98;
}

.ds-page-title {
  font-family: var(--ds-serif);
  font-size: clamp(58px, 8vw, 124px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.9;
  margin: 0;
}

.ds-section-title {
  font-family: var(--ds-serif);
  font-size: clamp(44px, 5.5vw, 86px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.96;
  margin: 0;
}

.ds-card-title {
  font-family: var(--ds-serif);
  font-size: clamp(30px, 3vw, 46px);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 1.04;
  margin: 0;
}

.ds-body-large {
  font-family: var(--ds-serif);
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.55;
  font-weight: 400;
}

.ds-body {
  font-family: var(--ds-sans);
  font-size: 17px;
  line-height: 1.75;
}

.ds-small {
  font-family: var(--ds-sans);
  font-size: 13px;
  line-height: 1.7;
  color: var(--ds-soft-muted);
}

/* ---------- Layout Helpers ---------- */

.ds-wrap {
  width: min(calc(100% - 48px), var(--ds-max));
  margin: 0 auto;
}

.ds-wide {
  width: min(calc(100% - 48px), var(--ds-wide));
  margin: 0 auto;
}

.ds-reading {
  width: min(calc(100% - 48px), var(--ds-reading));
  margin: 0 auto;
}

.ds-section {
  padding: var(--ds-space-lg) 0;
}

.ds-section-xl {
  padding: var(--ds-space-xl) 0;
}

.ds-section-tight {
  padding: var(--ds-space-md) 0;
}

.ds-dark {
  background: var(--ds-black);
  color: var(--ds-cream);
}

.ds-paper {
  background: var(--ds-paper);
  color: var(--ds-text);
}

.ds-soft-paper {
  background: var(--ds-soft-paper);
  color: var(--ds-text);
}

.ds-center {
  text-align: center;
}

.ds-divider {
  width: 100%;
  height: 1px;
  background: var(--ds-line-dark);
}

.ds-dark .ds-divider {
  background: var(--ds-line-light);
}

/* ---------- Buttons ---------- */

.ds-btn-primary,
.ds-btn-secondary,
.ds-btn-paper,
.ds-btn-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 16px 32px;
  font-family: var(--ds-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.35s ease;
  cursor: pointer;
}

.ds-btn-primary {
  background: var(--ds-gold);
  color: var(--ds-black) !important;
  border: 1px solid var(--ds-gold);
}

.ds-btn-primary:hover {
  background: var(--ds-gold-bright);
  border-color: var(--ds-gold-bright);
  color: var(--ds-black) !important;
}

.ds-btn-secondary {
  border: 1px solid var(--ds-line-gold);
  color: var(--ds-cream) !important;
  background: transparent;
}

.ds-btn-secondary:hover {
  border-color: var(--ds-gold-bright);
  color: var(--ds-gold-bright) !important;
}

.ds-btn-paper {
  background: transparent;
  border: 1px solid var(--ds-line-dark);
  color: var(--ds-text) !important;
}

.ds-btn-paper:hover {
  border-color: var(--ds-gold);
  color: var(--ds-bronze) !important;
}

.ds-btn-text {
  padding-left: 0;
  padding-right: 0;
  min-height: auto;
  color: var(--ds-gold) !important;
}

.ds-btn-text:hover {
  color: var(--ds-gold-bright) !important;
}

/* ---------- Cards ---------- */

.ds-card {
  background: rgba(255, 255, 255, 0.32);
  border: 1px solid var(--ds-line-soft);
  padding: clamp(30px, 4vw, 54px);
}

.ds-card-dark {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--ds-line-light);
  padding: clamp(30px, 4vw, 54px);
}

.ds-editorial-card {
  border-top: 1px solid var(--ds-line-dark);
  padding-top: 28px;
}

.ds-dark .ds-editorial-card {
  border-top-color: var(--ds-line-light);
}

/* ---------- Header ---------- */

.ds-site-header {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: var(--ds-black);
  border-bottom: 1px solid var(--ds-line-gold);
  position: relative;
  z-index: 50;
}

.ds-header {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 34px clamp(32px, 8vw, 190px) 30px !important;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 60px;
}

.ds-brand {
  flex: 0 0 auto;
}

.ds-brand-title,
.ds-brand-title:visited {
  display: block;
  font-family: var(--ds-serif);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--ds-cream) !important;
  text-decoration: none !important;
}

.ds-brand-title:hover {
  color: #ffffff !important;
}

.ds-brand-tagline {
  margin-top: 15px;
  max-width: 430px;
  font-family: var(--ds-sans);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ds-gold);
}

.ds-navigation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(26px, 3.4vw, 52px);
  margin-top: 13px;
  flex: 1;
}

.ds-navigation a,
.ds-navigation a:visited {
  font-family: var(--ds-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ds-cream) !important;
  text-decoration: none !important;
  opacity: 0.9;
  transition: color 0.3s ease, opacity 0.3s ease;
}

.ds-navigation a:hover {
  color: var(--ds-gold) !important;
  opacity: 1;
}

.ds-menu-toggle {
  display: none;
  background: none;
  border: 0;
  color: var(--ds-gold);
  font-family: var(--ds-sans);
  font-size: 18px;
  cursor: pointer;
  padding: 0;
}

.ds-mobile-menu {
  display: none;
}

/* ---------- Footer ---------- */

.ds-footer {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: var(--ds-black);
  padding: 76px 30px 44px;
}

.ds-footer-inner {
  max-width: var(--ds-max);
  margin: auto;
}

.ds-footer-brand {
  margin-bottom: 42px;
}

.ds-footer-brand a,
.ds-footer-brand a:visited {
  font-family: var(--ds-serif);
  font-size: clamp(28px, 3vw, 36px);
  letter-spacing: 0.30em;
  text-transform: uppercase;
  color: var(--ds-cream) !important;
  text-decoration: none !important;
}

.ds-footer-nav {
  display: flex;
  gap: 46px;
  flex-wrap: wrap;
  margin-bottom: 42px;
}

.ds-footer-nav a,
.ds-footer-nav a:visited {
  font-family: var(--ds-sans);
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: var(--ds-cream) !important;
  transition: color 0.35s ease;
}

.ds-footer-nav a:hover {
  color: var(--ds-gold-bright) !important;
}

.ds-footer-divider {
  height: 1px;
  background: var(--ds-line-gold);
  margin-bottom: 24px;
}

.ds-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  font-family: var(--ds-sans);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: rgba(244, 239, 230, 0.45);
}

/* ---------- Simple Fade Utility ---------- */

.ds-fade-in {
  animation: dsFadeIn 0.8s ease both;
}

@keyframes dsFadeIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ---------- Mobile ---------- */

@media (max-width: 900px) {
  .ds-wrap,
  .ds-wide,
  .ds-reading {
    width: min(calc(100% - 36px), var(--ds-max));
  }

  .ds-section,
  .ds-section-xl,
  .ds-section-tight {
    padding: var(--ds-space-sm) 0;
  }

  .ds-site-header {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ds-header {
    padding: 26px 24px !important;
    align-items: center;
    gap: 24px;
  }

  .ds-brand-title {
    font-size: 25px;
    letter-spacing: 0.26em;
  }

  .ds-brand-tagline {
    display: none;
  }

  .ds-navigation {
    display: none;
  }

  .ds-menu-toggle {
    display: block;
  }

  .ds-mobile-menu {
    display: none;
    background: var(--ds-black);
    border-top: 1px solid rgba(183, 146, 83, 0.22);
    padding: 34px 24px 42px;
  }

  .ds-mobile-menu.is-open {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .ds-mobile-menu a,
  .ds-mobile-menu a:visited {
    font-family: var(--ds-serif);
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ds-cream) !important;
    text-decoration: none !important;
  }

  .ds-mobile-menu a:hover {
    color: var(--ds-gold) !important;
  }

  .ds-footer {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 64px 24px 36px;
  }

  .ds-footer-nav,
  .ds-footer-bottom {
    flex-direction: column;
    gap: 18px;
  }

  .ds-btn-primary,
  .ds-btn-secondary,
  .ds-btn-paper {
    width: 100%;
  }
}
	section.ds-work-page .ds-work-hero h1{
    color: var(--ds-cream) !important;
}

/* ---- Page designs carried over from Elementor's Custom CSS (tools/page_css.py) ---- */
{}
h1.entry-title{display:var(--page-title-display);}
.ds-quote{position: absolute;
  right: 5vw;
  bottom: 6vh;
  z-index: 6;
  max-width: 420px;
  opacity: 0;
  animation: dsTextReveal 1s ease .9s forwards;}
.ds-quote p{margin: 0 0 24px;
  color: rgba(247,240,228,.94);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 2.2vw, 38px);
  line-height: 1.32;
  font-weight: 700;
  text-shadow: 0 8px 26px rgba(0,0,0,.75);}
.ds-quote strong{color: var(--ds-gold-soft);
  font-weight: 800;}
.ds-signature-image{display:block;
    margin-top:18px;
    width:220px;
    max-width:100%;
    height:auto;
    filter:
        brightness(1.05)
        saturate(1.15)
        drop-shadow(0 6px 18px rgba(0,0,0,.45));}
@media (max-width:700px){.ds-quote{
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 42px;
    max-width: 100%;
  }.ds-quote p{
    font-size: 24px;
  }.ds-signature{
    font-size: 34px;
  }}
.ds-book-feature{background:
    radial-gradient(circle at 20% 30%, rgba(176,138,70,.12), transparent 34%),
    linear-gradient(180deg, #14120f 0%, #0f0e0c 100%);
  color: #f4efe6;
  padding: clamp(90px, 11vw, 155px) 28px;
  border-top: 1px solid rgba(176,138,70,.25);
  border-bottom: 1px solid rgba(176,138,70,.25);}
.ds-book-wrap{width: min(100%, 1180px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: .82fr 1fr;
  gap: clamp(46px, 8vw, 110px);
  align-items: center;}
.ds-book-image{max-width: 420px;}
.ds-book-image img{width: 100%;
  display: block;
  border-radius: 4px;
  box-shadow: 0 42px 90px rgba(0,0,0,.45);}
.ds-book-eyebrow{font-size: 13px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ds-gold);
  margin: 0 0 26px;}
.ds-book-copy h2{font-family: var(--ds-serif);
  font-weight: 400;
  font-size: clamp(48px, 7vw, 92px);
  line-height: .98;
  letter-spacing: -0.045em;
  color: #f4efe6;
  margin: 0;}
.ds-book-mark{width: 72px;
  height: 1px;
  background: var(--ds-gold);
  margin: 34px 0;}
.ds-book-copy p{max-width: 650px;
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.72;
  color: rgba(244,239,230,.76);
  margin: 0 0 24px;}
.ds-book-copy em{color: #d2ad68;
  font-style: italic;}
.ds-book-button{display: inline-flex;
  margin-top: 18px;
  padding: 19px 30px;
  border: 1px solid rgba(176,138,70,.75);
  color: #d2ad68;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 12px;
  transition: all .35s ease;}
.ds-book-button:hover{background: rgba(176,138,70,.12);
  transform: translateY(-2px);}
@media(max-width: 900px){.ds-book-wrap{
    grid-template-columns: 1fr;
  }.ds-book-image{
    max-width: 340px;
    margin: 0 auto;
  }.ds-book-copy{
    text-align: left;
  }}
.ds-final-chapter{background:#0A0908;

padding:190px 30px;

text-align:center;}
.ds-final-inner{max-width:900px;

margin:auto;}
.ds-final-eyebrow{font-family:Inter,sans-serif;

font-size:12px;

letter-spacing:.30em;

text-transform:uppercase;

color:#B79253;

margin-bottom:30px;}
.ds-final-chapter h2{font-family:"Cormorant Garamond",serif;

font-weight:400;

font-size:clamp(56px,7vw,96px);

line-height:1.02;

letter-spacing:-.03em;

color:#F4EFE6;

margin:0;}
.ds-final-divider{width:90px;

height:1px;

background:#B79253;

margin:60px auto;}
.ds-final-copy{font-family:"Cormorant Garamond",serif;

font-size:30px;

line-height:1.65;

color:rgba(244,239,230,.70);

margin:0 auto 26px;

max-width:760px;}
.ds-final-signature{margin-top:70px;

font-family:Inter,sans-serif;

font-size:12px;

letter-spacing:.28em;

text-transform:uppercase;

color:#B79253;}
@media(max-width:768px){.ds-final-chapter{

padding:120px 24px;

}.ds-final-copy{

font-size:24px;

}}
@media (min-width: 1100px){.ds-hero-content,
  .ds-hero-copy,
  .ds-hero-inner{
    padding-left: 80px;
  }}
.ds-footer{background:#090908;

padding:70px 30px 40px;}
.ds-footer-inner{max-width:1180px;

margin:auto;}
.ds-footer-brand{margin-bottom:42px;}
.ds-footer-brand a{font-family:"Cormorant Garamond",serif;

font-size:34px;

letter-spacing:.30em;

text-transform:uppercase;

color:#F4EFE6;

text-decoration:none;}
.ds-footer-nav{display:flex;

gap:46px;

flex-wrap:wrap;

margin-bottom:42px;}
.ds-footer-nav a{font-family:Inter,sans-serif;

font-size:12px;

letter-spacing:.22em;

text-transform:uppercase;

text-decoration:none;

color:#F4EFE6;

transition:.35s;}
.ds-footer-nav a:hover{color:#D4AF68;}
.ds-footer-divider{height:1px;

background:rgba(176,138,70,.18);

margin-bottom:24px;}
.ds-footer-bottom{display:flex;

justify-content:space-between;

font-family:Inter,sans-serif;

font-size:12px;

letter-spacing:.08em;

color:rgba(244,239,230,.45);}
@media(max-width:768px){.ds-footer-nav{

flex-direction:column;

gap:20px;

}.ds-footer-bottom{

flex-direction:column;

gap:10px;

}}
.ds-journal-page{background:var(--ds-paper);
    color:var(--ds-text);}
.ds-journal-hero{padding:clamp(100px,11vw,165px) 0 clamp(30px,4vw,55px);}
.ds-journal-hero h1{font-family:var(--ds-serif);
    font-size:clamp(68px,9vw,142px);
    font-weight:400;
    letter-spacing:-0.065em;
    line-height:.88;
    margin:0 0 34px;}
.ds-journal-hero p:not(.ds-eyebrow){max-width:760px;
    margin:0;

    font-family:var(--ds-serif);
    font-size:clamp(25px,3vw,40px);
    line-height:1.34;

    color:rgba(17,24,39,.78);}
.ds-journal-rule{display:none;}
.ds-featured-essay{padding:clamp(24px,3vw,42px) 0 clamp(72px,8vw,110px);}
.ds-featured-essay figure{margin:0 0 clamp(26px,3vw,42px);}
.ds-featured-essay img{display:block;

    width:100%;

    height:clamp(340px,50vw,720px);

    object-fit:cover;}
.ds-featured-copy{max-width:860px;}
.ds-journal-meta{margin:0 0 14px;

    font-family:var(--ds-sans);

    font-size:12px;

    font-weight:600;

    letter-spacing:.24em;

    text-transform:uppercase;

    color:var(--ds-gold);}
.ds-featured-copy h2{font-family:var(--ds-serif);

    font-size:clamp(52px,7vw,104px);

    font-weight:400;

    letter-spacing:-.055em;

    line-height:.93;

    margin:0 0 20px;}
.ds-featured-copy p:not(.ds-journal-meta){max-width:700px;

    font-family:var(--ds-serif);

    font-size:clamp(24px,2.8vw,36px);

    line-height:1.40;

    margin:0 0 26px;

    color:rgba(17,24,39,.72);}
.ds-featured-copy>a{font-family:var(--ds-sans);

    font-size:12px;

    font-weight:700;

    letter-spacing:.22em;

    text-transform:uppercase;

    color:var(--ds-gold);

    text-decoration:none;}
.ds-journal-archive{padding:clamp(40px,5vw,70px) 0 clamp(110px,10vw,150px);}
.ds-archive-year{margin:0 0 20px;

    font-family:var(--ds-serif);

    font-size:40px;

    color:var(--ds-gold);}
.ds-essay-row{padding:26px 0;}
@media(max-width:768px){.ds-journal-hero{

padding-top:82px;

padding-bottom:26px;

}.ds-featured-essay{

padding-top:18px;

}}
.elementor-2343 .elementor-element.elementor-element-473d9c2 .ds-work-hero h1,
.elementor-2343 .elementor-element.elementor-element-473d9c2 .ds-work-hero h1 *{color: var(--ds-cream, #f7f0e4) !important;
  opacity: 1 !important;}
.elementor-2343 .elementor-element.elementor-element-473d9c2 .ds-work-hero p{color: rgba(247,240,228,.82) !important;}
.elementor-2343 .elementor-element.elementor-element-473d9c2 .ds-work-hero .ds-work-eyebrow{color: var(--ds-gold, #d9a33a) !important;}


/* ---- The Journal (was the DaneSpotts Core plugin) ---- */

.ds-journal-magazine-v3{background:var(--ds-paper);color:var(--ds-text);padding:clamp(56px,6vw,92px) 0 clamp(90px,9vw,140px)}
.ds-journal-magazine-wrap{width:min(calc(100% - 56px),var(--ds-wide));margin:0 auto}.ds-journal-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:52px;align-items:start}.ds-mag-eyebrow{margin:0 0 24px;font-family:var(--ds-sans);font-size:12px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--ds-gold)}.ds-mag-feature{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--ds-line-dark);background:rgba(255,255,255,.28);box-shadow:0 20px 70px rgba(9,9,8,.08)}.ds-mag-feature-image{display:block;min-height:420px;background:var(--ds-black);overflow:hidden}.ds-mag-feature-image img{width:100%;height:100%;min-height:420px;display:block;object-fit:cover;transition:transform .5s ease}.ds-mag-feature:hover .ds-mag-feature-image img{transform:scale(1.025)}.ds-mag-image-fallback{min-height:420px;background:linear-gradient(135deg,var(--ds-black),var(--ds-charcoal))}.ds-mag-feature-copy{padding:clamp(34px,4vw,58px);display:flex;flex-direction:column;justify-content:center}.ds-mag-meta{margin:0 0 18px;font-family:var(--ds-sans);font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--ds-gold)}.ds-mag-feature-copy h2{margin:0 0 22px;font-family:var(--ds-serif);font-size:clamp(38px,4.5vw,68px);font-weight:400;line-height:.97;letter-spacing:-.05em}.ds-mag-feature-copy h2 a{color:var(--ds-text)!important;text-decoration:none!important}.ds-mag-feature-copy h2 a:hover{color:var(--ds-gold)!important}.ds-mag-feature-copy p:not(.ds-mag-meta){margin:0 0 28px;font-family:var(--ds-serif);font-size:clamp(19px,1.8vw,24px);line-height:1.45;color:rgba(17,24,39,.76)}.ds-mag-author-row{border-top:1px solid var(--ds-line-dark);padding-top:18px;margin:0 0 24px;display:flex;align-items:center;gap:14px;font-family:var(--ds-sans)}.ds-mag-author-dot{width:44px;height:44px;border-radius:50%;background:var(--ds-black);color:var(--ds-gold);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;letter-spacing:.12em}.ds-mag-author-row strong{display:block;font-size:14px}.ds-mag-author-row span{display:block;margin-top:3px;font-size:12px;color:rgba(17,24,39,.58)}.ds-mag-read-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;width:max-content;min-height:52px;padding:16px 28px;background:var(--ds-black);color:var(--ds-cream)!important;text-decoration:none!important;font-family:var(--ds-sans);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;transition:all .35s ease}.ds-mag-read-btn:hover{background:var(--ds-gold);color:var(--ds-black)!important}.ds-journal-sidebar{border-left:1px solid var(--ds-line-dark);padding-left:36px}.ds-side-article{display:grid;grid-template-columns:104px 1fr;gap:18px;padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--ds-line-dark);text-decoration:none!important;color:var(--ds-text)!important}.ds-side-article img{width:104px;height:92px;object-fit:cover}.ds-side-article em,.ds-side-coming em{display:block;margin:0 0 8px;font-family:var(--ds-sans);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--ds-gold)}.ds-side-article strong,.ds-side-coming strong{display:block;font-family:var(--ds-serif);font-size:22px;font-weight:600;line-height:1.05;letter-spacing:-.02em}.ds-side-article small,.ds-side-coming small{display:block;margin-top:8px;font-family:var(--ds-sans);font-size:13px;line-height:1.5;color:rgba(17,24,39,.7)}.ds-side-coming{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--ds-line-dark)}.ds-view-all{display:inline-flex;gap:14px;align-items:center;font-family:var(--ds-sans);font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;text-decoration:none!important;color:var(--ds-text)!important}.ds-view-all:hover{color:var(--ds-gold)!important}.ds-subscribe-banner{margin:34px 0 72px;padding:26px 34px;background:var(--ds-black);color:var(--ds-cream);display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:24px}.ds-subscribe-icon{width:56px;height:56px;border:1px solid var(--ds-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ds-gold);font-size:24px}.ds-subscribe-banner h3{margin:0 0 6px;font-family:var(--ds-serif);font-size:28px;font-weight:500}.ds-subscribe-banner p{margin:0;font-family:var(--ds-sans);font-size:14px;color:rgba(244,239,230,.74)}.ds-subscribe-banner a{display:inline-flex;gap:12px;align-items:center;justify-content:center;padding:16px 24px;background:var(--ds-gold);color:var(--ds-black)!important;text-decoration:none!important;font-family:var(--ds-sans);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.ds-mag-archive{max-width:980px}.ds-mag-archive-row{display:grid;grid-template-columns:1fr auto 24px;gap:24px;align-items:center;padding:22px 0;border-top:1px solid var(--ds-line-dark);text-decoration:none!important;color:var(--ds-text)!important}.ds-mag-archive-row:last-child{border-bottom:1px solid var(--ds-line-dark)}.ds-mag-archive-row strong{font-family:var(--ds-serif);font-size:clamp(24px,2.4vw,34px);font-weight:400;line-height:1.1}.ds-mag-archive-row span{font-family:var(--ds-sans);font-size:12px;color:rgba(17,24,39,.62)}.ds-mag-archive-row b{font-size:22px;font-weight:300;color:var(--ds-gold)}.ds-mag-archive-row:hover strong{color:var(--ds-gold)}.ds-journal-v3-empty{width:min(calc(100% - 56px),var(--ds-reading));margin:80px auto;padding:42px;border:1px solid var(--ds-line-dark);background:rgba(255,255,255,.32)}.ds-journal-v3-empty p:last-child{font-family:var(--ds-serif);font-size:28px;line-height:1.3}
@media(max-width:1050px){.ds-journal-main-grid{grid-template-columns:1fr}.ds-journal-sidebar{border-left:0;padding-left:0}.ds-mag-feature{grid-template-columns:1fr}.ds-side-article{grid-template-columns:90px 1fr}.ds-subscribe-banner{grid-template-columns:1fr;text-align:left}.ds-subscribe-banner a{width:100%}}
@media(max-width:700px){.ds-journal-magazine-wrap{width:min(calc(100% - 36px),var(--ds-wide))}.ds-mag-feature-image,.ds-mag-feature-image img,.ds-mag-image-fallback{min-height:320px}.ds-mag-feature-copy{padding:30px 24px}.ds-mag-feature-copy h2{font-size:42px}.ds-mag-read-btn{width:100%}.ds-side-article{grid-template-columns:82px 1fr}.ds-side-article img{width:82px;height:74px}.ds-mag-archive-row{grid-template-columns:1fr}.ds-mag-archive-row b{display:none}.ds-subscribe-banner{padding:26px 22px}}

/* =========================================================
   Static-site layer (no WordPress) — shell, forms, video, 404
========================================================= */
body{background:var(--ds-paper)}
main{display:block}
.skip{position:absolute;left:12px;top:-60px;z-index:10000;background:var(--ds-gold);color:#000;padding:10px 16px;text-decoration:none;font:600 13px var(--ds-sans)}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hp{position:absolute!important;left:-9999px!important}
a{color:inherit}

.vid{position:relative;aspect-ratio:16/9;background:#000 var(--poster,none) center/cover no-repeat;margin:0;overflow:hidden}
.vid iframe,.vid video{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid.lite button{position:absolute;inset:0;width:100%;border:0;background:rgba(0,0,0,.28);cursor:pointer}
.vid.lite button:hover{background:rgba(0,0,0,.12)}
.vid.lite button span{display:block;width:76px;height:76px;margin:auto;border-radius:50%;border:1px solid rgba(244,239,230,.9);background:rgba(9,9,8,.55);position:relative;transition:all .25s}
.vid.lite button span::after{content:"";position:absolute;left:30px;top:23px;border-style:solid;border-width:15px 0 15px 24px;border-color:transparent transparent transparent var(--ds-cream)}
.vid.lite button:hover span{background:var(--ds-gold);border-color:var(--ds-gold)}

.form{max-width:560px;margin:8px 0 18px}
.form label{display:block;font:600 11px/1.4 var(--ds-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ds-gold);margin:0 0 8px}
.form label i{font-style:normal}
.form input:not([type=checkbox]):not([type=radio]),.form textarea{width:100%;font:17px var(--ds-sans);color:var(--ds-cream);padding:14px 16px;border:1px solid var(--ds-line-light);background:rgba(244,239,230,.04);margin:0 0 18px;border-radius:0}
.form input:focus,.form textarea:focus{outline:1px solid var(--ds-gold);border-color:var(--ds-gold)}
.form .btn,.btn{display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:16px 30px;background:var(--ds-gold);color:var(--ds-black);border:0;cursor:pointer;font:800 12px var(--ds-sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:background .3s}
.form .btn:hover,.btn:hover{background:var(--ds-gold-bright)}
.btn.ghost{background:transparent;color:var(--ds-text);outline:1px solid var(--ds-line-dark)}
.form-msg{margin:14px 0 0;font:15px var(--ds-sans);color:var(--ds-cream)}
.form-msg.err{color:#f0a0a0}

/* 404 and generic converted pages */
.blk{padding:var(--ds-space-md) 0;background:var(--ds-black);color:var(--ds-cream);min-height:56vh}
.wrap{width:min(calc(100% - 48px),var(--ds-max));margin:0 auto}
.wrap.narrow{max-width:var(--ds-reading)}
.blk h1{font:400 clamp(52px,7vw,96px)/.95 var(--ds-serif);letter-spacing:-.04em;margin:0 0 24px}
.blk .rich p{font:clamp(19px,1.8vw,23px)/1.6 var(--ds-serif);color:rgba(244,239,230,.82)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.blk .btn.ghost{color:var(--ds-cream);outline-color:var(--ds-line-light)}

/* =========================================================
   Essays (generated by tools/essay_pages.py)
========================================================= */
.es-hero{position:relative;background:var(--ds-black);color:var(--ds-cream);overflow:hidden}
.es-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,8,.95) 0%,rgba(9,9,8,.82) 45%,rgba(9,9,8,.45) 100%),linear-gradient(180deg,rgba(9,9,8,.1),rgba(9,9,8,.85)),var(--es-hero,none) center/cover no-repeat;opacity:1}
.es-hero-in{position:relative;z-index:1;width:min(calc(100% - 56px),var(--ds-max));margin:0 auto;padding:clamp(72px,9vw,140px) 0 clamp(60px,7vw,100px)}
.es-hero h1,.es-index-hero h1{margin:0 0 26px;max-width:15ch;font:400 clamp(48px,6.6vw,104px)/.95 var(--ds-serif);letter-spacing:-.045em;color:var(--ds-cream)}
.es-dek{max-width:640px;margin:0 0 34px;font:clamp(20px,2vw,26px)/1.45 var(--ds-serif);color:rgba(244,239,230,.8)}
.es-dek a{color:var(--ds-gold-bright)}
.es-back{display:inline-block;margin:0 0 34px;font:700 11px var(--ds-sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(244,239,230,.6);text-decoration:none}
.es-back:hover{color:var(--ds-gold-bright)}
.es-by{display:flex;align-items:center;gap:14px;margin:0;font-family:var(--ds-sans)}
.es-by b{display:block;font-size:14px;color:var(--ds-cream)}
.es-by span:last-child{font-size:12px;color:rgba(244,239,230,.6)}
.es-dot{width:44px;height:44px;border-radius:50%;border:1px solid var(--ds-gold);color:var(--ds-gold);display:flex;align-items:center;justify-content:center;font:800 11px var(--ds-sans);letter-spacing:.12em;flex:0 0 44px}

.es-body{width:min(calc(100% - 48px),var(--ds-reading));margin:0 auto;padding:clamp(64px,7vw,110px) 0 clamp(40px,5vw,70px);color:var(--ds-text)}
.es-body p,.es-body li{font:400 clamp(20px,1.65vw,23px)/1.7 var(--ds-serif);color:#1f2430;margin:0 0 1.15em}
.es-body p.es-first::first-letter{float:left;font:400 5.2em/.82 var(--ds-serif);margin:.06em .1em 0 0;color:var(--ds-gold)}
.es-body h2{font:500 clamp(30px,3vw,42px)/1.12 var(--ds-serif);letter-spacing:-.025em;margin:1.7em 0 .6em;color:var(--ds-text)}
.es-body h3{font:700 13px/1.4 var(--ds-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ds-bronze);margin:2.2em 0 1em}
.es-body a{color:var(--ds-bronze);text-decoration-color:var(--ds-line-gold);text-underline-offset:3px}
.es-body a:hover{color:var(--ds-gold)}
.es-body ul,.es-body ol{padding-left:1.2em;margin:0 0 1.3em}
.es-body blockquote{margin:1.6em 0;padding:0 0 0 28px;border-left:2px solid var(--ds-gold);font:italic 400 clamp(23px,2.2vw,30px)/1.45 var(--ds-serif);color:var(--ds-text)}
.es-body blockquote p{font:inherit;color:inherit}
.es-body figure{margin:2.2em 0}
.es-body figure img{display:block;width:100%;height:auto;box-shadow:var(--ds-shadow-soft)}
.es-body figcaption{margin-top:12px;font:13px/1.5 var(--ds-sans);color:var(--ds-soft-muted)}
.es-body .es-vid{margin:2.4em -40px}
.es-body hr{border:0;height:1px;background:var(--ds-line-dark);margin:2.4em 0}
.es-pull{margin:3em 0 0!important;padding:42px 0 0!important;border:0!important;border-top:1px solid var(--ds-line-gold)!important;text-align:center;font:italic 400 clamp(26px,2.8vw,38px)/1.35 var(--ds-serif)!important}
.es-pull cite{display:block;margin-top:18px;font:700 11px var(--ds-sans);letter-spacing:.24em;text-transform:uppercase;font-style:normal;color:var(--ds-gold)}
.es-author{width:min(calc(100% - 48px),var(--ds-reading));margin:0 auto clamp(70px,8vw,120px);display:grid;grid-template-columns:150px 1fr;gap:32px;align-items:center;padding:30px;border:1px solid var(--ds-line-dark);background:rgba(255,255,255,.35)}
.es-author img{width:150px;height:150px;object-fit:cover;object-position:top}
.es-author p{margin:0 0 10px;font:17px/1.6 var(--ds-sans);color:var(--ds-muted)}
.es-author .ds-eyebrow{margin-bottom:10px}
.es-links{display:flex;gap:26px;flex-wrap:wrap}
.es-links a{font:800 11px var(--ds-sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ds-text)}
.es-links a:hover{color:var(--ds-gold)}

.es-more{background:var(--ds-black);color:var(--ds-cream);padding:clamp(70px,8vw,120px) 0}
.es-more-in{width:min(calc(100% - 56px),var(--ds-wide));margin:0 auto}
.es-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.es-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ds-cream);border:1px solid var(--ds-line-light);background:rgba(244,239,230,.02);transition:border-color .3s,transform .3s}
.es-card:hover{border-color:var(--ds-line-gold);transform:translateY(-3px)}
.es-card-img{display:block;aspect-ratio:16/10;background:#14130f var(--img) center/cover no-repeat}
.es-noimg{background:linear-gradient(135deg,var(--ds-charcoal),var(--ds-black))}
.es-card-topic{display:block;padding:24px 26px 8px;font:800 11px var(--ds-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ds-gold)}
.es-card-title{display:block;padding:0 26px 12px;font:400 clamp(26px,2.2vw,32px)/1.08 var(--ds-serif);letter-spacing:-.02em}
.es-card-dek{display:block;padding:0 26px 14px;font:15px/1.55 var(--ds-sans);color:rgba(244,239,230,.62)}
.es-card-meta{display:block;margin-top:auto;padding:0 26px 24px;font:12px var(--ds-sans);color:rgba(244,239,230,.45)}
.es-all{margin:40px 0 0;text-align:center}
.es-all a{font:800 12px var(--ds-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ds-gold-bright);text-decoration:none}
.es-index-hero{background:var(--ds-black);color:var(--ds-cream);border-bottom:1px solid var(--ds-line-light)}
.es-index{padding-top:clamp(50px,5vw,80px)}
@media(max-width:980px){.es-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.es-body .es-vid{margin:2em 0}}
@media(max-width:640px){.es-grid{grid-template-columns:1fr}.es-author{grid-template-columns:1fr;padding:24px}.es-author img{width:96px;height:96px}.es-hero-in,.es-more-in{width:calc(100% - 40px)}}

/* =========================================================
   The Empowered Life (book page)
========================================================= */
.el-hero{background:var(--ds-black);color:var(--ds-cream);padding:clamp(70px,9vw,140px) 0}
.el-wrap{width:min(calc(100% - 56px),var(--ds-max));margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);align-items:center}
.el-cover{margin:0}
.el-cover img{display:block;width:100%;max-width:460px;height:auto;margin:0 auto;box-shadow:var(--ds-shadow-dark)}
.el-copy h1{margin:0 0 26px;font:400 clamp(56px,7vw,110px)/.92 var(--ds-serif);letter-spacing:-.05em}
.el-mark{width:64px;height:2px;background:var(--ds-gold);margin:0 0 30px}
.el-copy p{font:clamp(20px,1.9vw,25px)/1.55 var(--ds-serif);color:rgba(244,239,230,.82);margin:0 0 22px;max-width:560px}
.el-copy em{color:var(--ds-cream)}
.el-close{font-style:italic;color:var(--ds-gold-bright)!important}
.el-notify{background:var(--ds-deep);color:var(--ds-cream);padding:clamp(70px,8vw,120px) 0;border-top:1px solid var(--ds-line-light)}
.el-notify-in{width:min(calc(100% - 48px),640px);margin:0 auto}
.el-notify h2{font:400 clamp(36px,4vw,56px)/1.02 var(--ds-serif);letter-spacing:-.03em;margin:0 0 18px}
.el-notify p{font:18px/1.6 var(--ds-sans);color:rgba(244,239,230,.72)}
.el-notify a{color:var(--ds-gold-bright)}
.el-form{margin-top:30px}
.el-more{margin-top:36px!important;font-size:15px!important}
@media(max-width:860px){.el-wrap{grid-template-columns:1fr}.el-cover img{max-width:300px}}

/* =========================================================
   Conversations — placeholder until the list is restored
========================================================= */
.ds-conversation-count{display:none}
.ds-conv-soon{background:var(--ds-paper);padding:clamp(80px,9vw,140px) 0}
.ds-conv-soon-in{width:min(calc(100% - 48px),var(--ds-reading));margin:0 auto;text-align:center}
.ds-conv-soon h2{font:400 clamp(48px,6vw,88px)/.95 var(--ds-serif);letter-spacing:-.045em;margin:0 0 24px;color:var(--ds-text)}
.ds-conv-soon p:last-child{font:clamp(20px,1.9vw,24px)/1.55 var(--ds-serif);color:var(--ds-muted)}
.ds-conv-soon a{color:var(--ds-bronze)}


/* ---- Header fit: the real Inter font is wider than the Arial the old site fell back to ---- */
html{overflow-x:clip}
@media(max-width:1440px) and (min-width:981px){
  .ds-header .ds-header-inner{padding:0 clamp(28px,3.4vw,56px);gap:clamp(28px,3vw,48px)}
  .ds-header .ds-nav{gap:clamp(14px,1.6vw,26px)}
  .ds-header .ds-nav a{font-size:11px;letter-spacing:.12em}
  .ds-header .ds-brand-name{font-size:26px;letter-spacing:.28em}
}
.ds-conv-soon p{color:var(--ds-muted)}

.es-body p.es-standfirst{font:italic 400 clamp(24px,2.3vw,31px)/1.4 var(--ds-serif);color:var(--ds-text);margin:0 0 1.4em;padding-bottom:1.1em;border-bottom:1px solid var(--ds-line-gold)}
.ds-conv-soon .ds-conv-soon-in p{color:#4b5563!important;opacity:1!important;visibility:visible!important}
.ds-conv-soon .ds-conv-soon-in p.ds-eyebrow{color:var(--ds-gold)!important}
.ds-conv-soon .ds-conv-soon-in a{position:static!important;display:inline!important;color:var(--ds-bronze)!important;font:inherit!important;letter-spacing:0!important;text-transform:none!important;padding:0!important;border:0!important;background:none!important}
