/*
Theme Name: CrossTalk Unleashed
Theme URI: https://crosstalkunleashed.com
Description: A Divi child theme for CrossTalk Unleashed and the CrossTalk Publishing family.
Author: Craig Marvin Johnson
Template: Divi
Version: 1.0.1
Text Domain: crosstalk-unleashed
*/

:root {
  --ctu-ink: #102b29;
  --ctu-black: #171717;
  --ctu-paper: #f3eee3;
  --ctu-white: #ffffff;
  --ctu-tobacco: #955323;
  --ctu-copper: #b87235;
  --ctu-gold: #d7ad67;
  --ctu-line: rgba(16, 43, 41, .18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ctu-site { margin: 0; background: var(--ctu-paper); color: var(--ctu-ink); font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.5; }
.ctu-site main { display: block; }
.ctu-site p { padding-bottom: 0; }
.ctu-site img { display: block; max-width: 100%; }
.ctu-site a { color: inherit; }
.ctu-site h1, .ctu-site h2, .ctu-site h3 { color: inherit; font-family: Georgia, serif; font-weight: 700; letter-spacing: 0; }
.ctu-section-label, .ctu-kicker, .ctu-card-meta { margin: 0 0 14px; color: var(--ctu-tobacco); text-transform: uppercase; font-size: 10px; line-height: 1.3; font-weight: 800; letter-spacing: .16em; }

.ctu-header { position: sticky; top: 0; z-index: 999; min-height: 72px; padding: 0 4vw; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; background: rgba(243, 238, 227, .97); border-bottom: 1px solid var(--ctu-line); backdrop-filter: blur(12px); }
.admin-bar .ctu-header { top: 32px; }
.ctu-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.ctu-brand img { width: 46px; height: 46px; object-fit: cover; }
.ctu-brand span { display: grid; line-height: 1; }
.ctu-brand strong { font-family: Georgia, serif; font-size: 18px; }
.ctu-brand small { margin-top: 4px; color: var(--ctu-tobacco); text-transform: uppercase; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.ctu-desktop-nav, .ctu-desktop-nav ul { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.ctu-desktop-nav a { padding: 4px 17px; border-left: 1px solid var(--ctu-line); font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.ctu-desktop-nav > a:first-child, .ctu-desktop-nav li:first-child a { border-left: 0; }
.ctu-header-action { justify-self: end; padding-bottom: 4px; border-bottom: 2px solid var(--ctu-tobacco); font-size: 12px; font-weight: 800; text-decoration: none; }
.ctu-mobile-menu { display: none; }

.ctu-hero { position: relative; min-height: 700px; overflow: hidden; background: var(--ctu-ink); color: white; }
.ctu-hero-mark { position: absolute; inset: 0 0 0 auto; width: 58%; height: 100%; object-fit: cover; object-position: center; }
.ctu-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,31,30,.98) 0%, rgba(10,31,30,.92) 43%, rgba(10,31,30,.24) 78%, rgba(10,31,30,.08) 100%); }
.ctu-hero-copy { position: relative; z-index: 2; width: min(820px, 68vw); padding: 112px 7vw 105px; }
.ctu-hero-copy .ctu-kicker { color: var(--ctu-gold); }
.ctu-hero-copy h1 { margin: 0; color: white; font-size: 102px; line-height: .88; }
.ctu-hero-copy > p:not(.ctu-kicker) { max-width: 660px; margin: 30px 0 34px; font-family: Georgia, serif; font-size: 29px; line-height: 1.35; }
.ctu-hero-note { position: absolute; z-index: 2; right: 4vw; bottom: 28px; margin: 0; color: white; text-transform: uppercase; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.ctu-actions { display: flex; flex-wrap: wrap; gap: 13px; align-items: center; }
.ctu-primary-action, .ctu-secondary-action { min-height: 50px; padding: 0 20px; display: inline-flex; justify-content: center; align-items: center; gap: 11px; border: 1px solid var(--ctu-tobacco); background: var(--ctu-tobacco); color: white !important; font-size: 12px; font-weight: 800; text-decoration: none; }
.ctu-secondary-action { background: transparent; border-color: white; }
.ctu-primary-action.inverse { background: white; border-color: white; color: var(--ctu-ink) !important; }
.ctu-text-action { display: inline-flex; align-items: center; gap: 9px; padding-bottom: 4px; border-bottom: 2px solid var(--ctu-tobacco); font-weight: 800; text-decoration: none; }

.ctu-intro { padding: 96px 7vw; display: grid; grid-template-columns: 1fr .8fr; gap: 10vw; align-items: end; }
.ctu-intro h2, .ctu-feature h2, .ctu-library > header h2, .ctu-contact h2, .ctu-page-hero h1 { margin: 0; font-size: 66px; line-height: 1; }
.ctu-intro > p { margin: 0; font-size: 18px; line-height: 1.75; }

.ctu-rhythm { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ctu-line); border-bottom: 1px solid var(--ctu-line); background: white; }
.ctu-rhythm article { min-height: 290px; padding: 50px 34px; border-left: 1px solid var(--ctu-line); }
.ctu-rhythm article:first-child { border-left: 0; }
.ctu-rhythm span { color: var(--ctu-copper); font-size: 11px; font-weight: 800; }
.ctu-rhythm h3 { margin: 26px 0 16px; font-size: 38px; }
.ctu-rhythm p { margin: 0; color: #465956; line-height: 1.65; }

.ctu-feature { min-height: 650px; display: grid; grid-template-columns: 1fr 1fr; background: var(--ctu-ink); color: white; }
.ctu-feature-art { min-height: 650px; overflow: hidden; }
.ctu-feature-art img { width: 100%; height: 100%; object-fit: cover; }
.ctu-feature-copy { padding: 90px 8vw; display: flex; flex-direction: column; justify-content: center; }
.ctu-feature-copy .ctu-section-label { color: var(--ctu-gold); }
.ctu-feature-copy h2 { color: white; }
.ctu-feature-copy > p:not(.ctu-section-label) { max-width: 620px; margin: 25px 0 32px; color: #dce5e1; font-size: 18px; line-height: 1.75; }
.ctu-feature-copy .ctu-text-action { border-color: var(--ctu-gold); }

.ctu-library { padding: 96px 5vw; background: #faf9f6; }
.ctu-library > header { margin: 0 2vw 48px; }
.ctu-episode-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ctu-episode-card { min-width: 0; background: white; border-top: 4px solid var(--ctu-tobacco); }
.ctu-card-image { aspect-ratio: 16 / 10; display: grid; place-items: center; overflow: hidden; background: var(--ctu-ink); color: white; text-decoration: none; }
.ctu-card-image img { width: 100%; height: 100%; object-fit: cover; }
.ctu-card-image > span { font-family: Georgia, serif; font-size: 44px; }
.ctu-episode-card > div { padding: 28px; }
.ctu-episode-card h3 { margin: 0; font-size: 31px; line-height: 1.08; }
.ctu-episode-card h3 a { text-decoration: none; }
.ctu-episode-card > div > p:not(.ctu-card-meta) { min-height: 76px; color: #52615f; line-height: 1.65; }
.ctu-library-link { margin: 36px 2vw 0; display: inline-flex; gap: 10px; padding-bottom: 4px; border-bottom: 2px solid var(--ctu-tobacco); font-weight: 800; text-decoration: none; }
.ctu-library-page { min-height: 620px; }

.ctu-quote { margin: 0; padding: 105px 8vw; background: var(--ctu-black); color: white; text-align: center; }
.ctu-quote p { max-width: 940px; margin: 0 auto; font-family: Georgia, serif; font-size: 50px; font-style: italic; line-height: 1.25; }

.ctu-contact { padding: 94px 7vw; display: grid; grid-template-columns: 1fr .8fr; gap: 10vw; align-items: center; }
.ctu-contact > div:last-child > p { margin: 0 0 28px; font-size: 18px; line-height: 1.7; }

.ctu-footer { padding: 42px 5vw; display: grid; grid-template-columns: 1fr auto auto; gap: 5vw; align-items: center; border-top: 1px solid var(--ctu-line); font-size: 11px; }
.ctu-footer > div:first-child > p { max-width: 360px; margin: 13px 0 0; color: #65726f; }
.ctu-footer nav { display: flex; flex-wrap: wrap; gap: 17px; }
.ctu-footer nav a, .ctu-footer-contact a { font-weight: 800; }
.ctu-footer-contact { text-align: right; }
.ctu-footer-contact p { margin: 9px 0 0; }

.ctu-page-hero { padding: 96px 7vw; background: var(--ctu-ink); color: white; }
.ctu-page-hero .ctu-section-label { color: var(--ctu-gold); }
.ctu-page-hero h1 { max-width: 1020px; color: white; font-size: 82px; overflow-wrap: anywhere; }
.ctu-page-hero > p:not(.ctu-section-label) { max-width: 760px; margin: 25px 0 0; color: #d8e1dd; font-family: Georgia, serif; font-size: 23px; line-height: 1.5; }
.ctu-page-hero .ctu-actions { margin-top: 28px; }
.ctu-start-art, .ctu-page-image { margin: 0; padding: 75px 7vw 0; display: grid; place-items: center; background: #faf9f6; }
.ctu-start-art img { width: min(620px, 100%); }
.ctu-page-image img { width: min(900px, 100%); max-height: 620px; object-fit: contain; }
.ctu-prose { width: min(900px, calc(100% - 48px)); margin: 0 auto; padding: 80px 0 100px; font-family: Georgia, serif; font-size: 19px; line-height: 1.85; }
.ctu-prose.ctu-resource-page { width: 100%; max-width: none; padding: 0; }
.ctu-prose > *:first-child { margin-top: 0; }
.ctu-prose h2, .ctu-content-heading { margin: 1.7em 0 .6em; padding-top: .55em; border-top: 1px solid var(--ctu-line); font-size: 39px; line-height: 1.12; }
.ctu-prose h3 { margin: 1.5em 0 .5em; font-size: 28px; }
.ctu-prose a { color: var(--ctu-tobacco); font-weight: 700; }
.ctu-prose blockquote { margin: 2em 0; padding: 28px 34px; border-left: 5px solid var(--ctu-tobacco); background: white; }
.ctu-prose figure { margin: 35px 0; }
.ctu-index { width: min(940px, calc(100% - 48px)); min-height: 560px; margin: 0 auto; padding: 75px 0 100px; }
.ctu-index article { padding: 42px 0; border-bottom: 1px solid var(--ctu-line); }
.ctu-index article > p:first-child { color: var(--ctu-tobacco); text-transform: uppercase; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.ctu-index h2 { margin: 0; font-size: 42px; }
.ctu-index h2 a { text-decoration: none; }
.ctu-not-found { min-height: 650px; padding: 110px 8vw; }
.ctu-not-found h1 { max-width: 900px; margin: 0; font-size: 78px; line-height: .96; }
.ctu-not-found > p:not(.ctu-section-label) { margin: 25px 0 30px; font-size: 18px; }

.ctu-comments { width: min(900px, calc(100% - 48px)); margin: 0 auto 100px; padding-top: 54px; border-top: 1px solid var(--ctu-line); }
.ctu-comments h2 { margin: 0 0 30px; font-size: 38px; }
.ctu-comments ol { list-style: none; margin: 0 0 45px; padding: 0; }
.ctu-comments .children { margin: 16px 0 0 30px; padding-left: 20px; border-left: 2px solid var(--ctu-line); }
.ctu-comments .comment-body { margin-bottom: 16px; padding: 22px; background: white; border-top: 3px solid var(--ctu-copper); }
.ctu-comments textarea { width: 100%; min-height: 170px; padding: 14px; border: 1px solid var(--ctu-line); font: inherit; }
.ctu-comments input[type="submit"] { min-height: 46px; padding: 0 18px; border: 0; background: var(--ctu-tobacco); color: white; font-weight: 800; }

@media (max-width: 1120px) {
  .ctu-header { grid-template-columns: 1fr auto auto; gap: 16px; }
  .ctu-desktop-nav { display: none; }
  .ctu-mobile-menu { position: relative; display: block; }
  .ctu-mobile-menu summary { width: 42px; height: 42px; display: grid; place-content: center; gap: 4px; cursor: pointer; list-style: none; }
  .ctu-mobile-menu summary::-webkit-details-marker { display: none; }
  .ctu-mobile-menu summary span { width: 22px; height: 2px; background: var(--ctu-ink); }
  .ctu-mobile-menu nav, .ctu-mobile-menu ul { margin: 0; padding: 13px; display: grid; list-style: none; }
  .ctu-mobile-menu nav { position: absolute; top: 52px; right: 0; width: min(340px, calc(100vw - 32px)); background: white; border: 1px solid var(--ctu-line); box-shadow: 0 18px 45px rgba(0,0,0,.18); }
  .ctu-mobile-menu ul { padding: 0; }
  .ctu-mobile-menu nav a { padding: 13px 10px; border-bottom: 1px solid var(--ctu-line); font-size: 12px; font-weight: 800; text-decoration: none; }
  .ctu-hero-copy h1 { font-size: 82px; }
  .ctu-intro h2, .ctu-feature h2, .ctu-library > header h2, .ctu-contact h2 { font-size: 54px; }
  .ctu-rhythm { grid-template-columns: repeat(2, 1fr); }
  .ctu-rhythm article:nth-child(3) { border-left: 0; border-top: 1px solid var(--ctu-line); }
  .ctu-rhythm article:nth-child(4) { border-top: 1px solid var(--ctu-line); }
  .ctu-episode-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .admin-bar .ctu-header { top: 46px; }
  .ctu-header { min-height: 64px; padding: 0 16px; }
  .ctu-header-action { display: none; }
  .ctu-brand img { width: 42px; height: 42px; }
  .ctu-brand strong { font-size: 16px; }
  .ctu-hero { min-height: 720px; }
  .ctu-hero-mark { width: 100%; opacity: .45; }
  .ctu-hero-shade { background: rgba(9,31,29,.78); }
  .ctu-hero-copy { width: 100%; padding: 95px 24px 115px; }
  .ctu-hero-copy h1 { font-size: 60px; }
  .ctu-hero-copy > p:not(.ctu-kicker) { font-size: 23px; }
  .ctu-hero-note { left: 24px; right: auto; }
  .ctu-intro, .ctu-feature, .ctu-contact { grid-template-columns: 1fr; }
  .ctu-intro, .ctu-contact { padding: 68px 24px; gap: 34px; }
  .ctu-intro h2, .ctu-feature h2, .ctu-library > header h2, .ctu-contact h2 { font-size: 42px; }
  .ctu-rhythm { grid-template-columns: 1fr; }
  .ctu-rhythm article { min-height: 240px; padding: 42px 25px; border-left: 0; border-top: 1px solid var(--ctu-line); }
  .ctu-rhythm article:first-child { border-top: 0; }
  .ctu-feature-art { min-height: 420px; }
  .ctu-feature-copy { padding: 66px 25px; }
  .ctu-library { padding: 68px 18px; }
  .ctu-episode-grid { grid-template-columns: 1fr; }
  .ctu-episode-card > div > p:not(.ctu-card-meta) { min-height: 0; }
  .ctu-quote { padding: 78px 25px; }
  .ctu-quote p { font-size: 35px; }
  .ctu-footer { padding: 38px 22px; grid-template-columns: 1fr; }
  .ctu-footer-contact { text-align: left; }
  .ctu-page-hero { padding: 68px 24px; }
  .ctu-page-hero h1 { font-size: 54px; }
  .ctu-start-art, .ctu-page-image { padding: 42px 20px 0; }
  .ctu-prose { width: calc(100% - 42px); padding: 60px 0 76px; font-size: 18px; }
  .ctu-prose h2, .ctu-content-heading { font-size: 32px; }
  .ctu-not-found { padding: 85px 24px; }
  .ctu-not-found h1 { font-size: 52px; }
}

@media (max-width: 390px) {
  .ctu-brand small { display: none; }
  .ctu-hero-copy h1 { font-size: 52px; }
  .ctu-actions { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
