/*
Theme Name: The O Unbounded Editorial
Theme URI: https://theounbounded.com
Author: The O Unbounded
Description: Custom independent newsroom theme based on The O Unbounded Figma desktop and mobile homepage designs.
Version: 1.2.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: o-unbounded
*/
:root{--scarlet:#a6192e;--ink:#171717;--muted:#666;--rule:#d6d6d6;--cream:#f6f5f2;--paper:#fff;--serif:'Source Serif 4',Georgia,serif;--sans:'Inter',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.48 var(--sans)}a{color:inherit;text-decoration:none}a:hover{color:var(--scarlet)}img{max-width:100%;height:auto;display:block}button,input{font:inherit}.wrap{width:min(1320px,calc(100% - 64px));margin:auto}.utility{border-bottom:1px solid #eee;font-size:10px;color:#555;text-transform:uppercase;letter-spacing:.04em}.utility .wrap{display:flex;justify-content:space-between;align-items:center;min-height:35px}.utility a{margin-left:16px}.masthead{position:relative;display:flex;align-items:center;justify-content:center;min-height:120px;border-bottom:1px solid var(--rule)}.masthead .brand-logo{position:absolute;left:0;top:50%;transform:translateY(-50%);width:74px;height:74px;object-fit:contain}.masthead .brand-title{font:900 clamp(35px,4.6vw,66px)/1 var(--serif);letter-spacing:-.045em;text-transform:uppercase}.masthead .brand-title .red{color:var(--scarlet)}.masthead .brand-sub{font:italic 13px var(--serif);color:#777;text-align:center;margin-top:9px}.masthead .brand-side{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:10px;text-align:right;text-transform:uppercase;color:#777}.nav{border-bottom:2px solid #252525}.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px}.nav a{font-size:11px;font-weight:750;white-space:nowrap}.nav a:first-child{color:var(--scarlet)}.eyebrow{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:var(--scarlet)}.smallcaps{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.muted{color:var(--muted)}.kickerbar{background:#f5f5f5;border-bottom:1px solid #ddd;font-size:10px;padding:8px 0}.kickerbar strong{color:var(--scarlet);margin-right:12px}.breaking{border-bottom:1px solid var(--rule);padding:11px 0;font-size:11px}.breaking strong{color:var(--scarlet);margin-right:14px}.lead-intro{display:flex;justify-content:space-between;align-items:center;padding:19px 0 12px}.lead-grid{display:grid;grid-template-columns:1.55fr .85fr .65fr;gap:22px;border-bottom:1px solid #bbb;padding-bottom:24px}.lead-grid>div:not(:last-child){border-right:1px solid #ddd;padding-right:22px}.story img{width:100%;aspect-ratio:1.62;object-fit:cover;margin-bottom:12px}.story h2,.story h3,.story h4{font-family:var(--serif);letter-spacing:-.025em;line-height:1.07;margin:8px 0}.story h2{font-size:clamp(29px,2.5vw,42px)}.story h3{font-size:25px}.story h4{font-size:19px}.story p{color:#666;font-size:12px;line-height:1.55;margin:7px 0}.meta{font-size:9px;color:#888;text-transform:uppercase;letter-spacing:.02em}.story-mini{border-bottom:1px solid #ccc;padding:11px 0}.story-mini h4{font:700 17px/1.16 var(--serif);margin:5px 0}.story-mini:last-child{border-bottom:0}.section{padding:32px 0;border-bottom:1px solid #ccc}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.section-head h2{font:700 30px/1.1 var(--serif);margin:0;letter-spacing:-.02em}.section-head a{font-size:10px;color:var(--scarlet);text-transform:uppercase;font-weight:800}.latest-layout{display:grid;grid-template-columns:2fr 1fr;gap:38px}.latest-row{display:grid;grid-template-columns:65px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #bbb}.latest-row .time{font-size:9px;color:var(--scarlet);font-weight:800}.latest-row h3{font:700 19px/1.14 var(--serif);margin:3px 0}.latest-row p{font-size:11px;color:#777;margin:0}.newsletter-tile{background:var(--cream);padding:25px}.newsletter-tile h3{font:700 30px/1.05 var(--serif);margin:8px 0}.newsletter-tile p{font-size:12px;color:#666}.textlink{font-size:10px;font-weight:800;color:var(--scarlet);text-transform:uppercase}.investigations{background:#171717;color:#fff;padding:38px 0}.investigations .section-head{margin-bottom:15px}.investigations .section-head a{color:#eee}.investigations .invest-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center}.investigations img{width:100%;height:280px;object-fit:cover}.investigations h3{font:700 clamp(30px,3vw,46px)/1.06 var(--serif);margin:12px 0}.investigations p{color:#aaa;max-width:480px}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.three-grid .story{border-right:1px solid #ddd;padding-right:20px}.three-grid .story:last-child{border:0}.policy-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:20px;align-items:start}.policy-grid img{height:215px;width:100%;object-fit:cover}.opinion{background:var(--cream);padding:35px 0}.opinion-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:65px}.opinion blockquote{font:italic 31px/1.2 var(--serif);margin:12px 0}.culture-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:30px}.culture-grid img{width:100%;height:300px;object-fit:cover}.podcast{background:#161616;color:white;padding:35px 0}.podcast-grid{display:grid;grid-template-columns: .8fr 1.2fr;gap:32px}.pod-art{background:#ae1432;min-height:320px;padding:24px;display:flex;flex-direction:column;justify-content:space-between}.pod-art .art-big{font:900 clamp(50px,6vw,92px)/.93 var(--serif);letter-spacing:-.06em}.pod-art .art-bottom{font-size:11px;text-transform:uppercase}.podcast h3{font:700 38px/1.07 var(--serif);margin:12px 0}.podcast p{color:#aaa}.player{background:#333;padding:15px 18px;margin:25px 0;font-size:12px}.player button{background:transparent;color:white;border:0;cursor:pointer}.pod-row{border-top:1px solid #444;padding:12px 0;font-size:12px}.subscribe{background:var(--cream);padding:35px 0}.subscribe-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.subscribe h2{font:700 37px/1.05 var(--serif);margin:8px 0}.subscribe form{display:flex;gap:0}.subscribe input{flex:1;min-width:0;padding:14px;border:1px solid #ddd;background:white}.subscribe button{border:0;background:var(--scarlet);color:#fff;padding:14px 24px;cursor:pointer}.footer{background:#171717;color:white;padding:38px 0 22px}.footer-brand{font:900 30px var(--serif);letter-spacing:-.04em;border-bottom:1px solid #555;padding-bottom:18px}.footer-brand b{color:#cc2745}.footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:20px 0}.footer-cols h4{font-size:10px;text-transform:uppercase}.footer-cols a,.footer-cols p{display:block;font-size:11px;color:#aaa;margin:5px 0}.footer-bottom{border-top:1px solid #444;padding-top:14px;color:#888;font-size:10px}.demo-label{background:#fff3e3;color:#7a4800;font-size:10px;font-weight:750;display:inline-block;padding:3px 7px;margin-bottom:8px}.single-wrap{max-width:820px;margin:45px auto;padding:0 24px}.single-wrap h1{font:800 clamp(38px,5vw,66px)/1.08 var(--serif);letter-spacing:-.03em}.single-wrap .entry-content{font:19px/1.75 var(--serif)}.single-wrap .entry-content p{margin:1.3em 0}.single-wrap figure{margin:28px 0}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:28px 0}.site-page{min-height:50vh}.menu-toggle{display:none}.site-search{display:flex;gap:6px}.site-search input{width:120px;border:1px solid #ddd;padding:5px}.site-search button{border:0;background:none;cursor:pointer}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);overflow:hidden;width:1px;height:1px}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--scarlet);outline-offset:3px}
@media(max-width:900px){.wrap{width:min(100% - 36px,1320px)}.lead-grid{grid-template-columns:1.2fr 1fr}.lead-grid>div:last-child{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-top:1px solid #ddd}.lead-grid>div:nth-child(2){border:0}.policy-grid{grid-template-columns:1fr 1fr}.policy-grid>div:last-child{grid-column:1/-1}.masthead .brand-side{display:none}.nav .wrap{flex-wrap:wrap;justify-content:flex-start;padding:10px 0}.nav a{margin-right:10px}.archive-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.wrap{width:calc(100% - 28px)}.utility{display:none}.masthead{min-height:70px;justify-content:flex-start;padding-left:42px}.masthead .brand-logo{width:35px;height:35px;left:0}.masthead .brand-title{font-size:clamp(21px,6vw,29px)}.masthead .brand-sub{font-size:9px;text-align:left;margin-top:3px}.nav .wrap{display:none;flex-direction:column;align-items:stretch}.nav.open .wrap{display:flex}.nav a{padding:7px 0}.menu-toggle{display:block;background:white;border:0;padding:10px 14px;font-weight:800;font-size:12px}.lead-intro{padding:15px 0 10px}.lead-grid{display:block}.lead-grid>div{border:0!important;padding:0!important}.lead-grid>div:last-child{display:block}.lead-grid .story{margin-bottom:20px}.lead-grid .story img{aspect-ratio:1.6}.story h2{font-size:32px}.story h3{font-size:27px}.section{padding:25px 0}.section-head h2{font-size:26px}.latest-layout,.investigations .invest-grid,.three-grid,.policy-grid,.opinion-grid,.culture-grid,.podcast-grid,.subscribe-grid{display:block}.newsletter-tile{margin-top:20px}.investigations img{height:220px}.three-grid .story{border:0;border-bottom:1px solid #ddd;padding:0 0 20px;margin-bottom:20px}.three-grid .story img{height:200px}.policy-grid img{height:210px}.policy-grid .story{margin-bottom:20px}.opinion blockquote{font-size:25px}.culture-grid img{height:220px}.pod-art{min-height:250px;margin-bottom:22px}.pod-art .art-big{font-size:65px}.subscribe form{margin-top:22px}.footer-cols{grid-template-columns:repeat(2,1fr)}.archive-grid{grid-template-columns:1fr}.kickerbar{font-size:9px}.masthead .brand-title{letter-spacing:-.055em}}

/* v1.1: crisp scalable editorial mark and masthead width safeguards */
.masthead .brand-logo{width:72px;height:72px;object-fit:contain;image-rendering:auto;filter:none}
.masthead .brand-title{display:block;text-align:center;font-size:clamp(32px,4vw,60px);white-space:nowrap}
@media(max-width:1150px){.masthead .brand-side{display:none}.masthead .brand-title{font-size:clamp(28px,4vw,49px)}}
@media(max-width:600px){.masthead .brand-logo{width:36px;height:36px}.masthead .brand-title{font-size:clamp(20px,5.7vw,29px);text-align:left}}

/* v1.2: preserve the user-provided original emblem exactly, no filters or alterations */
.masthead .brand-logo{filter:none;object-fit:contain;}

.lead-grid > div:first-child .story-card h2 {
    font-size: clamp(30px, 2.5vw, 42px);
}

.story-card h3 {
    font-size: clamp(22px, 1.8vw, 28px);
}

.story-card h2 a,
.story-card h3 a,
.story-card h4 a {
    color: inherit;
    text-decoration: none;
}

.story-card h2 a:hover,
.story-card h3 a:hover,
.story-card h4 a:hover {
    color: var(--scarlet);
}
/* Enforce original newspaper headline styling */
body .lead-grid .story-card h2,
body .lead-grid .story-card h2 a,
body .story-card h3,
body .story-card h3 a {
    font-family: "Source Serif 4", Georgia, serif !important;
    font-weight: 900 !important;
    letter-spacing: -0.025em;
    line-height: 1.08;
}

/* ==========================================
   THE O UNBOUNDED
   UNBOUNDED. ON THE RECORD.
   Dedicated Podcast Episode Design
   ========================================== */

.podcast-single {
    max-width: 1180px;
    margin: 0 auto;
    padding: 54px 30px 100px;
    color: #171717;
    box-sizing: border-box;
}

.podcast-single *,
.podcast-single *::before,
.podcast-single *::after {
    box-sizing: border-box;
}

/* Top editorial label */

.podcast-single__topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #d6d6d6;
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #b3082c;
}

/* Main two-column episode layout */

.podcast-single__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 65px;
    padding: 55px 0 65px;
}

/* Podcast featured artwork */

.podcast-single__artwork {
    min-width: 0;
}

.podcast-single__artwork img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    box-shadow: 12px 12px 0 #f0eee9;
}

/* Episode information */

.podcast-single__details {
    min-width: 0;
}

.podcast-single__label {
    display: inline-block;
    padding: 7px 11px;
    background: #b3082c;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.podcast-single__details h1 {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(38px, 4vw, 62px);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -1.5px;
    margin: 0 0 24px;
    color: #171717;
}

.podcast-single__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    align-items: center;
    color: #777;
    font-family: Arial, sans-serif;
    font-size: 12px;
    margin-bottom: 25px;
}

.podcast-single__separator {
    color: #b3082c;
}

.podcast-single__intro {
    font-family: Georgia, serif;
    font-size: 18px;
    line-height: 1.65;
    color: #484848;
    margin: 0 0 35px;
}

/* Publication identity */

.podcast-single__identity {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #777;
}

.podcast-single__identity-line {
    display: block;
    width: 35px;
    height: 2px;
    background: #b3082c;
    flex-shrink: 0;
}

/* Audio player and episode description */

.podcast-single__body {
    max-width: 850px;
    margin: 0 auto;
    border-top: 3px solid #171717;
    padding-top: 18px;
}

.podcast-single__section-label {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 30px;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #b3082c;
}

.podcast-single__content {
    font-family: Georgia, serif;
    font-size: 17px;
    line-height: 1.8;
    color: #252525;
}

.podcast-single__content p {
    margin: 0 0 22px;
}

.podcast-single__content a {
    color: #b3082c;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* WordPress audio player */

.podcast-single__content .wp-block-audio {
    display: block;
    width: 100%;
    margin: 0 0 38px;
    padding: 22px;
    background: #f4f1eb;
    border: 1px solid #e5dfd5;
    border-radius: 4px;
}

.podcast-single__content .wp-block-audio audio {
    display: block;
    width: 100%;
    max-width: 100%;
}

.podcast-single__content .wp-block-audio figcaption {
    font-family: Arial, sans-serif;
    font-size: 11px;
    color: #777;
    margin-top: 12px;
}

/* Episode headings */

.podcast-single__content h2 {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.2;
    margin: 35px 0 16px;
}

.podcast-single__content h3 {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 23px;
    font-weight: 700;
    margin: 28px 0 12px;
}

/* Tablet */

@media (max-width: 900px) {
    .podcast-single__hero {
        gap: 35px;
    }

    .podcast-single__details h1 {
        font-size: clamp(32px, 4.5vw, 48px);
    }
}

/* Mobile */

@media (max-width: 760px) {
    .podcast-single {
        padding: 28px 18px 60px;
    }

    .podcast-single__topline {
        font-size: 9px;
        letter-spacing: 0.6px;
        gap: 12px;
    }

    .podcast-single__hero {
        grid-template-columns: 1fr;
        gap: 35px;
        padding: 30px 0 45px;
    }

    .podcast-single__artwork {
        max-width: 500px;
        margin: 0 auto;
        width: 100%;
    }

    .podcast-single__artwork img {
        box-shadow: 7px 7px 0 #f0eee9;
    }

    .podcast-single__details h1 {
        font-size: clamp(35px, 9vw, 48px);
        letter-spacing: -1px;
    }

    .podcast-single__intro {
        font-size: 17px;
    }

    .podcast-single__section-label {
        font-size: 9px;
        letter-spacing: 0.5px;
    }

    .podcast-single__content {
        font-size: 16px;
    }

    .podcast-single__content .wp-block-audio {
        padding: 14px;
    }

    .podcast-single__identity {
        font-size: 9px;
        letter-spacing: 0.5px;
    }
}


/* ==========================================
   THE O UNBOUNDED
   CUSTOM PODCAST AUDIO PLAYER
   ========================================== */

.podcast-label-divider {
    opacity: 0.65;
    padding: 0 7px;
}

.unbounded-player {
    background: #f4f1eb;
    border: 1px solid #e4ded4;
    padding: 20px 22px;
    margin: 25px 0 28px;
    width: 100%;
    box-sizing: border-box;
}

.unbounded-player__heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-family: Arial, sans-serif;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
    color: #a50929;
    margin-bottom: 18px;
}

.unbounded-player__controls {
    display: flex;
    align-items: center;
    gap: 17px;
}

.unbounded-player__play {
    background: #b3082c;
    border: none;
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease,
                transform 0.2s ease;
}

.unbounded-player__play:hover {
    background: #88051f;
    transform: scale(1.05);
}

.unbounded-player__play svg {
    width: 22px;
    height: 22px;
    fill: #ffffff;
}

.unbounded-player__timeline {
    flex: 1;
    min-width: 0;
}

.unbounded-player__progress {
    display: block;
    width: 100%;
    margin: 0;
    cursor: pointer;
    accent-color: #b3082c;
}

.unbounded-player__times {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 600;
    color: #777;
}

.unbounded-player__mute {
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 5px;
    flex-shrink: 0;
}

.unbounded-player__mute svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #555;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.unbounded-player__mute:hover svg {
    stroke: #b3082c;
}

.unbounded-player audio {
    display: none;
}

/* Mobile adjustments */

@media (max-width: 760px) {

    .unbounded-player {
        padding: 17px 15px;
        margin: 22px 0;
    }

    .unbounded-player__controls {
        gap: 12px;
    }

    .unbounded-player__play {
        width: 43px;
        height: 43px;
        min-width: 43px;
    }

    .unbounded-player__heading {
        font-size: 8px;
        letter-spacing: 0.6px;
    }
}


/* ==========================================
   THE O UNBOUNDED — COMMENTS SECTION
   ========================================== */

.tou-comments {
    max-width: 920px;
    margin: 90px auto 70px;
    padding: 0 24px;
    color: #171717;
}

.tou-comments__masthead {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    border-top: 3px solid #171717;
    border-bottom: 1px solid #d6d6d6;
    padding: 28px 0 32px;
}

.tou-comments__eyebrow,
.tou-comments__section-heading,
.tou-comments__footer,
.tou-comments__count,
.tou-comments label {
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.3px;
}

.tou-comments__eyebrow {
    color: #b4002b;
}

.tou-comments__masthead h2 {
    font-family: Georgia, serif;
    font-size: clamp(32px, 4vw, 49px);
    font-weight: 800;
    letter-spacing: -1.6px;
    line-height: 1.1;
    margin: 13px 0;
}

.tou-comments__masthead h2 span {
    color: #b4002b;
}

.tou-comments__masthead p {
    font-family: Georgia, serif;
    font-size: 16px;
    color: #666;
    margin: 0;
}

.tou-comments__count {
    text-align: center;
    font-size: 30px;
    line-height: 1;
    color: #b4002b;
}

.tou-comments__count span {
    display: block;
    font-size: 9px;
    color: #777;
    margin-top: 9px;
}

.tou-comments__discussion {
    margin-top: 45px;
}

.tou-comments__section-heading {
    display: flex;
    justify-content: space-between;
    color: #b4002b;
    padding-bottom: 15px;
    border-bottom: 1px solid #ddd;
}

.tou-comments__list,
.tou-comments__list .children {
    list-style: none;
    padding: 0;
}

.tou-comments__list .comment {
    padding: 24px 0;
    border-bottom: 1px solid #e3e3e3;
}

.tou-comments__list .children {
    margin-left: 35px;
    border-left: 2px solid #b4002b;
    padding-left: 22px;
}

.tou-comments .comment-author {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.tou-comments .comment-author img {
    border-radius: 50%;
}

.tou-comments .comment-meta {
    margin: 10px 0;
    font-size: 11px;
    color: #888;
}

.tou-comments .comment-meta a {
    color: inherit;
    text-decoration: none;
}

.tou-comments .comment-body > p {
    font-family: Georgia, serif;
    font-size: 16px;
    line-height: 1.75;
    margin: 16px 0;
}

.tou-comments .reply a {
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #b4002b;
    text-decoration: none;
}

.tou-comments__form-section {
    margin-top: 50px;
    padding: 35px;
    background: #f8f5ef;
    border: 1px solid #e6e1d9;
}

.tou-comments__form-title {
    font-family: Georgia, serif;
    font-size: 32px;
    margin: 0 0 12px;
    letter-spacing: -0.7px;
}

.tou-comments__form-intro {
    font-family: Georgia, serif;
    color: #666;
    font-size: 15px;
    margin-bottom: 28px;
}

.tou-comments label {
    display: block;
    margin-bottom: 10px;
}

.tou-comments input[type="text"],
.tou-comments input[type="email"],
.tou-comments input[type="url"],
.tou-comments textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 15px;
    border: 1px solid #d5d2cc;
    border-radius: 0;
    background: white;
    color: #171717;
    font-family: Arial, sans-serif;
    font-size: 14px;
}

.tou-comments textarea {
    resize: vertical;
}

.tou-comments input:focus,
.tou-comments textarea:focus {
    outline: 1px solid #b4002b;
    border-color: #b4002b;
}

.tou-comments__submit {
    display: inline-block;
    background: #b4002b;
    color: white;
    border: none;
    padding: 16px 28px;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background 0.2s;
}

.tou-comments__submit:hover {
    background: #171717;
}

.tou-comments__closed {
    margin: 35px 0;
    font-family: Georgia, serif;
    color: #777;
}

.tou-comments__footer {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-top: 50px;
    padding-top: 16px;
    border-top: 1px solid #ddd;
    color: #888;
    font-size: 9px;
}

@media (max-width: 600px) {
    .tou-comments {
        margin-top: 55px;
        padding: 0 18px;
    }

    .tou-comments__masthead {
        align-items: flex-start;
    }

    .tou-comments__masthead h2 {
        font-size: 32px;
    }

    .tou-comments__count {
        font-size: 23px;
    }

    .tou-comments__form-section {
        padding: 22px;
    }

    .tou-comments__list .children {
        margin-left: 12px;
        padding-left: 15px;
    }

    .tou-comments__footer {
        flex-direction: column;
    }
}


/* ========================================
   THE O UNBOUNDED — PODCAST ARCHIVE
   ======================================== */

.tou-podcast-page {
    max-width: 1240px;
    margin: 0 auto;
    padding: 45px 30px 80px;
    color: #171717;
}

.tou-podcast-hero {
    background: #f8f5ef;
    border-top: 5px solid #b4002b;
    padding: 25px 40px 30px;
}

.tou-podcast-hero__top,
.tou-podcast-hero__bottom,
.tou-podcast-section-label {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.3px;
}

.tou-podcast-hero__top {
    padding-bottom: 18px;
    border-bottom: 1px solid #d8d1c8;
}

.tou-podcast-hero__content {
    padding: 65px 0 75px;
    max-width: 800px;
}

.tou-podcast-eyebrow {
    display: block;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: #b4002b;
    text-transform: uppercase;
}

.tou-podcast-hero h1 {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(55px, 8vw, 112px);
    line-height: 0.95;
    letter-spacing: -4px;
    margin: 25px 0;
}

.tou-podcast-hero h1 span,
.tou-podcast-archive__heading h2 span {
    color: #b4002b;
}

.tou-podcast-hero h1 em {
    display: block;
    font-weight: 400;
    font-size: 0.65em;
    letter-spacing: -2px;
    margin-top: 15px;
}

.tou-podcast-hero__content > p {
    max-width: 540px;
    font-family: Georgia, serif;
    font-size: 19px;
    line-height: 1.6;
    color: #57534e;
}

.tou-podcast-hero__bottom {
    border-top: 1px solid #d8d1c8;
    padding-top: 18px;
    color: #b4002b;
}

.tou-podcast-feature,
.tou-podcast-archive {
    margin-top: 75px;
}

.tou-podcast-section-label {
    padding-bottom: 14px;
    border-bottom: 2px solid #171717;
    color: #b4002b;
}

.tou-podcast-feature__grid {
    display: grid;
    grid-template-columns: 43% 1fr;
    gap: 55px;
    align-items: center;
    margin-top: 32px;
}

.tou-podcast-feature__image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1.15;
    object-fit: cover;
}

.tou-podcast-image-fallback {
    background: #24201d;
    color: #f8f5ef;
    aspect-ratio: 1.15;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Georgia, serif;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    padding: 20px;
}

.tou-podcast-feature__details h2 {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(32px, 4vw, 53px);
    line-height: 1.1;
    letter-spacing: -1.5px;
    margin: 18px 0;
}

.tou-podcast-feature__details h2 a,
.tou-podcast-episode h3 a {
    color: inherit;
    text-decoration: none;
}

.tou-podcast-feature__details h2 a:hover,
.tou-podcast-episode h3 a:hover {
    color: #b4002b;
}

.tou-podcast-feature__details > p {
    font-family: Georgia, serif;
    font-size: 17px;
    line-height: 1.7;
    color: #666;
    margin-bottom: 30px;
}

.tou-podcast-listen {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    background: #b4002b;
    color: white;
    padding: 15px 22px;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-decoration: none;
}

.tou-podcast-listen:hover {
    background: #171717;
    color: white;
}

.tou-podcast-play-icon {
    font-size: 12px;
}

.tou-podcast-archive__heading {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 15px;
    margin: 25px 0 20px;
}

.tou-podcast-archive__heading h2 {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(38px, 5vw, 58px);
    letter-spacing: -2px;
    margin: 0;
}

.tou-podcast-archive__heading > span {
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    color: #777;
}

.tou-podcast-episode {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    align-items: center;
    gap: 25px;
    border-top: 1px solid #ddd;
    padding: 28px 0;
}

.tou-podcast-episode__number {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 36px;
    font-weight: 800;
    color: #b4002b;
}

.tou-podcast-episode__date {
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    color: #b4002b;
    text-transform: uppercase;
}

.tou-podcast-episode h3 {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 25px;
    letter-spacing: -0.5px;
    margin: 9px 0;
}

.tou-podcast-episode p {
    font-family: Georgia, serif;
    font-size: 14px;
    line-height: 1.6;
    color: #777;
    margin: 0;
}

.tou-podcast-episode__link {
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    text-decoration: none;
    color: #b4002b;
    white-space: nowrap;
}

.tou-podcast-episode__link span {
    font-size: 19px;
    margin-left: 8px;
}

.tou-podcast-episode__link:hover {
    color: #171717;
}

.tou-podcast-empty {
    padding: 60px 0;
    text-align: center;
}

.tou-podcast-empty h3 {
    font-family: Georgia, serif;
    font-size: 35px;
}

.tou-podcast-page__footer {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    border-top: 1px solid #ddd;
    padding-top: 18px;
    margin-top: 70px;
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    color: #777;
}

@media (max-width: 700px) {
    .tou-podcast-page {
        padding: 20px 18px 55px;
    }

    .tou-podcast-hero {
        padding: 20px;
    }

    .tou-podcast-hero__content {
        padding: 50px 0;
    }

    .tou-podcast-hero h1 {
        letter-spacing: -2px;
    }

    .tou-podcast-hero__top,
    .tou-podcast-hero__bottom {
        font-size: 8px;
    }

    .tou-podcast-feature__grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .tou-podcast-feature,
    .tou-podcast-archive {
        margin-top: 55px;
    }

    .tou-podcast-episode {
        grid-template-columns: 45px 1fr;
        gap: 15px;
    }

    .tou-podcast-episode__number {
        font-size: 25px;
    }

    .tou-podcast-episode__link {
        grid-column: 2;
    }

    .tou-podcast-page__footer {
        flex-direction: column;
    }
}

/* ==========================================
   THE O UNBOUNDED — EDITORIAL SEARCH
   ========================================== */

.tou-search-page {
    padding-top: 45px;
    padding-bottom: 90px;
}

.tou-search-hero {
    background: #f8f5ef;
    border-top: 5px solid #b4002b;
    padding: 25px 40px 30px;
}

.tou-search-topline,
.tou-search-hero-footer,
.tou-search-section-label {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.3px;
}

.tou-search-topline {
    padding-bottom: 18px;
    border-bottom: 1px solid #d8d1c8;
}

.tou-search-intro {
    padding: 55px 0 35px;
    max-width: 800px;
}

.tou-search-eyebrow {
    display: block;
    color: #b4002b;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.tou-search-intro h1 {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(45px, 6vw, 80px);
    line-height: 1;
    letter-spacing: -2.5px;
    margin: 20px 0 25px;
}

.tou-search-intro h1 span,
.tou-search-results-heading h2 span {
    color: #b4002b;
}

.tou-search-intro p {
    font-family: Georgia, serif;
    font-size: 17px;
    line-height: 1.7;
    color: #666;
    max-width: 570px;
}

.tou-search-form {
    display: flex;
    width: 100%;
    margin: 15px 0 55px;
    border: 1px solid #d6d0c8;
    background: #fff;
}

.tou-search-form input[type="search"] {
    flex: 1;
    min-width: 0;
    width: 100%;
    padding: 21px 22px;
    border: none;
    border-radius: 0;
    outline: none;
    background: #fff;
    color: #171717;
    font-family: Arial, sans-serif;
    font-size: 15px;
}

.tou-search-form input[type="search"]:focus {
    box-shadow: inset 0 0 0 2px #b4002b;
}

.tou-search-form button {
    flex-shrink: 0;
    border: none;
    border-radius: 0;
    padding: 18px 30px;
    background: #b4002b;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.2px;
    cursor: pointer;
}

.tou-search-form button:hover {
    background: #171717;
}

.tou-search-form button span {
    margin-left: 10px;
    font-size: 16px;
}

.tou-search-hero-footer {
    padding-top: 18px;
    border-top: 1px solid #d8d1c8;
    color: #b4002b;
}

.tou-search-results {
    margin-top: 65px;
}

.tou-search-section-label {
    border-bottom: 2px solid #171717;
    padding-bottom: 14px;
    color: #b4002b;
}

.tou-search-results-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin: 30px 0;
}

.tou-search-results-heading h2 {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.1;
    overflow-wrap: anywhere;
    margin: 12px 0 0;
}

.tou-search-result-count {
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    color: #777;
    white-space: nowrap;
}

.tou-search-grid {
    margin-top: 25px;
}

.tou-search-pagination {
    margin-top: 35px;
}

.tou-search-empty {
    padding: 65px 0;
    text-align: center;
}

.tou-search-empty h3 {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 35px;
    margin-bottom: 12px;
}

.tou-search-empty p {
    font-family: Georgia, serif;
    font-size: 16px;
    color: #777;
}

.tou-search-welcome {
    padding: 65px 20px;
    text-align: center;
}

.tou-search-welcome p {
    max-width: 490px;
    margin: 18px auto 0;
    font-family: Georgia, serif;
    font-size: 19px;
    line-height: 1.6;
    color: #666;
}

@media (max-width: 700px) {
    .tou-search-page {
        padding-top: 20px;
        padding-bottom: 55px;
    }

    .tou-search-hero {
        padding: 20px;
    }

    .tou-search-intro {
        padding-top: 45px;
    }

    .tou-search-intro h1 {
        letter-spacing: -1.5px;
    }

    .tou-search-form {
        flex-direction: column;
        margin-bottom: 35px;
    }

    .tou-search-form button {
        width: 100%;
    }

    .tou-search-topline,
    .tou-search-hero-footer {
        font-size: 8px;
    }

    .tou-search-results {
        margin-top: 45px;
    }

    .tou-search-results-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}