:root{
    --pod-navy:#071d3d;
    --pod-navy2:#102f5c;
    --pod-red:#c91f2a;
    --pod-gold:#e4a02a;
    --pod-soft:#f4f6f8;
    --pod-text:#17263a;
    --pod-muted:#617188;
    --pod-border:#dce3ea;
}

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

.podcast-page,
.podcast-detail{
    font-family:Inter,sans-serif;
    color:var(--pod-text);
    background:#fff;
}

.pod-shell{
    width:min(1180px,calc(100% - 40px));
    margin:auto;
}

.pod-narrow{
    max-width:850px;
}

.pod-section{
    padding:88px 0;
}

.pod-soft{
    background:var(--pod-soft);
}

.pod-eyebrow{
    margin:0 0 12px;
    text-transform:uppercase;
    letter-spacing:.15em;
    font:800 14px "Barlow Condensed",sans-serif;
    color:#fff;
}

.pod-eyebrow.dark{
    color:var(--pod-red);
}

.pod-section h2,
.pod-travel h2,
.pod-closing h2{
    font:800 clamp(42px,5vw,70px)/.94 "Barlow Condensed",sans-serif;
    text-transform:uppercase;
    color:var(--pod-navy);
    margin:0 0 24px;
}

.pod-rich{
    font-size:17px;
    line-height:1.8;
    color:#43556c;
}

.pod-rich p{
    margin:0 0 16px;
}


/* =========================================================
   BUTTONS
========================================================= */

.pod-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:13px 20px;
    border-radius:7px;
    font-weight:800;
    text-decoration:none;
    border:2px solid transparent;
    cursor:pointer;
}

.pod-btn-red{
    background:var(--pod-red);
    color:#fff;
}

.pod-btn-red:hover{
    background:#a91822;
}

.pod-btn-outline{
    border-color:#fff;
    color:#fff;
    background:transparent;
}

.pod-btn-dark{
    background:var(--pod-navy);
    color:#fff;
}


/* =========================================================
   MAIN PODCAST HERO
========================================================= */

.pod-hero{
    height:min(78vh,760px);
    min-height:620px;
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:var(--pod-navy);
}

.pod-hero-image{
    position:absolute;
    inset:0 0 0 40%;
    overflow:hidden;
}

.pod-hero-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.pod-hero-shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(3,17,38,.99) 0%,
            rgba(3,17,38,.93) 38%,
            rgba(3,17,38,.5) 63%,
            rgba(3,17,38,.12) 100%
        );
}

.pod-hero-inner{
    position:relative;
    z-index:2;
}

.pod-hero-copy{
    max-width:660px;
    color:#fff;
}

.pod-hero h1{
    font:800 clamp(62px,7.3vw,103px)/.84 "Barlow Condensed",sans-serif;
    text-transform:uppercase;
    margin:0;
    color:#fff;
}

.pod-lead{
    font-size:18px;
    line-height:1.7;
    max-width:620px;
    margin-top:24px;
}

.pod-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:28px;
}


/* =========================================================
   INTRO
========================================================= */

.pod-two-col{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.pod-studio-card{
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 20px 45px rgba(7,29,61,.18);
}

.pod-studio-card img{
    display:block;
    width:100%;
    height:520px;
    object-fit:cover;
}


/* =========================================================
   TOPICS
========================================================= */

.pod-section-head{
    max-width:850px;
    margin-bottom:34px;
}

.pod-topic-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.pod-topic{
    display:grid;
    grid-template-columns:50px 1fr;
    column-gap:14px;
    padding:22px;
    background:#fff;
    border:1px solid var(--pod-border);
    border-radius:14px;
    box-shadow:0 10px 25px rgba(7,29,61,.05);
}

.pod-topic i{
    grid-row:1/3;
    color:var(--pod-gold);
    font-size:26px;
    align-self:center;
}

.pod-topic strong{
    color:var(--pod-navy);
    font-size:18px;
}

.pod-topic span{
    color:var(--pod-muted);
    font-size:13px;
    line-height:1.45;
}


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

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

.pod-episode-card{
    background:#fff;
    border:1px solid var(--pod-border);
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(7,29,61,.08);
    display:flex;
    flex-direction:column;
}

/*
   Episode artwork is deliberately square.
   object-fit:contain prevents any artwork from being cropped.
*/
.pod-episode-image{
    display:flex;
    width:100%;
    aspect-ratio:1 / 1;
    height:auto;
    position:relative;
    overflow:hidden;
    align-items:center;
    justify-content:center;
    background:var(--pod-navy);
}

.pod-episode-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    background:var(--pod-navy);
}

.pod-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    font-size:48px;
    color:#fff;
    background:
        linear-gradient(
            135deg,
            var(--pod-navy),
            var(--pod-navy2)
        );
}

/*
   Temporary placement.
   In the next step we move the episode number
   completely out of the image area.
*/
.pod-episode-number{
    position:absolute;
    left:14px;
    bottom:14px;
    padding:6px 9px;
    border-radius:999px;
    background:var(--pod-red);
    color:#fff;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}

.pod-episode-body{
    padding:22px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.pod-meta{
    display:flex;
    justify-content:space-between;
    gap:8px;
    color:var(--pod-red);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
}

.pod-episode-card h3{
    font:800 30px/1 "Barlow Condensed",sans-serif;
    text-transform:uppercase;
    margin:12px 0;
}

.pod-episode-card h3 a{
    color:var(--pod-navy);
    text-decoration:none;
}

.pod-guest{
    font-weight:700;
    color:#42556d;
}

.pod-episode-card p{
    color:var(--pod-muted);
    line-height:1.6;
}

.pod-card-actions{
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.pod-text-link{
    color:var(--pod-red);
    font-weight:800;
    text-decoration:none;
}

.pod-mini-btn{
    padding:8px 10px;
    border-radius:7px;
    background:var(--pod-navy);
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
}

.pod-coming{
    display:grid;
    grid-template-columns:60px 1fr;
    gap:20px;
    align-items:center;
    padding:28px;
    background:var(--pod-soft);
    border:1px solid var(--pod-border);
    border-radius:16px;
}

.pod-coming>i{
    font-size:34px;
    color:var(--pod-gold);
}

.pod-coming h3{
    font:800 34px/1 "Barlow Condensed",sans-serif;
    text-transform:uppercase;
    color:var(--pod-navy);
    margin:0 0 8px;
}

.pod-coming p{
    margin:0;
    color:var(--pod-muted);
}


/* =========================================================
   TRAVELING STUDIO
========================================================= */

.pod-travel{
    position:relative;
    min-height:650px;
    display:flex;
    align-items:center;
    background:var(--pod-navy);
    overflow:hidden;
}

.pod-travel-image{
    position:absolute;
    inset:0;
}

.pod-travel-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.pod-travel-shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(3,17,38,.97) 0%,
            rgba(3,17,38,.88) 45%,
            rgba(3,17,38,.2) 75%
        );
}

.pod-travel-inner{
    position:relative;
    z-index:2;
}

.pod-travel-copy{
    max-width:650px;
    color:#fff;
}

.pod-travel h2{
    color:#fff;
}

.pod-travel .pod-rich{
    color:#fff;
}

.pod-road-list{
    list-style:none;
    padding:0;
    margin:25px 0 0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.pod-road-list li{
    display:flex;
    gap:10px;
    align-items:center;
}

.pod-road-list i{
    color:var(--pod-gold);
}


/* =========================================================
   PODCAST PLATFORMS
========================================================= */

.pod-listen{
    background:#fff;
}

.pod-platform-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
}

.pod-platform-grid a,
.pod-platform-grid span{
    display:flex;
    flex-direction:column;
    gap:10px;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-height:120px;
    border:1px solid var(--pod-border);
    border-radius:14px;
    background:var(--pod-soft);
    color:var(--pod-navy);
    text-decoration:none;
    font-weight:800;
}

.pod-platform-grid i{
    font-size:30px;
    color:var(--pod-red);
}


/* =========================================================
   GUEST FORM
========================================================= */

.pod-guest-section{
    background:var(--pod-soft);
}

.pod-guest-layout{
    display:grid;
    grid-template-columns:.88fr 1.12fr;
    gap:60px;
    align-items:start;
}

.pod-review-note{
    display:flex;
    gap:14px;
    padding:20px;
    margin-top:25px;
    background:#fff;
    border-left:4px solid var(--pod-gold);
    border-radius:10px;
}

.pod-review-note i{
    font-size:24px;
    color:var(--pod-red);
}

.pod-review-note p{
    margin:0;
    line-height:1.6;
    font-weight:700;
    color:#43556c;
}

.pod-form-card{
    background:#fff;
    border:1px solid var(--pod-border);
    border-radius:18px;
    padding:30px;
    box-shadow:0 16px 40px rgba(7,29,61,.08);
}

.pod-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.pod-form-card label{
    display:block;
    font-size:13px;
    font-weight:800;
    color:var(--pod-navy);
    margin-bottom:16px;
}

.pod-form-card input,
.pod-form-card textarea{
    box-sizing:border-box;
    width:100%;
    margin-top:7px;
    border:1px solid #cdd6df;
    border-radius:8px;
    padding:12px;
    font:500 15px Inter,sans-serif;
}

.pod-consent{
    display:flex!important;
    gap:10px;
    align-items:flex-start;
}

.pod-consent input{
    width:auto!important;
    margin-top:3px!important;
}

.pod-submit{
    width:100%;
}

.pod-hp{
    position:absolute!important;
    left:-9999px!important;
}

.pod-success{
    text-align:center;
    padding:40px 20px;
}

.pod-success i{
    font-size:54px;
    color:#199447;
}

.pod-success h3{
    font:800 38px/1 "Barlow Condensed",sans-serif;
    text-transform:uppercase;
    color:var(--pod-navy);
    margin:16px 0 10px;
}


/* =========================================================
   CLOSING
========================================================= */

.pod-closing{
    padding:90px 0;
    text-align:center;
    background:var(--pod-navy);
    color:#fff;
}

.pod-closing h2{
    color:#fff;
}

.pod-closing .pod-rich{
    color:#dce5ef;
}

.pod-closing strong{
    display:block;
    margin-top:24px;
    color:var(--pod-gold);
    font:800 28px "Barlow Condensed",sans-serif;
    text-transform:uppercase;
    letter-spacing:.05em;
}


/* =========================================================
   INDIVIDUAL EPISODE HERO
========================================================= */

.pod-detail-hero{
    min-height:600px;
    position:relative;
    display:flex;
    align-items:flex-end;
    background:
        linear-gradient(
            135deg,
            var(--pod-navy),
            var(--pod-navy2)
        );
    overflow:hidden;
}

.pod-detail-hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;

    /*
       Hero artwork has subject positioned to the right,
       leaving negative space for copy on the left.
    */
    object-position:70% center;
}

/*
   Dark left-side treatment protects the title while
   allowing the guest image to remain visible on the right.
*/
.pod-detail-shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(3,17,38,.98) 0%,
            rgba(3,17,38,.92) 30%,
            rgba(3,17,38,.72) 48%,
            rgba(3,17,38,.30) 68%,
            rgba(3,17,38,.10) 100%
        ),
        linear-gradient(
            0deg,
            rgba(3,17,38,.68) 0%,
            rgba(3,17,38,.12) 55%,
            rgba(3,17,38,.10) 100%
        );
}

.pod-detail-inner{
    position:relative;
    z-index:2;
    padding-top:150px;
    padding-bottom:64px;
    color:#fff;
}

.pod-detail-inner h1{
    font:800 clamp(52px,7vw,90px)/.9 "Barlow Condensed",sans-serif;
    text-transform:uppercase;
    margin:10px 0 14px;
    max-width:820px;
    color:#fff;
}

.pod-detail-number{
    display:inline-block;
    background:var(--pod-red);
    padding:6px 10px;
    border-radius:999px;
    font-weight:900;
    font-size:12px;
    text-transform:uppercase;
}

.pod-detail-guest{
    max-width:720px;
    margin:0;
    color:#fff;
    font-size:18px;
    line-height:1.5;
    font-weight:600;
}

.pod-detail-article{
    max-width:820px;
}

.pod-detail-excerpt{
    font:700 28px/1.35 "Barlow Condensed",sans-serif;
    color:var(--pod-navy);
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1000px){

    .pod-two-col,
    .pod-guest-layout{
        grid-template-columns:1fr;
    }

    .pod-topic-grid,
    .pod-episode-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .pod-platform-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .pod-hero-image{
        inset:0;
    }

    .pod-hero-shade{
        background:rgba(3,17,38,.78);
    }

    .pod-detail-shade{
        background:
            linear-gradient(
                90deg,
                rgba(3,17,38,.95) 0%,
                rgba(3,17,38,.80) 55%,
                rgba(3,17,38,.35) 100%
            ),
            linear-gradient(
                0deg,
                rgba(3,17,38,.72),
                rgba(3,17,38,.10) 70%
            );
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:680px){

    .pod-shell{
        width:min(100% - 28px,1180px);
    }

    .pod-section{
        padding:65px 0;
    }

    .pod-hero{
        min-height:700px;
    }

    .pod-hero h1{
        font-size:58px;
    }

    .pod-topic-grid,
    .pod-episode-grid,
    .pod-form-grid{
        grid-template-columns:1fr;
    }

    .pod-platform-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .pod-road-list{
        grid-template-columns:1fr;
    }

    .pod-studio-card img{
        height:360px;
    }

    .pod-form-card{
        padding:20px;
    }

    .pod-travel{
        min-height:700px;
    }

    .pod-travel-shade{
        background:rgba(3,17,38,.8);
    }

    /* Episode detail mobile */

    .pod-detail-hero{
        min-height:650px;
    }

    .pod-detail-hero-image{
        object-position:68% center;
    }

    .pod-detail-shade{
        background:
            linear-gradient(
                0deg,
                rgba(3,17,38,.98) 0%,
                rgba(3,17,38,.86) 48%,
                rgba(3,17,38,.42) 100%
            );
    }

    .pod-detail-inner{
        padding-top:220px;
        padding-bottom:42px;
    }

    .pod-detail-inner h1{
        font-size:50px;
        line-height:.94;
        max-width:100%;
    }

    .pod-detail-guest{
        font-size:16px;
    }

    .pod-detail-excerpt{
        font-size:25px;
    }
}