/* ══════════════════════════════════════════════════
   TONY DIXON — tonydixon.com
   Rich Black · Worn Gold · Warm Ivory · Charcoal
   ══════════════════════════════════════════════════ */
:root{
  --black:#0B0A08;
  --charcoal:#1B1916;
  --charcoal-2:#242119;
  --gold:#C6A45C;
  --gold-bright:#E0C07E;
  --ivory:#F6F1E6;
  --ivory-dim:#CBC4B4;
  --line:rgba(198,164,92,.30);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Figtree','Segoe UI',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--ivory);font-family:var(--sans);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--gold-bright);text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}
section{padding:100px 0}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--ivory)}
h2{font-size:clamp(2rem,4.2vw,2.9rem);line-height:1.12}
.eyebrow{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-weight:500}
.rule{width:56px;height:1px;background:var(--gold);margin:20px 0 28px}
.lede{color:var(--ivory-dim);max-width:62ch;font-size:1.06rem}
.center{text-align:center}
.center .rule{margin-left:auto;margin-right:auto}
.center .lede{margin-left:auto;margin-right:auto}

/* Buttons */
.btn{display:inline-block;padding:15px 32px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;border:1px solid var(--gold);transition:all .3s;cursor:pointer;background:transparent;color:var(--gold-bright);font-family:var(--sans)}
.btn:hover{background:rgba(198,164,92,.12)}
.btn-solid{background:var(--gold);color:var(--black)}
.btn-solid:hover{background:var(--gold-bright);border-color:var(--gold-bright)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}
.center .btn-row{justify-content:center}

/* ── Nav ── */
nav{position:fixed;top:0;left:0;right:0;z-index:90;background:rgba(11,10,8,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(198,164,92,.14)}
.nav-inner{max-width:1280px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.mark{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.2rem;letter-spacing:.06em;color:var(--ivory);font-weight:600;white-space:nowrap}
.mark img{height:40px;width:auto}
.mark span{color:var(--gold)}
.nav-links{display:flex;gap:16px;list-style:none;flex-wrap:nowrap;align-items:center;white-space:nowrap}
.nav-links a{color:var(--ivory-dim);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:400;transition:color .25s;padding:4px 0}
.nav-links a:hover,.nav-links a.active{color:var(--gold-bright)}
.nav-links .nav-cta{border:1px solid var(--gold);padding:8px 16px;color:var(--gold-bright)}
#nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--gold-bright);font-size:1.15rem;padding:6px 12px;cursor:pointer}
@media(max-width:1200px){
  #nav-toggle{display:block}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(11,10,8,.98);flex-direction:column;gap:0;padding:12px 0;border-bottom:1px solid var(--line)}
  .nav-links.open{display:flex}
  .nav-links li{width:100%;text-align:center}
  .nav-links a{display:block;padding:12px}
}

/* ── Page hero ── */
.page-hero{padding:190px 0 90px;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;right:-14%;top:0;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(198,164,92,.10),transparent 62%);pointer-events:none}
.page-hero h1{font-size:clamp(2.6rem,6vw,4.4rem);line-height:1.05;margin:18px 0 10px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;position:relative}
.hero-interrupt{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--ivory);border-left:2px solid var(--gold);padding-left:20px;margin:30px 0 36px;max-width:30ch;line-height:1.4}
.portrait{position:relative;aspect-ratio:4/5;border:1px solid var(--line);background:var(--charcoal)}
.portrait::after{content:"";position:absolute;inset:0;border:1px solid var(--gold);transform:translate(16px,16px);pointer-events:none}
.portrait img{width:100%;height:100%;object-fit:cover}

/* ── Bands & cards ── */
.band{background:var(--charcoal);border-top:1px solid rgba(198,164,92,.12);border-bottom:1px solid rgba(198,164,92,.12)}
.band-ivory{background:var(--ivory);color:var(--black)}
.band-ivory h2,.band-ivory h3{color:var(--black)}
.band-ivory .eyebrow{color:#8a6f33}
.band-ivory .lede,.band-ivory p{color:#4c463a}
.band-ivory .rule{background:#8a6f33}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.card{border:1px solid var(--line);padding:40px 32px;transition:border-color .3s,background .3s}
.card:hover{border-color:var(--gold);background:rgba(198,164,92,.05)}
.card h3{font-size:1.4rem;margin:16px 0 10px;line-height:1.3}
.card p{color:var(--ivory-dim);font-size:.95rem}
.card .num{font-family:var(--serif);color:var(--gold);letter-spacing:.3em;font-size:.9rem}

/* Triptych */
.triptych{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:52px}
.pillar{padding:50px 36px;border-right:1px solid var(--line);transition:background .35s}
.pillar:last-child{border-right:none}
.pillar:hover{background:rgba(198,164,92,.06)}
.pillar h3{font-size:1.7rem;letter-spacing:.13em;color:var(--gold-bright);margin:16px 0 12px;text-transform:uppercase}
.pillar p{color:var(--ivory-dim);font-size:.97rem}

/* Credentials strip */
.creds{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line);margin-top:52px}
.cred{flex:1 1 25%;min-width:200px;padding:26px 18px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.12rem;color:var(--ivory)}
.cred small{display:block;font-family:var(--sans);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-top:6px}

/* Testimonials */
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.tst{border:1px solid var(--line);padding:38px 32px;background:var(--charcoal)}
.tst p{font-family:var(--serif);font-style:italic;font-size:1.18rem;line-height:1.5;color:var(--ivory)}
.tst .attr{margin-top:18px;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:500}
.band-ivory .tst{background:#fff;border-color:rgba(11,10,8,.18)}
.band-ivory .tst p{color:var(--black)}
.band-ivory .tst .attr{color:#8a6f33}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}
.gitem{position:relative;border:1px solid var(--line);overflow:hidden}
.gitem img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .5s}
.gitem:hover img{transform:scale(1.04)}
.gitem figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(transparent,rgba(11,10,8,.92));font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-bright)}

/* Stats dashboard */
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:52px}
.stat{border:1px solid var(--line);padding:34px 16px;text-align:center}
.stat b{display:block;font-family:var(--serif);font-weight:500;font-size:2.4rem;color:var(--gold-bright);line-height:1}
.stat span{display:block;margin-top:10px;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-dim)}

/* Timeline */
.timeline{margin-top:56px;border-left:1px solid var(--line);padding-left:38px;position:relative}
.tl{position:relative;padding-bottom:44px}
.tl:last-child{padding-bottom:0}
.tl::before{content:"";position:absolute;left:-44px;top:8px;width:11px;height:11px;background:var(--gold);transform:rotate(45deg)}
.tl h3{font-size:1.4rem;color:var(--gold-bright)}
.tl .when{font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.tl p{color:var(--ivory-dim);max-width:60ch}

/* Video */
.video-frame{position:relative;border:1px solid var(--line);background:var(--charcoal);overflow:hidden}
.video-916{aspect-ratio:9/16;max-width:390px;margin:0 auto}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}

/* Forms */
form.tdform{margin-top:44px;display:grid;gap:16px;max-width:640px}
.tdform label{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500}
.tdform input,.tdform textarea,.tdform select{width:100%;padding:14px 16px;background:var(--charcoal);border:1px solid var(--line);color:var(--ivory);font-family:var(--sans);font-size:.95rem}
.tdform input:focus,.tdform textarea:focus,.tdform select:focus{outline:none;border-color:var(--gold)}
.tdform .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.band-ivory .tdform input,.band-ivory .tdform textarea,.band-ivory .tdform select{background:#fff;color:var(--black);border-color:rgba(11,10,8,.25)}

/* Newsletter band */
.movement{background:var(--charcoal);border-top:1px solid rgba(198,164,92,.16);padding:84px 0;text-align:center}
.movement h2{font-size:clamp(1.7rem,3.4vw,2.4rem)}
.movement form{margin:34px auto 0;display:flex;gap:12px;max-width:560px;flex-wrap:wrap;justify-content:center}
.movement input{flex:1;min-width:240px;padding:15px 18px;background:var(--black);border:1px solid var(--line);color:var(--ivory);font-family:var(--sans)}
.movement input:focus{outline:none;border-color:var(--gold)}

/* Footer */
footer{border-top:1px solid rgba(198,164,92,.14);padding:56px 0 42px;color:var(--ivory-dim);font-size:.82rem}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:48px;align-items:start}
.foot-grid h4{font-family:var(--serif);color:var(--ivory);font-size:1.1rem;margin-bottom:14px}
.foot-grid ul{list-style:none}
.foot-grid li{margin-bottom:8px}
.foot-grid a{color:var(--ivory-dim)}
.foot-grid a:hover{color:var(--gold-bright)}
.foot-bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(198,164,92,.12);text-align:center;font-size:.72rem;letter-spacing:.12em}

/* Reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Responsive */
@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .portrait{max-width:420px}
  .cards,.testimonials,.gallery,.video-row{grid-template-columns:1fr}
  .triptych{grid-template-columns:1fr}
  .pillar{border-right:none;border-bottom:1px solid var(--line)}
  .pillar:last-child{border-bottom:none}
  .stats{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr}
  section{padding:76px 0}
  .page-hero{padding:150px 0 70px}
  .tdform .two{grid-template-columns:1fr}
}

/* Episode list */
.episodes{list-style:none;margin-top:48px;border-top:1px solid var(--line)}
.episodes li{border-bottom:1px solid var(--line)}
.episodes a{display:flex;gap:28px;align-items:baseline;padding:20px 6px;transition:background .25s;flex-wrap:wrap}
.episodes a:hover{background:rgba(198,164,92,.06)}
.ep-date{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);min-width:140px;font-weight:500}
.ep-title{font-family:var(--serif);font-size:1.25rem;color:var(--ivory);line-height:1.35;flex:1}
.episodes a:hover .ep-title{color:var(--gold-bright)}

/* LEGIBILITY CORRECTIONS: color and weight only, per content pass */
.band-ivory h2{font-weight:600}
.band-ivory .card p{color:#1B1916}
.band-ivory .card h3{color:#0B0A08}
.tst .attr{color:#8a6f33}

.video-169{aspect-ratio:16/9}

/* FOOTER SOCIAL */
.social-row{display:flex;gap:14px;margin-top:20px}
.social-row a{width:42px;height:42px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--gold-bright);transition:border-color .3s,color .3s}
.social-row a:hover{border-color:var(--gold);color:var(--gold)}

/* NEW CONVERSATIONS dynamic grid */
.ep-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:38px;text-align:left}
.ep-card{display:flex;gap:18px;align-items:center;border:1px solid var(--line);background:var(--charcoal);padding:14px;transition:border-color .3s}
.ep-card:hover{border-color:var(--gold)}
.ep-thumb{flex:0 0 168px;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(198,164,92,.18)}
.ep-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ep-card .ep-date{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.ep-card .ep-title{color:var(--ivory);font-size:.95rem;line-height:1.45}
@media(max-width:820px){.ep-grid{grid-template-columns:1fr}.ep-thumb{flex-basis:132px}}


/* ========================================
   WOOCOMMERCE SINGLE PRODUCT
======================================== */

.single-product .td-woocommerce {
    padding: 70px 30px 100px;
}

.single-product .td-woocommerce-inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Product layout */
.single-product div.product {
    width: 100%;
}

/* Product image side */
.single-product div.product div.images {
    width: 48% !important;
}

/* Product information side */
.single-product div.product div.summary {
    width: 46% !important;
}

/* Main product image */
.single-product div.product div.images img {
    width: 100%;
    height: auto;
}

/* Product title */
.single-product .product_title {
    color: #F6F1E6;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(36px, 4vw, 54px);
    line-height: 1.05;
    margin-bottom: 18px;
}

/* Price */
.single-product .summary .price {
    color: #C6A45C !important;
    font-size: 22px !important;
}

/* Variation labels */
.single-product table.variations th,
.single-product table.variations label {
    color: #F6F1E6;
}

/* Dropdowns */
.single-product table.variations select {
    width: 100%;
    min-height: 44px;
    padding: 8px 12px;
    background: #F6F1E6;
    color: #0B0A08;
    border: 1px solid rgba(198,164,92,.35);
}

/* Add to cart button */
.single-product .single_add_to_cart_button {
    background: #C6A45C !important;
    color: #0B0A08 !important;
    border-radius: 0 !important;
    padding: 14px 24px !important;
    font-weight: 600 !important;
}

/* Product meta */
.single-product .product_meta {
    color: #CBC4B4;
    margin-top: 25px;
}

.single-product .product_meta a {
    color: #C6A45C;
}

/* Mobile */
@media (max-width: 768px) {

    .single-product .td-woocommerce {
        padding: 40px 20px 70px;
    }

    .single-product div.product div.images,
    .single-product div.product div.summary {
        width: 100% !important;
        float: none !important;
    }

    .single-product div.product div.summary {
        margin-top: 35px;
    }
}

/* Product variation dropdowns */
.single-product table.variations select {
    background: #F6F1E6 !important;
    color: #0B0A08 !important;
    border: 1px solid #C6A45C !important;
    padding: 10px 14px !important;
    min-height: 44px;
    font-size: 15px;
}

/* Dropdown choices */
.single-product table.variations select option {
    background: #F6F1E6 !important;
    color: #0B0A08 !important;
}

/* Variation labels */
.single-product table.variations th,
.single-product table.variations label {
    color: #F6F1E6 !important;
}

/* Quantity selector */
.single-product .quantity .qty {
    width: 75px !important;
    height: 46px !important;
    padding: 8px 10px !important;
    font-size: 16px !important;
    text-align: center;
    background: #F6F1E6 !important;
    color: #0B0A08 !important;
    border: 1px solid #C6A45C !important;
    box-sizing: border-box;
}

/* Keep quantity + Add to Cart aligned */
.single-product form.cart .quantity {
    margin-right: 10px !important;
}

.single-product form.cart .quantity,
.single-product form.cart .single_add_to_cart_button {
    vertical-align: middle;
}