/* ============================================================
   THE CENTERED EDGE — Main Stylesheet
   Design System: Dark editorial luxury, copper accents
   Fonts: Cormorant Garamond (serif) + DM Sans (sans)
   ============================================================ */

/* --- Google Fonts Import --- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=DM+Sans:wght@300;400;500;600&display=swap');

/* ============================================================
   DESIGN TOKENS
============================================================ */

:root{

  /* Backgrounds */
  --bg:            #F8F5EF;
  --bg-soft:       #FCFAF6;
  --bg-alt:        #F1ECE4;

  /* Surfaces */
  --surface:       #FFFFFF;
  --surface-soft:  #FBF8F3;

  /* Text */
  --text:          #1B2238;
  --text-soft:     #596273;
  --text-light:    #7C8593;

  /* Brand */
  --void:          #040720;
  --void-soft:     #080D28;
  --void-mid:      #0D1336;

  --copper:        #C4892A;
  --copper-light:  #E8C87A;
  --gold:          #C89A28;

  /* Borders */
  --rule:          rgba(27,34,56,.08);
  --rule-dark:     rgba(255,255,255,.08);
  --copper-rule:   rgba(196,137,42,.18);
  --copper-dim:    rgba(196,137,42,.08);

  /* Neutral */
  --white:         #FFFFFF;
  --cream:         #F8F5EF;
  --mist:          rgba(27,34,56,.55);

  /* Fonts */
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;

  /* Layout */
  --content-max:1200px;

  --space-xs:8px;
  --space-sm:16px;
  --space-md:24px;
  --space-lg:48px;
  --space-xl:72px;
  --space-2xl:96px;

  --pad-x:56px;
  --pad-x-mobile:22px;


--navy:#040720;
--midnight:#082567;
--royal:#003366;

--sky:#90D5FF;
--soft-blue:#6A89A7;

--gold:#EDA800;
--gold-dark:#A67C00;

--cream:#FAF0E6;
--ivory:#FFFAF0;
--charcoal:#353E43;
--white:#ffffff;

--shadow:0 15px 40px rgba(0,0,0,.08);
}

/* ============================================================
   RESET
============================================================ */

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:var(--sans);
    font-size:16px;
    line-height:1.75;
    background:var(--cream);
    color:var(--text);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

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

a{
    color:inherit;
    text-decoration:none;
    transition:color .25s ease;
}

a:hover{
    color:var(--copper);
}

/* ============================================================
   GLOBAL PARAGRAPHS
============================================================ */

[class*="-body"],
[class*="-desc"],
[class*="-intro"],
[class*="-text"]:not([class*="spq-text"]),
.spq-text,
.transcript-body p,
.faq-a,
.bsw-item,
.ni-to,
.footer-tagline,
.ss-body{
    color:var(--text-soft);
    text-align:justify;
    hyphens:auto;
    -webkit-hyphens:auto;
}

.sub-note{
    max-width:700px;
    margin-top:18px;

    font-size:13px;
    line-height:1.7;
    color:var(--text-soft);
}


/* ---------- Responsive ---------- */

@media (max-width:960px){

    .ce-footer{
        grid-template-columns:repeat(2,1fr);
    }

    .footer-bottom-bar{
        flex-direction:column;
        align-items:flex-start;
        gap:16px;
    }

}

@media (max-width:640px){

    .ce-footer{
        grid-template-columns:1fr;
        gap:40px;
    }

}

/* ============================================================
   NAVIGATION
   ============================================================ */
.ce-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(4,7,32,.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--rule-dark);
  padding: 0 var(--pad-x);
  height: 60px;
  display: flex;
  align-items: center;
  gap: 32px;
}

.nav-logo {
  font-family: var(--serif);
  font-size: 17px;
  font-style: italic;
  color: var(--white);
  margin-right: auto;
  text-decoration: none;
  line-height: 1;
}
.nav-logo span {
  display: block;
  font-style: normal;
  font-size: 10px;
  color: rgba(255,255,255,.25);
  font-weight: 300;
  letter-spacing: .04em;
  margin-top: 2px;
}

.nav-links {
  display: flex;
  gap: 26px;
  list-style: none;
}
.nav-links a {
  font-size: 12px;
  color: rgba(255,255,255,.42);
  text-decoration: none;
  letter-spacing: .06em;
  transition: color .2s;
  font-weight: 400;
}
.nav-links a:hover,
.nav-links a.active { color: var(--white); }

.nav-listen {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--void);
  background: var(--copper);
  padding: 8px 18px;
  border-radius: 1px;
  text-decoration: none;
  transition: opacity .2s;
  white-space: nowrap;
}
.nav-listen:hover { opacity: .85; }

/* ============================================================
   BREADCRUMB
============================================================ */

.breadcrumb{
  padding:14px var(--pad-x);
  background:var(--bg-soft);
  border-bottom:1px solid var(--rule);

  display:flex;
  align-items:center;
  gap:8px;
}

.bc-item{
  font-size:11px;
  letter-spacing:.05em;
  text-decoration:none;
  color:var(--text-light);
  transition:.2s;
}

.bc-item:hover{
  color:var(--copper);
}

.bc-sep{
  color:#B8B1A7;
  font-size:11px;
}

.bc-current{
  font-size:11px;
  color:var(--text);
  font-weight:500;
}


/* ============================================================
   DIVIDER RULES
============================================================ */

.rule-copper{
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(196,137,42,.65),
    transparent
  );
}

.rule-dark-line{
  height:1px;
  background:var(--rule);
}

/* ============================================================
   PAGE HERO — GENERIC
============================================================ */

.page-hero{
    background: var(--cr);
    padding: 88px var(--pad-x) 72px;
    position: relative;
    overflow: hidden;
    min-height: 560px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(4, 7, 32, .08);
}

.ph-kicker{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:16px;

    font-size:.52rem;
    font-weight:700;
    letter-spacing:.28em;
    text-transform:uppercase;

    color:var(--gold);   
}

.ph-h1 em{
    font-style:italic;
    color:var(--gold);
}

.ph-intro{
  max-width:760px;

  font-size:17px;
  line-height:1.9;
  font-weight:400;

  color:var(--text-soft);
}

//* ============================================================
   SECTION LABELS
============================================================ */
.section{
    background:var(--ivory);
}

.section-label{
  display:flex;
  align-items:center;
  gap:16px;

  margin-bottom:28px;

  font-size:11px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;

  color:var(--copper);
}

.section-label::after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(196,137,42,.30),
    rgba(196,137,42,.08)
  );
}

/* ============================================================
   EPISODE CARDS
============================================================ */

.ep-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}

.ep-card{
  display:block;
  text-decoration:none;

  background:var(--surface);
  border:1px solid var(--rule);
  border-radius:8px;

  padding:32px;

  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.ep-card:hover{
  transform:translateY(-4px);

  border-color:rgba(196,137,42,.35);

  box-shadow:
    0 18px 40px rgba(4,7,32,.06);
}

.ec-num{
  margin-bottom:8px;

  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;

  color:var(--copper);
}

.ec-tag{
  display:inline-block;

  margin-bottom:16px;
  padding:5px 12px;

  font-size:10px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;

  background:rgba(196,137,42,.08);
  color:var(--copper);

  border:1px solid rgba(196,137,42,.18);
  border-radius:999px;
}

.ec-title{
  margin-bottom:12px;

  font-family:var(--serif);
  font-size:1.45rem;
  line-height:1.25;
  font-weight:500;

  color:var(--text);
}

.ec-guest{
  display:flex;
  align-items:center;
  gap:8px;

  margin-bottom:16px;

  font-size:.82rem;
  color:var(--text-light);
}

.ec-guest::before{
  content:"◈";
  color:var(--copper);
  font-size:.65rem;
}

.ec-desc{
  margin-top:16px;
  padding-top:16px;

  border-top:1px solid var(--rule);

  font-size:.92rem;
  line-height:1.8;

  color:var(--text-soft);
}

.ec-link{
  display:inline-flex;
  align-items:center;
  gap:8px;

  margin-top:22px;

  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;

  text-decoration:none;

  color:var(--copper);

  transition:gap .25s ease;
}

.ec-link::after{
  content:"→";
}

.ep-card:hover .ec-link{
  gap:14px;
}

/* ============================================================
   FILTER BAR
============================================================ */

.filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:40px;
  background: var(--ivory);
}

.fb-pill{
  appearance:none;
  border:1px solid var(--rule);
  background:var(--surface);

  padding:10px 18px;

  border-radius:999px;

  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;

  color:var(--text-soft);

  cursor:pointer;

  transition:
    background .25s ease,
    border-color .25s ease,
    color .25s ease,
    transform .25s ease;
}

.fb-pill:hover{
  border-color:rgba(196,137,42,.35);
  color:var(--copper);
  transform:translateY(-2px);
}

.fb-pill.active{
  background:var(--copper);
  border-color:var(--copper);
  color:var(--white);
}

/* ============================================================
   FIREWALL BADGES
============================================================ */

.fw-badge{
  display:inline-flex;
  align-items:center;

  padding:8px 16px;

  border-radius:999px;

  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;

  border:1px solid transparent;

  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease;
}

.fw-badge:hover{
  transform:translateY(-2px);
}

/* Executive */
.fw-exec{
  background:rgba(196,137,42,.08);
  color:var(--copper);
  border-color:rgba(196,137,42,.22);
}

/* Strategic Agility */
.fw-stag{
  background:rgba(174,137,67,.08);
  color:#A8782F;
  border-color:rgba(174,137,67,.20);
}

/* AI */
.fw-ai{
  background:rgba(72,112,196,.08);
  color:#466FC0;
  border-color:rgba(72,112,196,.18);
}

/* Succession */
.fw-succ{
  background:rgba(69,137,103,.08);
  color:#458967;
  border-color:rgba(69,137,103,.18);
}

/* ============================================================
   PULL QUOTES
============================================================ */

.quotes-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:28px;
}

.pull-quote{
  position:relative;

  padding:38px 34px 30px;

  background:var(--surface);

  border:1px solid var(--rule);
  border-radius:8px;

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.pull-quote:hover{
  transform:translateY(-4px);

  border-color:rgba(196,137,42,.30);

  box-shadow:0 18px 36px rgba(4,7,32,.06);
}

.pq-mark{
  position:absolute;
  top:18px;
  left:24px;

  font-family:var(--serif);
  font-size:5rem;
  font-weight:300;
  line-height:.7;

  color:rgba(196,137,42,.12);

  pointer-events:none;
}

.pq-text{
  position:relative;
  z-index:1;

  font-family:var(--serif);
  font-size:1.3rem;
  font-style:italic;
  font-weight:400;
  line-height:1.6;

  color:var(--text);
}

.pq-attr{
  margin-top:22px;
  padding-top:18px;

  border-top:1px solid var(--rule);

  font-size:.78rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;

  color:var(--copper);
}

/* ============================================================
   AEO BLOCK
============================================================ */

.aeo-block{
  padding:36px 40px;

  background:var(--surface-soft);

  border:1px solid rgba(196,137,42,.16);
  border-left:4px solid var(--copper);

  border-radius:8px;
}

.aeo-label{
  display:flex;
  align-items:center;
  gap:16px;

  margin-bottom:20px;

  font-size:11px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;

  color:var(--copper);
}

.aeo-label::after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(196,137,42,.25),
    transparent
  );
}

.aeo-text{
  font-size:1rem;
  line-height:1.9;

  color:var(--text-soft);
}

.aeo-text strong{
  color:var(--text);
  font-weight:600;
}

/* ============================================================
   STAT ITEMS
============================================================ */

.stat-row{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
}

.stat-item{
  min-width:140px;

  padding:24px 22px;

  background:var(--surface);

  border:1px solid var(--rule);
  border-radius:8px;

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.stat-item:hover{
  transform:translateY(-3px);

  border-color:rgba(196,137,42,.28);

  box-shadow:0 14px 30px rgba(4,7,32,.05);
}

.stat-num{
  display:block;

  margin-bottom:8px;

  font-family:var(--serif);
  font-size:2.2rem;
  font-weight:300;
  line-height:1;

  color:var(--copper);
}

.stat-label{
  font-size:12px;
  line-height:1.55;

  color:var(--text-soft);
}


/* ============================================================
   KEYWORD PILLS
============================================================ */

.kw-pills{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.kw-pill{
  display:inline-flex;
  align-items:center;

  padding:8px 16px;

  background:var(--surface-soft);

  border:1px solid var(--rule);
  border-radius:999px;

  font-size:12px;
  font-weight:500;

  color:var(--text-soft);

  transition:
    border-color .25s ease,
    color .25s ease,
    background .25s ease;
}

.kw-pill:hover{
  background:rgba(196,137,42,.08);
  border-color:rgba(196,137,42,.30);
  color:var(--copper);
}

/* ============================================================
   CTA BLOCK
============================================================ */

.cta-block{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:40px;

  padding:64px var(--pad-x);

  background:var(--surface-soft);

  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}

.cta-block h3{
  margin-bottom:14px;

  font-family:var(--serif);
  font-size:clamp(2rem,3vw,2.6rem);
  font-weight:300;
  line-height:1.2;

  color:var(--text);
}

.cta-block p{
  max-width:620px;

  font-size:1rem;
  line-height:1.9;

  color:var(--text-soft);
}

.cta-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;

  padding:16px 30px;

  background:var(--copper);
  color:var(--white);

  border-radius:999px;

  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;

  transition:
    background .25s ease,
    transform .25s ease,
    box-shadow .25s ease;
}

.cta-btn::after{
  content:"→";
}

.cta-btn:hover{
  transform:translateY(-3px);

  background:#B77D24;

  box-shadow:0 14px 30px rgba(196,137,42,.25);
}

/* ============================================================
   LISTEN PLATFORMS BAR
============================================================ */

.listen-bar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;

  padding:28px var(--pad-x);

  background:var(--bg-alt);

  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}

.listen-bar-label{
  font-size:11px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;

  color:var(--text-light);

  white-space:nowrap;
}

.listen-links{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.listen-link{
  display:inline-flex;
  align-items:center;

  padding:10px 18px;

  background:var(--surface);

  border:1px solid var(--rule);
  border-radius:999px;

  text-decoration:none;

  font-size:12px;
  font-weight:500;

  color:var(--text-soft);

  transition:
    background .25s ease,
    border-color .25s ease,
    color .25s ease,
    transform .25s ease;
}

.listen-link:hover{
  background:rgba(196,137,42,.08);
  border-color:rgba(196,137,42,.32);

  color:var(--copper);

  transform:translateY(-2px);
}

/* ============================================================
   TRANSCRIPT CALLING CARD
============================================================ */

.transcript-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;

  margin-top:28px;
  padding-top:28px;

  border-top:1px solid var(--rule);
}


.transcript-stat{
  padding:18px;

  background:var(--bg-alt);
  border:1px solid var(--rule);
  border-radius:10px;
}


.transcript-stat-num{
  display:block;

  font-family:var(--serif);
  font-size:2rem;
  font-weight:500;
  line-height:1;

  color:var(--copper);

  margin-bottom:10px;
}


.transcript-stat-label{
  display:block;

  font-size:12px;
  line-height:1.6;
  letter-spacing:.04em;

  color:var(--text-soft);
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media(max-width:960px){

  .transcript-stats{
    grid-template-columns:repeat(2,1fr);
  }

}


@media(max-width:640px){

  .transcript-stats{
    grid-template-columns:1fr;
  }

}

/* ============================================================
   FOOTER
============================================================ */

.ce-footer{
    background:var(--cream);

    display:grid;
    grid-template-columns:1.4fr auto auto auto;
    align-items:center;
    gap:48px;

    padding:70px var(--pad-x);

    border-top:1px solid rgba(4,7,32,.08);
}

.footer-brand{
  font-family:var(--serif);
  font-size:20px;
  font-style:italic;
  color:var(--text);
}

.footer-brand span{
  display:block;
  margin-top:4px;
  font-size:11px;
  font-style:normal;
  color:var(--text-light);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.footer-copy{
  font-size:12px;
  color:var(--text-light);
}

.footer-links{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
}

.footer-links a{
  font-size:13px;
  color:var(--text-soft);
  text-decoration:none;
  transition:.25s;
}

.footer-links a:hover{
  color:var(--copper);
}

.footer-social{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.footer-social a{
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-light);
  text-decoration:none;
  transition:.25s;
}

.footer-social a:hover{
  color:var(--copper);
}

@media (max-width:1000px){

    .ce-footer{
        grid-template-columns:1fr;
        text-align:center;
        gap:28px;
    }

    .footer-links,
    .footer-social{
        justify-content:center;
    }

}

/* ============================================================
   SCHEMA CARDS
============================================================ */

.schema-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:20px;
}

.schema-card{
  background:var(--surface);
  border:1px solid var(--rule);
  border-radius:10px;
  padding:22px;
  transition:.25s;
}

.schema-card:hover{
  border-color:var(--copper);
  box-shadow:0 12px 35px rgba(0,0,0,.05);
}

.sc-type{
  display:block;
  margin-bottom:10px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
}

.sc-value{
  font-size:15px;
  line-height:1.75;
  color:var(--text-soft);
}

/* ============================================================
   CREDENTIAL LIST
============================================================ */

.cred-list{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.cred-item{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:22px;
  background:var(--surface);
  border:1px solid var(--rule);
  border-left:4px solid var(--copper);
  border-radius:10px;
  transition:.25s;
}

.cred-item:hover{
  border-color:var(--copper);
  box-shadow:0 12px 35px rgba(0,0,0,.05);
}

.cred-icon{
  flex-shrink:0;
  font-size:1.2rem;
  color:var(--copper);
  margin-top:2px;
}

.ct-title{
  font-size:16px;
  font-weight:600;
  color:var(--text);
  margin-bottom:6px;
}

.ct-desc{
  font-size:15px;
  color:var(--text-soft);
  line-height:1.75;
}


/* ============================================================
   FAQ ACCORDION
============================================================ */

.faq-list{
  display:flex;
  flex-direction:column;
  gap:14px;
  max-width:760px;
}

.faq-item{
  background:var(--surface);
  border:1px solid var(--rule);
  border-radius:10px;
  overflow:hidden;
  transition:.25s;
}

.faq-item:hover{
  border-color:var(--copper-rule);
}

.faq-q{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;

  padding:20px 24px;
  cursor:pointer;
  user-select:none;

  font-family:var(--serif);
  font-size:1.15rem;
  font-weight:500;
  line-height:1.4;
  color:var(--text);

  transition:.25s;
}

.faq-q::after{
  content:"+";
  flex-shrink:0;

  font-family:var(--sans);
  font-size:1.4rem;
  font-weight:300;

  color:var(--copper);
  transition:.25s;
}

.faq-item.open{
  border-color:var(--copper);
}

.faq-item.open .faq-q{
  color:var(--copper);
}

.faq-item.open .faq-q::after{
  transform:rotate(45deg);
}

.faq-a{
  display:none;

  padding:0 24px 22px;

  font-size:15px;
  line-height:1.8;
  color:var(--text-soft);
}

.faq-item.open .faq-a{
  display:block;
}

/* ============================================================
   SUBSCRIBE FORM
============================================================ */

.subscribe-section{
    background:var(--bg-alt);
    padding:64px var(--pad-x);
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
}

.sub-form{
    display:flex;
    align-items:stretch;
    gap:16px;

    max-width:700px;
    margin-top:32px;
}

.sub-input{
    flex:1;

    height:56px;
    padding:0 18px;

    background:var(--surface);
    color:var(--text);

    border:1px solid var(--rule);
    border-radius:10px;

    font-family:var(--sans);
    font-size:15px;

    outline:none;
    transition:border-color .25s ease,
               box-shadow .25s ease;
}

.sub-input::placeholder{
    color:var(--text-light);
}

.sub-input:focus{
    border-color:var(--copper);
    box-shadow:0 0 0 4px rgba(196,137,42,.10);
}

.sub-btn{
    display:flex;
    align-items:center;
    justify-content:center;

    height:56px;
    padding:0 28px;

    background:var(--copper);
    color:var(--white);

    border:none;
    border-radius:10px;

    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    white-space:nowrap;

    cursor:pointer;

    transition:
        background .25s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.sub-btn:hover{
    background:#b67c21;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.sub-btn:active{
    transform:translateY(0);
}

/* Mobile */

@media (max-width:768px){

    .sub-form{
        flex-direction:column;
        max-width:100%;
    }

    .sub-btn{
        width:100%;
    }

}


/* ============================================================
   PLAYBOOK GUIDE — STEP LIST
============================================================ */

.guide-steps{
  display:flex;
  flex-direction:column;
}

.guide-step{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:28px;

  padding:36px 0;

  border-bottom:1px solid var(--rule);

  align-items:flex-start;
}

.guide-step:last-child{
  border-bottom:none;
}

.step-num{
  font-family:var(--serif);
  font-size:3rem;
  font-weight:300;
  line-height:1;

  color:rgba(196,137,42,.22);
}

.step-title{
  font-family:var(--serif);
  font-size:1.45rem;
  font-weight:500;
  line-height:1.3;

  color:var(--text);

  margin-bottom:10px;
}

.step-text{
  font-size:15px;
  line-height:1.9;

  color:var(--text-soft);
}

/* ============================================================
   TRANSCRIPT BODY
============================================================ */

.transcript-body{
  max-width:760px;
}

.transcript-body h3{
  font-family:var(--serif);
  font-size:1.45rem;
  font-weight:500;
  line-height:1.35;

  color:var(--text);

  margin:42px 0 16px;
}

.transcript-body p{
  font-size:16px;
  line-height:1.95;

  color:var(--text-soft);

  margin-bottom:22px;
}

.transcript-body .speaker{
  display:block;

  margin-bottom:8px;

  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;

  color:var(--copper);
}

.ts-disclaimer{
  margin-bottom:32px;
  padding:18px 22px;

  background:var(--surface);
  border:1px solid var(--rule);
  border-left:4px solid var(--copper);
  border-radius:8px;

  font-size:14px;
  font-style:italic;
  line-height:1.8;

  color:var(--text-light);
}


/* ============================================================
   CONTENT SECTIONS
============================================================ */

.section{
  padding:64px var(--pad-x);
}

.section + .section{
  border-top:1px solid var(--rule);
}

.section--dark{
  background:var(--bg-alt);
}

/* ============================================================
   TWO-COLUMN LAYOUT
============================================================ */

.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:72px;
  align-items:start;
}

.two-col--3-5{
  grid-template-columns:3fr 5fr;
}


/* ============================================================
   GUEST CARD (DIRECTORY)
============================================================ */

.guest-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.guest-card{
  display:block;
  text-decoration:none;

  padding:28px;

  background:var(--surface);
  border:1px solid var(--rule);
  border-radius:12px;

  transition:.25s;
}

.guest-card:hover{
  transform:translateY(-4px);
  border-color:var(--copper);
  box-shadow:0 16px 40px rgba(0,0,0,.06);
}

.gc-ep{
  display:inline-block;

  margin-bottom:14px;

  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;

  color:var(--copper);
}

.gc-name{
  font-family:var(--serif);
  font-size:1.6rem;
  font-weight:500;
  line-height:1.2;

  color:var(--text);

  margin-bottom:8px;
}

.gc-role{
  font-size:15px;
  line-height:1.7;

  color:var(--text-soft);

  margin-bottom:18px;
}

.gc-theme{
  font-family:var(--serif);
  font-size:1rem;
  font-style:italic;
  line-height:1.6;

  color:var(--copper);
}

/* ============================================================
   FIREWALL CARD (Hub Page)
============================================================ */

.fw-card{
  display:block;
  text-decoration:none;

  padding:32px;

  background:var(--surface);
  border:1px solid var(--rule);
  border-radius:12px;

  transition:.25s;
}

.fw-card:hover{
  transform:translateY(-4px);
  border-color:var(--copper);
  box-shadow:0 16px 40px rgba(0,0,0,.06);
}

.fw-card-num{
  font-family:var(--serif);
  font-size:3.5rem;
  font-weight:300;
  line-height:1;

  color:rgba(196,137,42,.20);

  margin-bottom:10px;
}

.fw-card-kicker{
  display:block;

  margin-bottom:16px;

  font-size:11px;
  font-weight:700;
  letter-spacing:.20em;
  text-transform:uppercase;

  color:var(--copper);
}

.fw-card-title{
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:500;
  line-height:1.25;

  color:var(--text);

  margin-bottom:14px;
}

.fw-card-desc{
  font-size:15px;
  line-height:1.85;

  color:var(--text-soft);

  margin-bottom:22px;
}

.fw-card-link{
  display:inline-flex;
  align-items:center;
  gap:8px;

  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;

  color:var(--copper);
}

.fw-card-link::after{
  content:"→";
  transition:.25s;
}

.fw-card:hover .fw-card-link::after{
  transform:translateX(4px);
}


/* ============================================================
   PLAYBOOK CARD (Hub Page)
============================================================ */

.pb-card{
  display:block;
  text-decoration:none;

  padding:30px;

  background:var(--surface);
  border:1px solid var(--rule);
  border-radius:12px;

  transition:.25s;
}

.pb-card:hover{
  transform:translateY(-4px);
  border-color:var(--copper);
  box-shadow:0 16px 40px rgba(0,0,0,.06);
}

.pb-card-tag{
  display:inline-block;

  margin-bottom:16px;
  padding:6px 12px;

  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;

  color:var(--copper);

  background:var(--copper-dim);
  border:1px solid var(--copper-rule);
  border-radius:999px;
}

.pb-card-title{
  font-family:var(--serif);
  font-size:1.45rem;
  font-weight:500;
  line-height:1.3;

  color:var(--text);

  margin-bottom:12px;
}

.pb-card-q{
  font-size:15px;
  line-height:1.8;

  color:var(--text-soft);

  margin-bottom:22px;
}

.pb-card-link{
  display:inline-flex;
  align-items:center;
  gap:8px;

  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;

  color:var(--copper);
}

.pb-card-link::after{
  content:"→";
  transition:.25s;
}

.pb-card:hover .pb-card-link::after{
  transform:translateX(4px);
}

/* ---------- FOOTER ---------- */

.ce-footer{
    background:var(--cream);
    padding:70px var(--pad-x);
    text-align:center;
    border-top:1px solid rgba(4,7,32,.08);
}

.footer-brand{
    font-family:var(--serif);
    font-size:2rem;
    color:var(--ink);
}

.footer-brand span{
    display:block;
    margin-top:8px;
    font-size:.8rem;
    color:var(--mid);
    font-family:inherit;
}

.footer-copy{
    margin:28px 0;
    color:var(--mid);
}

.footer-links,
.footer-social{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
    margin-top:20px;
}

.footer-links a,
.footer-social a{
    color:var(--ink);
    text-decoration:none;
    transition:.25s ease;
}

.footer-links a:hover,
.footer-social a:hover{
    color:var(--gd);
}

/* ============================================================
   RESPONSIVE
============================================================ */

@media (max-width:960px){

  :root{
    --pad-x:32px;
  }

  .two-col,
  .two-col--3-5{
    grid-template-columns:1fr;
    gap:48px;
  }

  .guest-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .ep-grid{
    grid-template-columns:1fr;
  }

  .schema-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .cta-block{
    flex-direction:column;
    align-items:flex-start;
    gap:28px;
  }

  .sub-form{
    max-width:100%;
  }

}


@media (max-width:640px){

  :root{
    --pad-x:var(--pad-x-mobile);
  }

  .ce-nav{
    padding:0 20px;
    gap:18px;
  }

  .nav-links{
    display:none;
  }

  .page-hero{
    padding:56px var(--pad-x) 44px;
  }

  .section{
    padding:48px var(--pad-x);
  }

  .guest-grid,
  .schema-grid,
  .quotes-grid,
  .ep-grid{
    grid-template-columns:1fr;
  }

  .sub-form{
    flex-direction:column;
  }

  .sub-btn{
    width:100%;
  }

  .stat-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
  }

  .guide-step{
    grid-template-columns:1fr;
    gap:16px;
  }

  .step-num{
    font-size:2.3rem;
  }

  .footer-links,
  .footer-social{
    flex-wrap:wrap;
    gap:12px;
  }

  .ce-footer{
    flex-direction:column;
    align-items:flex-start;
    gap:28px;
  }

}


@media (max-width:480px){

  .stat-row{
    grid-template-columns:1fr;
  }

  .ph-h1{
    font-size:2.35rem;
  }

  .fw-card,
  .pb-card,
  .guest-card,
  .ep-card{
    padding:22px;
  }

}