/* =========================================================
   SWISHER ROAD — SITE-WIDE STYLES
   assets/css/site.css

   Shared branding, navigation, footer, and all page-specific
   styles are maintained here.
========================================================= */

:root {
    --forest: #344235;
    --forest-dark: #263028;
    --moss: #68715b;
    --bark: #68584a;
    --paper: #f4efe5;
    --paper-light: #fcfaf5;
    --ink: #292a25;
    --muted: #716e66;
    --line: #d8d0c3;
    --soft-line: #e6dfd3;
    --error: #8b3a32;
    --success: #466348;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--ink);
    font-family: Georgia, "Times New Roman", serif;
}

a {
    color: inherit;
}

/* =========================================================
   SHARED INTERIOR HEADER
========================================================= */

.sr-header {
    background: var(--paper-light);
    border-bottom: 1px solid var(--line);
}

.sr-header-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 18px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.sr-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--forest-dark);
    text-decoration: none;
    font-size: 39px;
    line-height: 1;
}

.sr-brand-tree {
    width: 58px;
    height: 64px;
    object-fit: contain;
    flex-shrink: 0;
}

.sr-nav {
    display: flex;
    align-items: center;
    gap: 26px;
    flex-wrap: wrap;
}

.sr-nav a {
    position: relative;
    color: var(--ink);
    text-decoration: none;
    font-size: 16px;
    white-space: nowrap;
}

.sr-nav a:hover {
    color: var(--forest);
}

.sr-nav a.active {
    color: var(--forest-dark);
    font-weight: bold;
}

.sr-nav a.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -12px;
    height: 3px;
    background: var(--forest);
}

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

.sr-footer {
    background:
        linear-gradient(
            135deg,
            #29352b 0%,
            #344235 50%,
            #273329 100%
        );
    color: #eae5da;
    padding: 29px 20px 34px;
    text-align: center;
    font-size: 15px;
}

.sr-footer-ornament {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.sr-footer-ornament span {
    display: block;
    width: 95px;
    height: 1px;
    background: rgba(234,229,218,.35);
}

.sr-footer-ornament img {
    display: block;
    width: 30px;
    height: 34px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: .8;
}

@media (max-width: 900px) {
    .sr-header-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .sr-nav {
        gap: 19px;
    }
}

@media (max-width: 600px) {
    .sr-header-inner {
        padding: 18px 20px;
    }

    .sr-brand {
        font-size: 31px;
    }

    .sr-brand-tree {
        width: 46px;
        height: 52px;
    }

    .sr-nav {
        gap: 16px;
    }

    .sr-nav a {
        font-size: 15px;
    }

    .sr-nav a.active::after {
        bottom: -7px;
    }

    .sr-footer-ornament span {
        width: 65px;
    }

    .sr-footer {
        font-size: 14px;
        line-height: 1.5;
    }
}


/* =========================================================
   INDEX.PHP — PAGE-SPECIFIC STYLES
========================================================= */


body.page-home{
    --forest: #344235;
    --forest-dark: #263028;
    --moss: #68715b;
    --bark: #68584a;
    --paper: #f4efe5;
    --paper-light: #fcfaf5;
    --ink: #292a25;
    --muted: #716e66;
    --line: #d8d0c3;
}

body.page-home *{
    box-sizing: border-box;
}

html{
    scroll-behavior: smooth;
}

body.page-home{
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Georgia, "Times New Roman", serif;
}

body.page-home a{
    color: inherit;
}


/* ---------------------------------------------------------
   HERO
--------------------------------------------------------- */

body.page-home .hero{
    position: relative;

    min-height: 38vh;

    overflow: hidden;

    background:
        linear-gradient(
            to bottom,
            rgba(20,27,20,.20) 0%,
            rgba(20,27,20,.26) 45%,
            rgba(20,27,20,.68) 100%
        ),
        url("../images/tree-grove.webp")
        center center / cover no-repeat;
}


/* ---------------------------------------------------------
   HERO CONTENT
--------------------------------------------------------- */

body.page-home .hero-inner{
    position: relative;

    max-width: 1180px;

    min-height: 38vh;

    margin: 0 auto;

    padding: 34px 28px 34px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    color: white;
}


/* ---------------------------------------------------------
   MAIN TITLE
--------------------------------------------------------- */

body.page-home .hero-title-area{
    padding-top: 5px;
}


body.page-home .hero-mark{
    display: flex;

    align-items: center;

    gap: 18px;
}


body.page-home .hero-logo{
    width: 74px;

    height: 84px;

    object-fit: contain;

    filter:
        brightness(0)
        invert(1);

    opacity: .95;
}


body.page-home .hero h1{
    margin: 0;

    font-size:
        clamp(58px,8vw,100px);

    line-height: .92;

    font-weight: normal;

    letter-spacing: -3px;

    text-shadow:
        0 2px 8px rgba(0,0,0,.28);
}


body.page-home .tagline{
    max-width: 680px;

    margin-top: 14px;

    font-size: 20px;

    line-height: 1.5;

    text-shadow:
        0 1px 5px rgba(0,0,0,.35);
}


/* ---------------------------------------------------------
   NAVIGATION BUTTONS
--------------------------------------------------------- */

body.page-home .hero-nav{
    display: flex;

    justify-content: flex-start;

    align-items: center;

    gap: 12px;

    flex-wrap: wrap;

    margin-top: 30px;
}


body.page-home .hero-nav a{
    display: inline-block;

    padding: 10px 18px;

    border:
    1px solid rgba(255,255,255,.45);

    border-radius: 5px;

    background:
    rgba(252,250,245,.38);

backdrop-filter: blur(3px);
-webkit-backdrop-filter: blur(3px);

    color: var(--forest-dark);

    text-decoration: none;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 13px;

    font-weight: bold;

    letter-spacing: .35px;

    box-shadow:
        0 2px 7px rgba(0,0,0,.12);

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}


body.page-home .hero-nav a:hover{
    background: var(--forest-dark);

    color: white;

    transform: translateY(-1px);
}


/* ---------------------------------------------------------
   MAIN
--------------------------------------------------------- */

body.page-home .main{
    background: var(--paper-light);
}


body.page-home .content{
    max-width: 1100px;

    margin: 0 auto;

    padding: 78px 28px 88px;
}


body.page-home .section-label{
    margin-bottom: 20px;

    color: var(--moss);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 11px;

    font-weight: bold;

    text-transform: uppercase;

    letter-spacing: 2.5px;
}


/* ---------------------------------------------------------
   FEATURED
--------------------------------------------------------- */

body.page-home .featured{
    padding-bottom: 62px;

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


body.page-home .featured h2{
    max-width: 840px;

    margin: 0;

    font-size:
        clamp(39px,6vw,63px);

    line-height: 1.08;

    font-weight: normal;

    letter-spacing: -1.7px;
}


body.page-home .featured h2 a{
    text-decoration: none;
}


body.page-home .featured h2 a:hover{
    color: var(--forest);
}


body.page-home .meta{
    margin-top: 15px;

    color: var(--muted);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 12px;

    letter-spacing: .25px;
}


body.page-home .excerpt{
    max-width: 770px;

    margin-top: 24px;

    color: #4d4d47;

    font-size: 20px;

    line-height: 1.72;
}


body.page-home .read-link{
    display: inline-block;

    margin-top: 28px;

    color: var(--forest);

    text-decoration: none;

    font-size: 16px;

    font-weight: bold;
}


body.page-home .read-link:hover{
    color: var(--forest-dark);
}


/* ---------------------------------------------------------
   RECENT
--------------------------------------------------------- */

body.page-home .recent-wrap{
    padding-top: 58px;
}


body.page-home .recent-grid{
    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 38px 54px;
}


body.page-home .recent-card{
    padding-bottom: 27px;

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


body.page-home .recent-type{
    color: var(--moss);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 10px;

    font-weight: bold;

    text-transform: uppercase;

    letter-spacing: 1.8px;
}


body.page-home .recent-card h3{
    margin: 9px 0 8px;

    font-size: 29px;

    line-height: 1.2;

    font-weight: normal;
}


body.page-home .recent-card h3 a{
    text-decoration: none;
}


body.page-home .recent-card h3 a:hover{
    color: var(--forest);
}


body.page-home .recent-card p{
    margin: 13px 0 0;

    color: var(--muted);

    font-size: 16px;

    line-height: 1.65;
}


body.page-home .more{
    margin-top: 40px;
}


body.page-home .more a{
    color: var(--forest);

    text-decoration: none;

    font-weight: bold;
}


body.page-home .more a:hover{
    color: var(--forest-dark);
}


body.page-home .empty{
    color: var(--muted);

    font-size: 18px;

    line-height: 1.6;
}


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

body.page-home .footer{
    background:
        linear-gradient(
            135deg,
            #29352b 0%,
            #344235 50%,
            #273329 100%
        );

    color: #eae5da;

    padding: 29px 20px 34px;

    text-align: center;

    font-size: 15px;
}


body.page-home .footer-ornament{
    display: flex;

    justify-content: center;

    align-items: center;

    gap: 14px;

    margin-bottom: 14px;
}


body.page-home .footer-ornament span{
    display: block;

    width: 95px;

    height: 1px;

    background:
        rgba(234,229,218,.35);
}


body.page-home .footer-ornament img{
    display: block;

    width: 30px;

    height: 34px;

    object-fit: contain;

    filter:
        brightness(0)
        invert(1);

    opacity: .8;
}


/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 820px) {

    body.page-home .recent-grid{
        grid-template-columns: 1fr;
    }

}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 620px) {

    body.page-home .hero{
        min-height: 46vh;
    }


    body.page-home .hero-inner{
        min-height: 46vh;

        padding:
            24px 20px 26px;
    }


    body.page-home .hero-mark{
        gap: 12px;
    }


    body.page-home .hero-logo{
        width: 52px;

        height: 62px;
    }


    body.page-home .hero h1{
        font-size:
            clamp(47px,15vw,70px);

        letter-spacing: -2px;
    }


    body.page-home .tagline{
        margin-top: 12px;

        font-size: 17px;
    }


    body.page-home .hero-nav{
        justify-content: flex-start;

        gap: 8px;

        margin-top: 24px;
    }


    body.page-home .hero-nav a{
        padding: 9px 14px;

        font-size: 12px;
    }


    body.page-home .content{
        padding:
            52px 20px 65px;
    }


    body.page-home .featured{
        padding-bottom: 48px;
    }


    body.page-home .featured h2{
        font-size: 39px;
    }


    body.page-home .excerpt{
        font-size: 18px;
    }


    body.page-home .recent-wrap{
        padding-top: 45px;
    }


    body.page-home .recent-card h3{
        font-size: 27px;
    }


    body.page-home .footer-ornament span{
        width: 65px;
    }


    body.page-home .footer{
        font-size: 14px;

        line-height: 1.5;
    }

}



/* =========================================================
   ARCHIVE.PHP — PAGE-SPECIFIC STYLES
========================================================= */


    body.page-writing{
        --forest: #344235;
        --forest-dark: #263028;
        --moss: #68715b;
        --paper: #f4efe5;
        --paper-light: #fcfaf5;
        --ink: #292a25;
        --muted: #716e66;
        --line: #d8d0c3;
    }


    /* ---------------------------------------------------------
       BASE
    --------------------------------------------------------- */

    body.page-writing *{
        box-sizing: border-box;
    }


    html{
        scroll-behavior: smooth;
    }


    body.page-writing{
        margin: 0;

        background: var(--paper-light);

        color: var(--ink);

        font-family:
            Georgia,
            "Times New Roman",
            serif;
    }


    body.page-writing a{
        color: inherit;
    }


    /* ---------------------------------------------------------
       HEADER
    --------------------------------------------------------- */

    body.page-writing .header{
        background: var(--paper-light);

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


    body.page-writing .header-inner{
        max-width: 1180px;

        margin: 0 auto;

        padding: 18px 28px;

        display: flex;

        justify-content: space-between;

        align-items: center;

        gap: 30px;
    }


    body.page-writing .brand{
        display: flex;

        align-items: center;

        gap: 14px;

        color: var(--forest-dark);

        text-decoration: none;

        font-size: 39px;

        line-height: 1;
    }


    body.page-writing .brand-tree{
        width: 58px;

        height: 64px;

        object-fit: contain;

        flex-shrink: 0;
    }


    body.page-writing .nav{
        display: flex;

        align-items: center;

        gap: 30px;
    }


    body.page-writing .nav a{
        position: relative;

        color: var(--ink);

        text-decoration: none;

        font-size: 17px;
    }


    body.page-writing .nav a:hover{
        color: var(--forest);
    }


    body.page-writing .nav a.active{
        color: var(--forest-dark);

        font-weight: bold;
    }


    body.page-writing .nav a.active::after{
        content: "";

        position: absolute;

        left: 0;

        right: 0;

        bottom: -12px;

        height: 3px;

        background: var(--forest);
    }


    /* ---------------------------------------------------------
       HERO
    --------------------------------------------------------- */

    body.page-writing .archive-hero{
        min-height: 245px;

        display: flex;

        align-items: center;

        background:
            linear-gradient(
                90deg,
                rgba(244,239,229,.98) 0%,
                rgba(244,239,229,.89) 31%,
                rgba(244,239,229,.55) 50%,
                rgba(244,239,229,.13) 78%
            ),
            url("../images/tree-grove.webp")
            center 47% / cover no-repeat;
    }


    body.page-writing .archive-hero-inner{
        width: 100%;

        max-width: 1180px;

        margin: 0 auto;

        padding: 52px 28px;
    }


    body.page-writing .archive-hero h1{
        margin: 0;

        color: var(--forest-dark);

        font-size:
            clamp(58px, 8vw, 86px);

        font-weight: normal;

        line-height: .95;

        letter-spacing: -2px;
    }


    body.page-writing .hero-subtitle{
        margin-top: 22px;

        max-width: 650px;

        color: var(--forest);

        font-family:
            Arial,
            Helvetica,
            sans-serif;

        font-size: 12px;

        font-weight: bold;

        text-transform: uppercase;

        letter-spacing: 3px;

        line-height: 1.5;
    }


    /* ---------------------------------------------------------
       ARCHIVE CONTENT
    --------------------------------------------------------- */

    body.page-writing .archive-main{
        background: var(--paper-light);
    }


    body.page-writing .archive-wrap{
        max-width: 930px;

        margin: 0 auto;

        padding: 60px 28px 85px;
    }


    body.page-writing .intro{
        max-width: 720px;

        margin: 0 0 32px;

        color: var(--muted);

        font-size: 19px;

        line-height: 1.7;
    }


    /* ---------------------------------------------------------
       FILTERS
    --------------------------------------------------------- */

    body.page-writing .filters{
        display: flex;

        gap: 11px;

        flex-wrap: wrap;

        margin-bottom: 45px;
    }


    body.page-writing .filters a{
        display: inline-block;

        padding: 9px 15px;

        border: 1px solid var(--line);

        border-radius: 999px;

        color: var(--forest);

        background: transparent;

        text-decoration: none;

        font-family:
            Arial,
            Helvetica,
            sans-serif;

        font-size: 12px;

        font-weight: bold;

        letter-spacing: .4px;
    }


    body.page-writing .filters a:hover{
        border-color: var(--forest);
    }


    body.page-writing .filters a.active{
        background: var(--forest);

        color: white;

        border-color: var(--forest);
    }


    /* ---------------------------------------------------------
       POST LIST
    --------------------------------------------------------- */

    body.page-writing .post-list{
        border-top: 1px solid var(--line);
    }


    body.page-writing .post{
        padding: 30px 0 32px;

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


    body.page-writing .post-type{
        color: var(--moss);

        font-family:
            Arial,
            Helvetica,
            sans-serif;

        font-size: 10px;

        font-weight: bold;

        text-transform: uppercase;

        letter-spacing: 1.8px;
    }


    body.page-writing .post h2{
        margin: 9px 0 10px;

        font-size:
            clamp(30px, 4vw, 39px);

        line-height: 1.15;

        font-weight: normal;

        letter-spacing: -.5px;
    }


    body.page-writing .post h2 a{
        text-decoration: none;
    }


    body.page-writing .post h2 a:hover{
        color: var(--forest);
    }


    body.page-writing .meta{
        color: var(--muted);

        font-family:
            Arial,
            Helvetica,
            sans-serif;

        font-size: 12px;

        letter-spacing: .2px;
    }


    body.page-writing .excerpt{
        max-width: 760px;

        margin-top: 14px;

        color: #525049;

        font-size: 17px;

        line-height: 1.68;
    }


    body.page-writing .read-more{
        display: inline-block;

        margin-top: 15px;

        color: var(--forest);

        text-decoration: none;

        font-size: 15px;

        font-weight: bold;
    }


    body.page-writing .read-more:hover{
        color: var(--forest-dark);
    }


    body.page-writing .empty{
        padding: 28px 0;

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

        color: var(--muted);

        font-size: 18px;

        line-height: 1.6;
    }


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

    body.page-writing .footer{
        background:
            linear-gradient(
                135deg,
                #29352b 0%,
                #344235 50%,
                #273329 100%
            );

        color: #eae5da;

        padding: 29px 20px 34px;

        text-align: center;

        font-size: 15px;
    }


    body.page-writing .footer-ornament{
        display: flex;

        justify-content: center;

        align-items: center;

        gap: 14px;

        margin-bottom: 14px;
    }


    body.page-writing .footer-ornament span{
        display: block;

        width: 95px;

        height: 1px;

        background:
            rgba(234,229,218,.35);
    }


    body.page-writing .footer-ornament img{
        display: block;

        width: 30px;

        height: 34px;

        object-fit: contain;

        filter:
            brightness(0)
            invert(1);

        opacity: .8;
    }


    /* ---------------------------------------------------------
       TABLET
    --------------------------------------------------------- */

    @media (max-width: 800px) {

        body.page-writing .header-inner{
            flex-direction: column;

            align-items: flex-start;
        }


        body.page-writing .nav{
            gap: 19px;

            flex-wrap: wrap;
        }

    }


    /* ---------------------------------------------------------
       MOBILE
    --------------------------------------------------------- */

    @media (max-width: 600px) {

        body.page-writing .header-inner{
            padding: 18px 20px;
        }


        body.page-writing .brand{
            font-size: 31px;
        }


        body.page-writing .brand-tree{
            width: 46px;

            height: 52px;
        }


        body.page-writing .nav{
            gap: 16px;
        }


        body.page-writing .nav a{
            font-size: 15px;
        }


        body.page-writing .nav a.active::after{
            bottom: -7px;
        }


        body.page-writing .archive-hero{
            min-height: 210px;

            background:
                linear-gradient(
                    rgba(244,239,229,.80),
                    rgba(244,239,229,.80)
                ),
                url("../images/tree-grove.webp")
                center / cover no-repeat;
        }


        body.page-writing .archive-hero-inner{
            padding: 44px 20px;
        }


        body.page-writing .hero-subtitle{
            letter-spacing: 2px;
        }


        body.page-writing .archive-wrap{
            padding: 45px 20px 60px;
        }


        body.page-writing .filters{
            margin-bottom: 35px;
        }


        body.page-writing .post{
            padding: 25px 0 27px;
        }


        body.page-writing .post h2{
            font-size: 31px;
        }


        body.page-writing .excerpt{
            font-size: 16px;
        }


        body.page-writing .footer-ornament span{
            width: 65px;
        }


        body.page-writing .footer{
            font-size: 14px;

            line-height: 1.5;
        }

    }



/* =========================================================
   READ.PHP — PAGE-SPECIFIC STYLES
========================================================= */


    body.page-read{
        --forest: #344235;
        --forest-dark: #273329;
        --moss: #66705a;
        --bark: #665447;
        --paper: #f5f0e6;
        --paper-light: #fcfaf5;
        --ink: #292a25;
        --muted: #777368;
        --line: #d8d0c2;
    }

    body.page-read *{
        box-sizing: border-box;
    }

    html{
        scroll-behavior: smooth;
    }

    body.page-read{
        margin: 0;
        background: var(--paper);
        color: var(--ink);
        font-family: Georgia, "Times New Roman", serif;
    }


    /* HEADER */

    body.page-read .site-header{
        border-bottom: 1px solid var(--line);
        background: rgba(252, 250, 245, .96);
    }

    body.page-read .header-inner{
        max-width: 1120px;
        margin: 0 auto;
        padding: 20px 28px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 30px;
    }

    body.page-read .brand{
        display: flex;
        align-items: center;
        gap: 11px;
        color: var(--forest-dark);
        text-decoration: none;
        font-size: 27px;
        font-weight: bold;
        letter-spacing: -.5px;
    }

    body.page-read .brand-tree{
        width: 38px;
        height: 43px;
        object-fit: contain;
    }

    body.page-read .nav{
        display: flex;
        gap: 24px;
    }

    body.page-read .nav a{
        color: var(--forest);
        text-decoration: none;
        font-size: 15px;
    }

    body.page-read .nav a:hover{
        text-decoration: underline;
    }


    /* ARTICLE */

    body.page-read .article{
        max-width: 760px;
        margin: 0 auto;
        padding: 80px 28px 100px;
    }

    body.page-read .article-header{
        text-align: center;
        margin-bottom: 55px;
    }

    body.page-read .type{
        margin-bottom: 20px;
        color: var(--moss);
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
        font-weight: bold;
        letter-spacing: 2px;
        text-transform: uppercase;
    }

    body.page-read h1{
        margin: 0;
        font-size: clamp(42px, 7vw, 66px);
        font-weight: normal;
        line-height: 1.08;
        letter-spacing: -1.8px;
    }

    body.page-read .excerpt{
        max-width: 620px;
        margin: 25px auto 0;
        color: var(--muted);
        font-size: 20px;
        line-height: 1.6;
        font-style: italic;
    }

    body.page-read .meta{
        margin-top: 26px;
        color: var(--muted);
        font-family: Arial, Helvetica, sans-serif;
        font-size: 13px;
        letter-spacing: .4px;
    }

    body.page-read .divider{
        width: 70px;
        height: 1px;
        margin: 42px auto 0;
        background: var(--bark);
        opacity: .6;
    }


    /* AUDIO PLAYER */

    body.page-read .audio-player{
        max-width: 620px;
        margin: 0 auto 48px;
        padding: 23px;
        background: var(--paper-light);
        border: 1px solid var(--line);
        border-radius: 7px;
        text-align: center;
    }

    body.page-read .audio-label{
        margin-bottom: 13px;
        color: var(--moss);
        font-family: Arial, Helvetica, sans-serif;
        font-size: 11px;
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 2px;
    }

    body.page-read .audio-player audio{
        display: block;
        width: 100%;
    }


    /* PROSE */

    body.page-read .story-body{
        font-size: 20px;
        line-height: 1.85;
    }

    body.page-read .story-body p{
        margin: 0 0 1.5em;
    }

    body.page-read .story-body p:first-child::first-letter{
        float: left;
        margin: 7px 9px 0 0;
        color: var(--forest);
        font-size: 68px;
        line-height: .75;
    }


    /* POEM / SONG LYRICS */

    body.page-read .line-wrap{
        max-width: 620px;
        margin: 0 auto;
    }

    body.page-read .line-body{
        white-space: pre-wrap;
        overflow-wrap: break-word;
        color: var(--ink);
        font-size: 20px;
        line-height: 1.75;
        text-align: left;
        font-family: Georgia, "Times New Roman", serif;
    }

    body.page-read .lyrics-label{
        margin-bottom: 20px;
        color: var(--moss);
        font-family: Arial, Helvetica, sans-serif;
        font-size: 11px;
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 2px;
    }


    /* END */

    body.page-read .end-mark{
        margin: 60px 0 20px;
        text-align: center;
        color: var(--moss);
        letter-spacing: 8px;
    }

    body.page-read .article-footer{
        margin-top: 55px;
        padding-top: 25px;
        border-top: 1px solid var(--line);
        text-align: center;
    }

    body.page-read .article-footer a{
        color: var(--forest);
        text-decoration: none;
    }

    body.page-read .article-footer a:hover{
        text-decoration: underline;
    }


    /* SITE FOOTER */

    body.page-read .site-footer{
        padding: 30px 20px 34px;
        background:
            linear-gradient(
                135deg,
                #29352b 0%,
                #344235 50%,
                #273329 100%
            );
        color: #e9e4da;
        text-align: center;
        font-size: 14px;
    }

    body.page-read .footer-ornament{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 14px;
        margin-bottom: 14px;
    }

    body.page-read .footer-ornament span{
        display: block;
        width: 95px;
        height: 1px;
        background: rgba(234,229,218,.35);
    }

    body.page-read .footer-ornament img{
        width: 30px;
        height: 34px;
        object-fit: contain;
        filter: brightness(0) invert(1);
        opacity: .8;
    }


    @media (max-width: 650px) {

        body.page-read .header-inner{
            align-items: flex-start;
            flex-direction: column;
            gap: 12px;
        }

        body.page-read .nav{
            gap: 16px;
            flex-wrap: wrap;
        }

        body.page-read .article{
            padding-top: 55px;
        }

        body.page-read .article-header{
            text-align: left;
        }

        body.page-read .excerpt{
            margin-left: 0;
        }

        body.page-read .divider{
            margin-left: 0;
        }

        body.page-read .story-body,
body.page-read .line-body{
            font-size: 18px;
        }

        body.page-read .line-wrap,
body.page-read .audio-player{
            margin-left: 0;
            margin-right: 0;
        }

        body.page-read .footer-ornament span{
            width: 65px;
        }
    }



/* =========================================================
   RECIPES.PHP — PAGE-SPECIFIC STYLES
========================================================= */


body.page-recipes{
    --forest: #344235;
    --forest-dark: #263028;
    --moss: #68715b;
    --paper: #f4efe5;
    --paper-light: #fcfaf5;
    --ink: #292a25;
    --muted: #716e66;
    --line: #d8d0c3;
}

body.page-recipes *{
    box-sizing: border-box;
}

body.page-recipes{
    margin: 0;
    background: var(--paper-light);
    color: var(--ink);
    font-family: Georgia, "Times New Roman", serif;
}

body.page-recipes .header{
    background: var(--paper-light);
    border-bottom: 1px solid var(--line);
}

body.page-recipes .header-inner{
    max-width: 1180px;
    margin: 0 auto;
    padding: 18px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

body.page-recipes .brand{
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--forest-dark);
    text-decoration: none;
    font-size: 39px;
}

body.page-recipes .brand-tree{
    width: 58px;
    height: 64px;
    object-fit: contain;
}

body.page-recipes .nav{
    display: flex;
    gap: 28px;
    flex-wrap: wrap;
}

body.page-recipes .nav a{
    color: var(--ink);
    text-decoration: none;
    font-size: 17px;
}

body.page-recipes .nav a:hover{
    color: var(--forest);
}

body.page-recipes .nav a.active{
    color: var(--forest);
    font-weight: bold;
}

body.page-recipes .hero{
    min-height: 245px;
    display: flex;
    align-items: center;

    background:
        linear-gradient(
            90deg,
            rgba(244,239,229,.98) 0%,
            rgba(244,239,229,.88) 34%,
            rgba(244,239,229,.48) 54%,
            rgba(244,239,229,.12) 80%
        ),
        url("../images/tree-grove.webp")
        center 48% / cover no-repeat;
}

body.page-recipes .hero-inner{
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 52px 28px;
}

body.page-recipes .hero h1{
    margin: 0;
    color: var(--forest-dark);
    font-size: clamp(58px,8vw,86px);
    font-weight: normal;
}

body.page-recipes .hero-subtitle{
    margin-top: 18px;
    color: var(--forest);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 3px;
}

body.page-recipes .wrap{
    max-width: 1000px;
    margin: 0 auto;
    padding: 60px 28px 85px;
}

body.page-recipes .recipe-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

body.page-recipes .recipe-card{
    overflow: hidden;
    background: #fffdf8;
    border: 1px solid var(--line);
    border-radius: 8px;
}

body.page-recipes .recipe-image-link{
    display: block;
    overflow: hidden;
    background: var(--paper);
}

body.page-recipes .recipe-image{
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

body.page-recipes .recipe-image-link:hover .recipe-image{
    transform: scale(1.02);
}

body.page-recipes .recipe-card-content{
    padding: 25px;
}

body.page-recipes .recipe-card h2{
    margin: 0 0 12px;
    font-size: 30px;
    font-weight: normal;
    line-height: 1.15;
}

body.page-recipes .recipe-card h2 a{
    color: var(--ink);
    text-decoration: none;
}

body.page-recipes .recipe-card h2 a:hover{
    color: var(--forest);
}

body.page-recipes .recipe-card p{
    color: var(--muted);
    line-height: 1.65;
}

body.page-recipes .recipe-meta{
    margin-top: 17px;
    color: var(--moss);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}

body.page-recipes .recipe-link{
    display: inline-block;
    margin-top: 17px;
    color: var(--forest);
    text-decoration: none;
    font-weight: bold;
}

body.page-recipes .recipe-link:hover{
    color: var(--forest-dark);
}

body.page-recipes .footer{
    background:
        linear-gradient(
            135deg,
            #29352b 0%,
            #344235 50%,
            #273329 100%
        );

    color: #eae5da;
    padding: 29px 20px 34px;
    text-align: center;
    font-size: 15px;
}

body.page-recipes .footer-ornament{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

body.page-recipes .footer-ornament span{
    width: 95px;
    height: 1px;
    background: rgba(234,229,218,.35);
}

body.page-recipes .footer-ornament img{
    width: 30px;
    height: 34px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: .8;
}

@media (max-width: 760px) {

    body.page-recipes .header-inner{
        flex-direction: column;
        align-items: flex-start;
    }

    body.page-recipes .recipe-grid{
        grid-template-columns: 1fr;
    }

    body.page-recipes .recipe-image{
        height: 230px;
    }
}



/* =========================================================
   RECIPE.PHP — PAGE-SPECIFIC STYLES
========================================================= */


body.page-recipe{
    --forest: #344235;
    --forest-dark: #263028;
    --moss: #68715b;
    --paper: #f4efe5;
    --paper-light: #fcfaf5;
    --ink: #292a25;
    --muted: #716e66;
    --line: #d8d0c3;
    --soft-line: #e6dfd3;
}


body.page-recipe *{
    box-sizing: border-box;
}


/* =========================================================
   PAGE
========================================================= */

body.page-recipe{
    margin: 0;

    background:
        var(--paper-light);

    color:
        var(--ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;
}


/* =========================================================
   HEADER
========================================================= */

body.page-recipe .header{
    background:
        var(--paper-light);

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


body.page-recipe .header-inner{
    max-width: 1180px;

    margin: 0 auto;

    padding: 18px 28px;

    display: flex;

    justify-content:
        space-between;

    align-items:
        center;

    gap: 30px;
}


body.page-recipe .brand{
    color:
        var(--forest-dark);

    text-decoration:
        none;

    font-size:
        28px;

    font-weight:
        bold;
}


body.page-recipe .nav{
    display: flex;

    gap: 24px;

    flex-wrap: wrap;
}


body.page-recipe .nav a{
    color:
        var(--forest);

    text-decoration:
        none;
}


body.page-recipe .nav a:hover{
    color:
        var(--forest-dark);
}


body.page-recipe .nav a.active{
    font-weight:
        bold;
}


/* =========================================================
   RECIPE PAGE
========================================================= */

body.page-recipe .recipe{
    max-width: 1120px;

    margin: 0 auto;

    padding:
        70px 28px
        90px;
}


/* =========================================================
   RECIPE HEADER
========================================================= */

body.page-recipe .recipe-header{
    max-width: 850px;

    margin:
        0 auto 34px;

    text-align:
        center;
}


body.page-recipe .recipe-label{
    color:
        var(--moss);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        11px;

    font-weight:
        bold;

    text-transform:
        uppercase;

    letter-spacing:
        3px;
}


body.page-recipe .recipe-title{
    margin:
        12px 0 0;

    color:
        var(--forest-dark);

    font-size:
        clamp(46px, 6vw, 72px);

    font-weight:
        normal;

    line-height:
        1.05;
}


body.page-recipe .recipe-intro{
    max-width: 700px;

    margin:
        22px auto 0;

    color:
        var(--muted);

    font-size:
        19px;

    line-height:
        1.7;
}


/* =========================================================
   RECIPE ACTIONS
========================================================= */

body.page-recipe .recipe-actions{
    display: flex;

    justify-content:
        center;

    align-items:
        center;

    gap: 12px;

    flex-wrap: wrap;

    margin-top:
        25px;
}


body.page-recipe .recipe-action{
    display: inline-block;

    padding:
        10px 18px;

    border:
        1px solid var(--forest);

    border-radius:
        4px;

    background:
        transparent;

    color:
        var(--forest);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        12px;

    font-weight:
        bold;

    letter-spacing:
        .5px;

    text-decoration:
        none;

    cursor:
        pointer;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}


body.page-recipe .recipe-action:hover{
    background:
        var(--forest);

    color:
        #fff;

    transform:
        translateY(-1px);
}


/* =========================================================
   FEATURED IMAGE
========================================================= */

body.page-recipe .recipe-image-wrap{
    display: flex;

    justify-content:
        center;

    margin:
        38px auto 45px;
}


body.page-recipe .recipe-image{
    display: block;

    width:
        52%;

    max-width:
        560px;

    height:
        auto;

    object-fit:
        contain;

    border-radius:
        7px;

    border:
        1px solid var(--line);

    box-shadow:
        0 5px 18px
        rgba(0, 0, 0, .08);
}


/* =========================================================
   RECIPE META
========================================================= */

body.page-recipe .recipe-meta{
    max-width:
        850px;

    margin:
        0 auto 55px;

    padding:
        18px 0;

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

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

    display:
        flex;

    justify-content:
        center;

    align-items:
        stretch;
}


body.page-recipe .meta-item{
    min-width:
        150px;

    padding:
        2px 30px;

    text-align:
        center;
}


body.page-recipe .meta-item + .meta-item{
    border-left:
        1px solid var(--line);
}


body.page-recipe .meta-label{
    display:
        block;

    margin-bottom:
        6px;

    color:
        var(--moss);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        10px;

    font-weight:
        bold;

    text-transform:
        uppercase;

    letter-spacing:
        1.8px;
}


body.page-recipe .meta-value{
    display:
        block;

    color:
        var(--forest-dark);

    font-size:
        16px;
}


/* =========================================================
   INGREDIENTS + DIRECTIONS
========================================================= */

body.page-recipe .recipe-content{
    display:
        grid;

    grid-template-columns:
        minmax(280px, .8fr)
        minmax(0, 1.5fr);

    gap:
        70px;

    align-items:
        start;
}


body.page-recipe .recipe-section h2{
    margin:
        0 0 24px;

    padding-bottom:
        13px;

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

    color:
        var(--forest-dark);

    font-size:
        31px;

    font-weight:
        normal;
}


/* =========================================================
   INGREDIENTS
========================================================= */

body.page-recipe .ingredients{
    list-style:
        none;

    margin:
        0;

    padding:
        0;
}


body.page-recipe .ingredients li{
    position:
        relative;

    padding:
        10px 0
        10px 20px;

    color:
        #42433d;

    font-size:
        17px;

    line-height:
        1.55;
}


body.page-recipe .ingredients li::before{
    content:
        "•";

    position:
        absolute;

    left:
        0;

    top:
        10px;

    color:
        var(--moss);
}


/* =========================================================
   DIRECTIONS
========================================================= */

body.page-recipe .instructions{
    counter-reset:
        recipe-step;
}


body.page-recipe .instruction-step{
    position:
        relative;

    margin:
        0 0 28px;

    padding-left:
        52px;

    color:
        #42433d;

    font-size:
        17px;

    line-height:
        1.75;

    counter-increment:
        recipe-step;
}


body.page-recipe .instruction-step::before{
    content:
        counter(recipe-step);

    position:
        absolute;

    left:
        0;

    top:
        1px;

    width:
        32px;

    height:
        32px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid var(--moss);

    border-radius:
        50%;

    color:
        var(--forest);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        13px;

    font-weight:
        bold;
}


/* =========================================================
   NOTES
========================================================= */

body.page-recipe .notes-section{
    max-width:
        850px;

    margin:
        65px auto 0;
}


body.page-recipe .notes-section h2{
    margin:
        0 0 18px;

    color:
        var(--forest-dark);

    font-size:
        28px;

    font-weight:
        normal;
}


body.page-recipe .notes{
    padding:
        22px 25px;

    background:
        var(--paper);

    border-left:
        3px solid var(--moss);

    color:
        #4b4c46;

    font-size:
        16px;

    line-height:
        1.7;

    white-space:
        pre-wrap;
}


/* =========================================================
   BACK LINK
========================================================= */

body.page-recipe .back{
    margin-top:
        65px;

    padding-top:
        26px;

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

    text-align:
        center;
}


body.page-recipe .back a{
    color:
        var(--forest);

    text-decoration:
        none;

    font-weight:
        bold;
}


body.page-recipe .back a:hover{
    color:
        var(--forest-dark);
}


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

body.page-recipe .footer{
    background:
        linear-gradient(
            135deg,
            #29352b 0%,
            #344235 50%,
            #273329 100%
        );

    color:
        #eae5da;

    padding:
        29px 20px
        34px;

    text-align:
        center;

    font-size:
        15px;
}


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

@media (max-width: 850px) {

    body.page-recipe .recipe-image{
        width:
            65%;
    }


    body.page-recipe .recipe-content{
        grid-template-columns:
            1fr;

        gap:
            50px;
    }

}


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

@media (max-width: 650px) {

    body.page-recipe .header-inner{
        flex-direction:
            column;

        align-items:
            flex-start;

        gap:
            15px;
    }


    body.page-recipe .recipe{
        padding:
            48px 20px
            70px;
    }


    body.page-recipe .recipe-header{
        text-align:
            left;
    }


    body.page-recipe .recipe-intro{
        margin-left:
            0;
    }


    body.page-recipe .recipe-actions{
        justify-content:
            flex-start;
    }


    body.page-recipe .recipe-image-wrap{
        margin:
            30px auto
            36px;
    }


    body.page-recipe .recipe-image{
        width:
            100%;

        max-width:
            100%;
    }


    body.page-recipe .recipe-meta{
        display:
            grid;

        grid-template-columns:
            repeat(3, 1fr);
    }


    body.page-recipe .meta-item{
        min-width:
            0;

        padding:
            2px 10px;
    }


    body.page-recipe .meta-value{
        font-size:
            14px;
    }


    body.page-recipe .recipe-content{
        grid-template-columns:
            1fr;

        gap:
            45px;
    }


    body.page-recipe .instruction-step{
        padding-left:
            46px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 430px) {

    body.page-recipe .recipe-meta{
        grid-template-columns:
            1fr;
    }


    body.page-recipe .meta-item{
        padding:
            12px 5px;
    }


    body.page-recipe .meta-item + .meta-item{
        border-left:
            0;

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

}


/* =========================================================
   PRINT VERSION
========================================================= */

@media print {

    @page {
        margin:
            .55in;
    }


    body.page-recipe{
        background:
            #fff;

        color:
            #000;

        font-size:
            11pt;
    }


    body.page-recipe .header,
body.page-recipe .footer,
body.page-recipe .recipe-actions,
body.page-recipe .back{
        display:
            none !important;
    }


    body.page-recipe .recipe{
        max-width:
            none;

        padding:
            0;

        margin:
            0;
    }


    body.page-recipe .recipe-header{
        max-width:
            none;

        margin:
            0 0 18px;

        text-align:
            left;
    }


    body.page-recipe .recipe-label{
        color:
            #555;

        font-size:
            8pt;
    }


    body.page-recipe .recipe-title{
        margin-top:
            5px;

        color:
            #000;

        font-size:
            27pt;

        line-height:
            1.05;
    }


    body.page-recipe .recipe-intro{
        max-width:
            none;

        margin:
            10px 0 0;

        color:
            #333;

        font-size:
            11pt;

        line-height:
            1.4;
    }


    body.page-recipe .recipe-image-wrap{
        justify-content:
            flex-start;

        margin:
            16px 0 18px;
    }


    body.page-recipe .recipe-image{
        width:
            260px;

        max-width:
            260px;

        height:
            auto;

        border:
            0;

        border-radius:
            0;

        box-shadow:
            none;
    }


    body.page-recipe .recipe-meta{
        max-width:
            none;

        margin:
            0 0 24px;

        padding:
            9px 0;

        justify-content:
            flex-start;

        border-color:
            #bbb;
    }


    body.page-recipe .meta-item{
        min-width:
            120px;

        padding:
            0 18px;
    }


    body.page-recipe .meta-item:first-child{
        padding-left:
            0;
    }


    body.page-recipe .meta-label{
        color:
            #555;

        font-size:
            7pt;
    }


    body.page-recipe .meta-value{
        color:
            #000;

        font-size:
            10pt;
    }


    body.page-recipe .recipe-content{
        grid-template-columns:
            1fr 1.55fr;

        gap:
            36px;
    }


    body.page-recipe .recipe-section h2{
        margin-bottom:
            12px;

        padding-bottom:
            7px;

        color:
            #000;

        font-size:
            18pt;

        border-color:
            #bbb;
    }


    body.page-recipe .ingredients li{
        padding:
            5px 0 5px 15px;

        color:
            #000;

        font-size:
            10pt;

        line-height:
            1.35;
    }


    body.page-recipe .ingredients li::before{
        top:
            5px;

        color:
            #000;
    }


    body.page-recipe .instruction-step{
        margin-bottom:
            15px;

        padding-left:
            34px;

        color:
            #000;

        font-size:
            10pt;

        line-height:
            1.45;
    }


    body.page-recipe .instruction-step::before{
        width:
            23px;

        height:
            23px;

        border-color:
            #777;

        color:
            #000;

        font-size:
            8pt;
    }


    body.page-recipe .notes-section{
        max-width:
            none;

        margin-top:
            26px;

        page-break-inside:
            avoid;
    }


    body.page-recipe .notes-section h2{
        color:
            #000;

        font-size:
            17pt;
    }


    body.page-recipe .notes{
        padding:
            12px 15px;

        background:
            #fff;

        border-left:
            2px solid #777;

        color:
            #000;

        font-size:
            9.5pt;

        line-height:
            1.4;
    }


    body.page-recipe .recipe-section,
body.page-recipe .recipe-image-wrap,
body.page-recipe .recipe-meta{
        break-inside:
            avoid;
    }

}



/* =========================================================
   MEMORY-LANE.PHP — PAGE-SPECIFIC STYLES
========================================================= */

body.page-memory-lane{
    --forest:#394638;
    --forest-dark:#263128;
    --paper:#f3efe6;
    --cream:#fffdf8;
    --ink:#292a25;
    --muted:#706d65;
    --line:#d6d0c3;
}
body.page-memory-lane *{box-sizing:border-box}
body.page-memory-lane{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,serif}
body.page-memory-lane .header{background:var(--forest-dark);color:#fff}
body.page-memory-lane .header-inner{max-width:1120px;margin:0 auto;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
body.page-memory-lane .brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:24px;font-weight:bold}
body.page-memory-lane .brand img{width:34px;height:34px;object-fit:contain}
body.page-memory-lane .nav{display:flex;gap:22px;flex-wrap:wrap}
body.page-memory-lane .nav a{color:#ece8df;text-decoration:none;font-family:Arial,sans-serif;font-size:14px}
body.page-memory-lane .nav a.active{border-bottom:1px solid #ece8df}
body.page-memory-lane .hero{
    background-color:var(--forest);
    background-image:linear-gradient(90deg,rgba(25,35,27,.84),rgba(25,35,27,.58)),url("../images/tree-grove.webp");
    background-position:center,center 47%;
    background-size:cover;
    background-repeat:no-repeat;
    color:#f4f0e7;
    text-align:center;
    padding:72px 20px 68px;
}
body.page-memory-lane .hero .eyebrow{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:12px;opacity:.8}
body.page-memory-lane .hero h1{font-size:58px;margin:12px 0 12px;font-weight:normal}
body.page-memory-lane .hero p{max-width:680px;margin:0 auto;font-size:20px;line-height:1.6;color:#e1ddd4}
body.page-memory-lane .filters{max-width:1120px;margin:0 auto;padding:32px 20px 5px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
body.page-memory-lane .filters a{border:1px solid #c7c0b2;background:var(--cream);color:var(--forest);padding:8px 13px;border-radius:18px;text-decoration:none;font-family:Arial,sans-serif;font-size:13px}
body.page-memory-lane .filters a.active{background:var(--forest);color:white;border-color:var(--forest)}
body.page-memory-lane .gallery{max-width:1120px;margin:0 auto;padding:28px 20px 75px;columns:3 280px;column-gap:22px}
body.page-memory-lane .memory{break-inside:avoid;margin:0 0 22px;background:var(--cream);border:1px solid var(--line);box-shadow:0 3px 14px rgba(0,0,0,.04)}
body.page-memory-lane .memory img{display:block;width:100%;height:auto}
body.page-memory-lane .copy{padding:18px 18px 20px}
body.page-memory-lane .copy h2{font-size:24px;line-height:1.15;margin:0 0 8px;font-weight:normal}
body.page-memory-lane .meta{font-family:Arial,sans-serif;color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:11px}
body.page-memory-lane .story{font-size:16px;line-height:1.65}
body.page-memory-lane .story p{margin:0}
body.page-memory-lane .story a{color:var(--forest);font-weight:bold;text-decoration:none}
body.page-memory-lane .empty{max-width:800px;margin:45px auto 90px;padding:35px 20px;text-align:center}
body.page-memory-lane .footer{background:var(--forest-dark);color:#e9e4da;text-align:center;padding:35px 20px;font-family:Arial,sans-serif;font-size:13px}
@media(max-width:650px){
    body.page-memory-lane .header-inner{align-items:flex-start;flex-direction:column}
    body.page-memory-lane .hero{padding:55px 20px}
    body.page-memory-lane .hero h1{font-size:43px}
    body.page-memory-lane .gallery{columns:1}
}


/* =========================================================
   MEMORY.PHP — PAGE-SPECIFIC STYLES
========================================================= */

body.page-memory{--forest:#394638;--dark:#263128;--paper:#f3efe6;--cream:#fffdf8;--ink:#292a25;--muted:#706d65;--line:#d6d0c3}
body.page-memory *{box-sizing:border-box}
body.page-memory{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,serif}
body.page-memory .header{background:var(--dark);color:#fff}
body.page-memory .header-inner{max-width:1050px;margin:0 auto;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}
body.page-memory .brand{color:white;text-decoration:none;font-size:24px;font-weight:bold}
body.page-memory .nav{display:flex;gap:20px;flex-wrap:wrap}
body.page-memory .nav a{color:#ece8df;text-decoration:none;font:14px Arial,sans-serif}
body.page-memory .article{max-width:900px;margin:0 auto;padding:60px 20px 80px}
body.page-memory .back{color:var(--forest);text-decoration:none;font:bold 13px Arial,sans-serif}
body.page-memory .article h1{font-size:48px;line-height:1.08;font-weight:normal;margin:25px 0 12px}
body.page-memory .meta{font:13px/1.6 Arial,sans-serif;color:var(--muted);margin-bottom:28px}
body.page-memory .photo{background:var(--cream);border:1px solid var(--line);padding:10px;margin-bottom:30px}
body.page-memory .photo img{display:block;width:100%;height:auto}
body.page-memory .people{font-size:15px;color:var(--muted);margin:14px 0 0}
body.page-memory .story{font-size:19px;line-height:1.8}
body.page-memory .story p{margin:0 0 1.25em}
body.page-memory .footer{background:var(--dark);color:#e9e4da;text-align:center;padding:35px 20px;font:13px Arial,sans-serif}
@media(max-width:650px){body.page-memory .header-inner{flex-direction:column;align-items:flex-start}body.page-memory .article{padding-top:42px}body.page-memory .article h1{font-size:38px}body.page-memory .story{font-size:18px}}


/* =========================================================
   ABOUT.PHP — PAGE-SPECIFIC STYLES
========================================================= */


    body.page-about{
        --forest: #344235;
        --forest-dark: #263028;
        --moss: #68715b;
        --paper: #f4efe5;
        --paper-light: #fcfaf5;
        --ink: #292a25;
        --muted: #716e66;
        --line: #d8d0c3;
    }

    body.page-about *{
        box-sizing: border-box;
    }

    body.page-about{
        margin: 0;
        background: var(--paper);
        color: var(--ink);
        font-family: Georgia, "Times New Roman", serif;
    }

    body.page-about a{
        color: inherit;
    }


    /* HEADER */

    body.page-about .header{
        background: var(--paper-light);
        border-bottom: 1px solid var(--line);
    }

    body.page-about .header-inner{
        max-width: 1180px;
        margin: 0 auto;
        padding: 18px 28px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 30px;
    }

    body.page-about .brand{
        display: flex;
        align-items: center;
        gap: 14px;
        color: var(--forest-dark);
        text-decoration: none;
        font-size: 39px;
        line-height: 1;
    }

    body.page-about .brand-tree{
        width: 58px;
        height: 64px;
        object-fit: contain;
        flex-shrink: 0;
    }

    body.page-about .nav{
        display: flex;
        gap: 30px;
        align-items: center;
    }

    body.page-about .nav a{
        position: relative;
        color: var(--ink);
        text-decoration: none;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 17px;
    }

    body.page-about .nav a:hover{
        color: var(--forest);
    }

    body.page-about .nav a.active{
        color: var(--forest-dark);
        font-weight: bold;
    }

    body.page-about .nav a.active::after{
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -12px;
        height: 3px;
        background: var(--forest);
    }


    /* HERO */

    body.page-about .about-hero{
        position: relative;
        min-height: 255px;
        display: flex;
        align-items: center;

        background:
            linear-gradient(
                90deg,
                rgba(244,239,229,.98) 0%,
                rgba(244,239,229,.90) 30%,
                rgba(244,239,229,.55) 48%,
                rgba(244,239,229,.15) 75%
            ),
            url("../images/tree-grove.webp")
            center 45% / cover no-repeat;
    }

    body.page-about .about-hero-inner{
        width: 100%;
        max-width: 1180px;
        margin: 0 auto;
        padding: 55px 28px;
    }

    body.page-about .about-hero h1{
        margin: 0;
        color: var(--forest-dark);
        font-size: clamp(58px, 8vw, 86px);
        font-weight: normal;
        line-height: .95;
        letter-spacing: -2px;
    }

    body.page-about .hero-subtitle{
        margin-top: 22px;
        color: var(--forest);
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 4px;
    }


    /* MAIN ABOUT CONTENT */

    body.page-about .about-main{
        background: var(--paper-light);
    }

    body.page-about .about-grid{
        max-width: 1180px;
        margin: 0 auto;
        padding: 64px 28px 70px;

        display: grid;
        grid-template-columns: minmax(300px, 430px) 1fr;
        gap: 60px;

        align-items: start;
    }


    /* PROFILE PHOTO */

    body.page-about .photo-wrap{
        width: 100%;
    }

    body.page-about .profile-photo{
        display: block;
        width: 100%;

        aspect-ratio: 4 / 4.5;

        object-fit: cover;
        object-position: center 32%;
    }


    /* BIO */

    body.page-about .bio{
        padding-top: 4px;
    }

    body.page-about .eyebrow{
        margin-bottom: 10px;

        color: var(--moss);

        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
        font-weight: bold;

        text-transform: uppercase;
        letter-spacing: 3px;
    }

    body.page-about .bio h2{
        margin: 0 0 22px;

        color: var(--forest-dark);

        font-size: clamp(42px, 5vw, 58px);
        font-weight: normal;

        line-height: 1.08;
        letter-spacing: -1px;
    }

    body.page-about .bio p{
        max-width: 720px;

        margin: 0 0 22px;

        color: #474740;

        font-size: 18px;
        line-height: 1.75;
    }

    body.page-about .bio p:last-child{
        margin-bottom: 0;
    }


    /* FOOTER */

    body.page-about .footer{
        background:
            linear-gradient(
                135deg,
                #29352b 0%,
                #344235 50%,
                #273329 100%
            );

        color: #eae5da;

        padding: 28px 20px 34px;

        text-align: center;

        font-family: Georgia, "Times New Roman", serif;
        font-size: 15px;
    }

    body.page-about .footer-ornament{
        display: flex;
        justify-content: center;
        align-items: center;

        gap: 14px;

        margin-bottom: 14px;
    }

    body.page-about .footer-ornament span{
        display: block;

        width: 95px;
        height: 1px;

        background: rgba(234, 229, 218, .35);
    }

    body.page-about .footer-ornament img{
        display: block;

        width: 30px;
        height: 34px;

        object-fit: contain;

        filter: brightness(0) invert(1);
        opacity: .80;
    }


    /* TABLET */

    @media (max-width: 850px) {

        body.page-about .header-inner{
            flex-direction: column;
            align-items: flex-start;
        }

        body.page-about .nav{
            gap: 20px;
            flex-wrap: wrap;
        }

        body.page-about .about-grid{
            grid-template-columns: 1fr;
            gap: 40px;
        }

        body.page-about .photo-wrap{
            max-width: 500px;
        }

    }


    /* MOBILE */

    @media (max-width: 600px) {

        body.page-about .header-inner{
            padding: 18px 20px;
        }

        body.page-about .brand{
            font-size: 31px;
        }

        body.page-about .brand-tree{
            width: 46px;
            height: 52px;
        }

        body.page-about .nav{
            gap: 17px;
        }

        body.page-about .nav a{
            font-size: 15px;
        }

        body.page-about .nav a.active::after{
            bottom: -7px;
        }

        body.page-about .about-hero{
            min-height: 220px;

            background:
                linear-gradient(
                    rgba(244,239,229,.80),
                    rgba(244,239,229,.80)
                ),
                url("../images/tree-grove.webp")
                center / cover no-repeat;
        }

        body.page-about .about-hero-inner{
            padding: 45px 20px;
        }

        body.page-about .hero-subtitle{
            letter-spacing: 2.5px;
            line-height: 1.5;
        }

        body.page-about .about-grid{
            padding: 42px 20px 55px;
        }

        body.page-about .profile-photo{
            aspect-ratio: 4 / 4.7;
        }

        body.page-about .bio h2{
            font-size: 42px;
        }

        body.page-about .bio p{
            font-size: 17px;
            line-height: 1.7;
        }

        body.page-about .footer-ornament span{
            width: 65px;
        }

        body.page-about .footer{
            font-size: 14px;
            line-height: 1.5;
        }

    }



/* =========================================================
   CONTACT.PHP — PAGE-SPECIFIC STYLES
========================================================= */


body.page-contact{
    --forest: #344235;
    --forest-dark: #263028;
    --moss: #68715b;
    --paper: #f4efe5;
    --paper-light: #fcfaf5;
    --ink: #292a25;
    --muted: #716e66;
    --line: #d8d0c3;
    --error: #8b3a32;
    --success: #466348;
}

body.page-contact *{
    box-sizing: border-box;
}

body.page-contact{
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Georgia, "Times New Roman", serif;
}

body.page-contact a{
    color: inherit;
}


/* HEADER */

body.page-contact .header{
    background: var(--paper-light);
    border-bottom: 1px solid var(--line);
}

body.page-contact .header-inner{
    max-width: 1180px;
    margin: 0 auto;
    padding: 18px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

body.page-contact .brand{
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--forest-dark);
    text-decoration: none;
    font-size: 39px;
    line-height: 1;
}

body.page-contact .brand-tree{
    width: 58px;
    height: 64px;
    object-fit: contain;
}

body.page-contact .nav{
    display: flex;
    gap: 30px;
    align-items: center;
}

body.page-contact .nav a{
    position: relative;
    color: var(--ink);
    text-decoration: none;
    font-size: 17px;
}

body.page-contact .nav a:hover{
    color: var(--forest);
}

body.page-contact .nav a.active{
    color: var(--forest-dark);
    font-weight: bold;
}

body.page-contact .nav a.active::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -12px;
    height: 3px;
    background: var(--forest);
}


/* HERO */

body.page-contact .contact-hero{
    min-height: 245px;
    display: flex;
    align-items: center;

    background:
        linear-gradient(
            90deg,
            rgba(244,239,229,.98) 0%,
            rgba(244,239,229,.88) 32%,
            rgba(244,239,229,.50) 52%,
            rgba(244,239,229,.12) 78%
        ),
        url("../images/tree-grove.webp")
        center 48% / cover no-repeat;
}

body.page-contact .contact-hero-inner{
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 55px 28px;
}

body.page-contact .contact-hero h1{
    margin: 0;
    color: var(--forest-dark);
    font-size: clamp(58px, 8vw, 86px);
    font-weight: normal;
    line-height: .95;
}

body.page-contact .hero-subtitle{
    margin-top: 22px;
    color: var(--forest);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 4px;
}


/* CONTENT */

body.page-contact .contact-main{
    background: var(--paper-light);
}

body.page-contact .contact-grid{
    max-width: 1050px;
    margin: 0 auto;
    padding: 65px 28px 80px;

    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 70px;
}

body.page-contact .contact-copy h2{
    margin: 0 0 20px;
    color: var(--forest-dark);
    font-size: 42px;
    font-weight: normal;
}

body.page-contact .contact-copy p{
    margin: 0 0 20px;
    color: #4b4a44;
    font-size: 18px;
    line-height: 1.75;
}

body.page-contact .small-note{
    color: var(--muted);
    font-size: 15px !important;
}


/* FORM */

body.page-contact .form-row{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

body.page-contact .field{
    margin-bottom: 20px;
}

body.page-contact label{
    display: block;
    margin-bottom: 8px;
    color: var(--forest-dark);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

body.page-contact input,
body.page-contact textarea{
    width: 100%;
    border: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
    padding: 13px 14px;
    border-radius: 2px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
}

body.page-contact input:focus,
body.page-contact textarea:focus{
    outline: none;
    border-color: var(--forest);
    box-shadow: 0 0 0 2px rgba(52,66,53,.08);
}

body.page-contact textarea{
    min-height: 190px;
    resize: vertical;
}

body.page-contact button{
    display: inline-block;
    border: 0;
    background: var(--forest);
    color: #fff;
    padding: 13px 25px;
    cursor: pointer;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: .5px;
}

body.page-contact button:hover{
    background: var(--forest-dark);
}

body.page-contact .alert{
    margin-bottom: 25px;
    padding: 15px 18px;
    border: 1px solid var(--line);
    line-height: 1.5;
}

body.page-contact .alert-error{
    background: #f8eeec;
    border-color: #d9b9b4;
    color: var(--error);
}

body.page-contact .alert-success{
    background: #eef4ec;
    border-color: #bccdb8;
    color: var(--success);
}

body.page-contact .alert ul{
    margin: 0;
    padding-left: 20px;
}

body.page-contact .honey{
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}


/* FOOTER */

body.page-contact .footer{
    background:
        linear-gradient(
            135deg,
            #29352b 0%,
            #344235 50%,
            #273329 100%
        );

    color: #eae5da;
    padding: 28px 20px 34px;
    text-align: center;
    font-size: 15px;
}

body.page-contact .footer-ornament{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

body.page-contact .footer-ornament span{
    width: 95px;
    height: 1px;
    background: rgba(234,229,218,.35);
}

body.page-contact .footer-ornament img{
    width: 30px;
    height: 34px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: .8;
}


/* MOBILE */

@media (max-width: 800px) {

    body.page-contact .header-inner{
        flex-direction: column;
        align-items: flex-start;
    }

    body.page-contact .nav{
        gap: 18px;
        flex-wrap: wrap;
    }

    body.page-contact .contact-grid{
        grid-template-columns: 1fr;
        gap: 35px;
    }

}

@media (max-width: 600px) {

    body.page-contact .header-inner{
        padding: 18px 20px;
    }

    body.page-contact .brand{
        font-size: 31px;
    }

    body.page-contact .brand-tree{
        width: 46px;
        height: 52px;
    }

    body.page-contact .nav a{
        font-size: 15px;
    }

    body.page-contact .contact-hero{
        min-height: 210px;

        background:
            linear-gradient(
                rgba(244,239,229,.80),
                rgba(244,239,229,.80)
            ),
            url("../images/tree-grove.webp")
            center / cover no-repeat;
    }

    body.page-contact .contact-hero-inner{
        padding: 45px 20px;
    }

    body.page-contact .contact-grid{
        padding: 45px 20px 60px;
    }

    body.page-contact .form-row{
        grid-template-columns: 1fr;
        gap: 0;
    }

    body.page-contact .footer-ornament span{
        width: 65px;
    }

}



/* =========================================================
   T-BIRD — SPECIAL GUEST COLLECTION
========================================================= */

body.page-tbird,
body.page-tbird-memory {
    background: var(--paper);
    color: var(--ink);
}

body.page-tbird .tbird-header,
body.page-tbird-memory .tbird-header {
    background: var(--paper-light);
    border-bottom: 1px solid var(--line);
}

body.page-tbird .tbird-header-inner,
body.page-tbird-memory .tbird-header-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 18px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
}

body.page-tbird .tbird-brand,
body.page-tbird-memory .tbird-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--forest-dark);
    text-decoration: none;
    font-size: 31px;
}

body.page-tbird .tbird-brand img,
body.page-tbird-memory .tbird-brand img {
    width: 48px;
    height: 54px;
    object-fit: contain;
}

body.page-tbird-memory .tbird-return {
    color: var(--forest);
    text-decoration: none;
    font-size: 15px;
    font-weight: bold;
}

body.page-tbird .tbird-hero {
    min-height: 330px;
    display: flex;
    align-items: center;
    background:
        linear-gradient(
            90deg,
            rgba(244,239,229,.98) 0%,
            rgba(244,239,229,.86) 31%,
            rgba(244,239,229,.42) 58%,
            rgba(244,239,229,.08) 84%
        ),
        url('../images/tree-grove.webp')
        center 46% / cover no-repeat;
}

body.page-tbird .tbird-hero-inner {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 64px 28px;
}

body.page-tbird .tbird-eyebrow,
body.page-tbird-memory .tbird-eyebrow {
    color: var(--moss);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 3px;
    text-transform: uppercase;
}

body.page-tbird .tbird-hero h1 {
    margin: 8px 0 15px;
    color: var(--forest-dark);
    font-size: clamp(64px, 9vw, 96px);
    font-weight: normal;
    line-height: .95;
    letter-spacing: -3px;
}

body.page-tbird .tbird-hero p {
    max-width: 620px;
    margin: 0;
    color: #41443c;
    font-size: 21px;
    line-height: 1.65;
}

body.page-tbird .tbird-main {
    max-width: 1120px;
    margin: 0 auto;
    padding: 66px 28px 90px;
}

body.page-tbird .tbird-gallery {
    columns: 3 280px;
    column-gap: 26px;
}

body.page-tbird .tbird-card {
    break-inside: avoid;
    margin: 0 0 26px;
    overflow: hidden;
    background: var(--paper-light);
    border: 1px solid var(--line);
    box-shadow: 0 4px 18px rgba(38,48,40,.06);
}

body.page-tbird .tbird-photo-link {
    display: block;
    background: #e8e2d6;
}

body.page-tbird .tbird-photo-link img {
    display: block;
    width: 100%;
    height: auto;
}

body.page-tbird .tbird-card-body {
    padding: 22px 22px 24px;
}

body.page-tbird .tbird-card-label {
    margin-bottom: 9px;
    color: var(--moss);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 2px;
    text-transform: uppercase;
}

body.page-tbird .tbird-card h2 {
    margin: 0;
    font-size: 29px;
    font-weight: normal;
    line-height: 1.15;
}

body.page-tbird .tbird-card h2 a {
    color: var(--forest-dark);
    text-decoration: none;
}

body.page-tbird .tbird-meta,
body.page-tbird-memory .tbird-meta {
    margin-top: 11px;
    color: var(--muted);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1.5;
}

body.page-tbird .tbird-excerpt {
    margin: 16px 0 0;
    color: #4e4d47;
    font-size: 16px;
    line-height: 1.7;
}

body.page-tbird .tbird-read {
    display: inline-block;
    margin-top: 17px;
    color: var(--forest);
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
}

body.page-tbird .tbird-empty {
    max-width: 680px;
    margin: 15px auto;
    padding: 45px 30px;
    text-align: center;
    background: var(--paper-light);
    border: 1px solid var(--line);
}

body.page-tbird .tbird-empty img {
    width: 58px;
    height: 65px;
    object-fit: contain;
    margin-bottom: 12px;
}

body.page-tbird .tbird-empty h2 {
    margin: 0 0 12px;
    font-size: 33px;
    font-weight: normal;
}

body.page-tbird .tbird-empty p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

/* T-Bird individual memory */

body.page-tbird-memory .tbird-memory {
    max-width: 900px;
    margin: 0 auto;
    padding: 68px 28px 90px;
}

body.page-tbird-memory .tbird-memory-heading {
    max-width: 760px;
    margin: 0 auto 38px;
    text-align: center;
}

body.page-tbird-memory .tbird-memory-heading h1 {
    margin: 10px 0 0;
    color: var(--forest-dark);
    font-size: clamp(48px, 7vw, 72px);
    font-weight: normal;
    line-height: 1.05;
    letter-spacing: -2px;
}

body.page-tbird-memory .tbird-memory-photo {
    margin: 0 0 42px;
    padding: 11px;
    background: var(--paper-light);
    border: 1px solid var(--line);
}

body.page-tbird-memory .tbird-memory-photo img {
    display: block;
    width: 100%;
    height: auto;
}

body.page-tbird-memory .tbird-memory-photo figcaption {
    padding: 13px 6px 3px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
}

body.page-tbird-memory .tbird-memory-story {
    max-width: 760px;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1.85;
}

body.page-tbird-memory .tbird-memory-story p {
    margin: 0 0 1.35em;
}

body.page-tbird-memory .tbird-memory-bottom {
    max-width: 760px;
    margin: 45px auto 0;
    padding-top: 25px;
    border-top: 1px solid var(--line);
}

body.page-tbird-memory .tbird-memory-bottom a {
    color: var(--forest);
    text-decoration: none;
    font-weight: bold;
}

/* T-Bird footer */

body.page-tbird .tbird-footer,
body.page-tbird-memory .tbird-footer {
    background:
        linear-gradient(
            135deg,
            #29352b 0%,
            #344235 50%,
            #273329 100%
        );
    color: #eae5da;
    padding: 29px 20px 34px;
    text-align: center;
    font-size: 15px;
}

body.page-tbird .tbird-footer-ornament,
body.page-tbird-memory .tbird-footer-ornament {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

body.page-tbird .tbird-footer-ornament span,
body.page-tbird-memory .tbird-footer-ornament span {
    width: 95px;
    height: 1px;
    background: rgba(234,229,218,.35);
}

body.page-tbird .tbird-footer-ornament img,
body.page-tbird-memory .tbird-footer-ornament img {
    width: 30px;
    height: 34px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: .8;
}

@media (max-width: 650px) {

    body.page-tbird .tbird-header-inner,
    body.page-tbird-memory .tbird-header-inner {
        padding: 16px 20px;
    }

    body.page-tbird .tbird-brand,
    body.page-tbird-memory .tbird-brand {
        font-size: 27px;
    }

    body.page-tbird .tbird-brand img,
    body.page-tbird-memory .tbird-brand img {
        width: 41px;
        height: 46px;
    }

    body.page-tbird .tbird-hero {
        min-height: 290px;
        background-position: 60% center;
    }

    body.page-tbird .tbird-hero-inner {
        padding: 54px 20px;
    }

    body.page-tbird .tbird-hero p {
        max-width: 92%;
        font-size: 18px;
    }

    body.page-tbird .tbird-main {
        padding: 45px 20px 70px;
    }

    body.page-tbird .tbird-gallery {
        columns: 1;
    }

    body.page-tbird-memory .tbird-memory {
        padding: 48px 20px 70px;
    }

    body.page-tbird-memory .tbird-memory-story {
        font-size: 18px;
    }

    body.page-tbird .tbird-footer,
    body.page-tbird-memory .tbird-footer {
        font-size: 14px;
        line-height: 1.5;
    }

    body.page-tbird .tbird-footer-ornament span,
    body.page-tbird-memory .tbird-footer-ornament span {
        width: 65px;
    }
}


/* =========================================================
   T-BIRD WRITING
========================================================= */

body.page-tbird .tbird-section {
    margin-bottom: 72px;
}

body.page-tbird .tbird-section:last-child {
    margin-bottom: 0;
}

body.page-tbird .tbird-section-heading {
    max-width: 720px;
    margin: 0 0 30px;
}

body.page-tbird .tbird-section-heading h2 {
    margin: 7px 0 8px;
    color: var(--forest-dark);
    font-size: 43px;
    font-weight: normal;
    line-height: 1.1;
}

body.page-tbird .tbird-section-heading p {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.65;
}

body.page-tbird .tbird-writing-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

body.page-tbird .tbird-writing-card {
    padding: 28px;
    background: var(--paper-light);
    border: 1px solid var(--line);
    box-shadow: 0 4px 18px rgba(38,48,40,.05);
}

body.page-tbird .tbird-writing-card h3 {
    margin: 0;
    color: var(--forest-dark);
    font-size: 31px;
    font-weight: normal;
    line-height: 1.15;
}

body.page-tbird .tbird-writing-card h3 a {
    color: inherit;
    text-decoration: none;
}

body.page-tbird .tbird-audio-badge {
    display: inline-block;
    margin-top: 14px;
    padding: 6px 9px;
    background: #edf0e8;
    color: var(--forest);
    border-radius: 20px;
    font: 12px Arial, Helvetica, sans-serif;
}

body.page-tbird .tbird-memory-section {
    padding-top: 8px;
    border-top: 1px solid var(--line);
}

/* T-Bird writing detail */

body.page-tbird-read {
    background: var(--paper);
    color: var(--ink);
}

body.page-tbird-read .tbird-header {
    background: var(--paper-light);
    border-bottom: 1px solid var(--line);
}

body.page-tbird-read .tbird-header-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 18px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
}

body.page-tbird-read .tbird-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--forest-dark);
    text-decoration: none;
    font-size: 31px;
}

body.page-tbird-read .tbird-brand img {
    width: 48px;
    height: 54px;
    object-fit: contain;
}

body.page-tbird-read .tbird-return {
    color: var(--forest);
    text-decoration: none;
    font-size: 15px;
    font-weight: bold;
}

body.page-tbird-read .tbird-writing-detail {
    max-width: 850px;
    margin: 0 auto;
    padding: 70px 28px 92px;
}

body.page-tbird-read .tbird-writing-heading {
    max-width: 760px;
    margin: 0 auto 40px;
    text-align: center;
}

body.page-tbird-read .tbird-eyebrow {
    color: var(--moss);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 3px;
    text-transform: uppercase;
}

body.page-tbird-read .tbird-writing-heading h1 {
    margin: 10px 0 14px;
    color: var(--forest-dark);
    font-size: clamp(48px, 7vw, 72px);
    font-weight: normal;
    line-height: 1.05;
    letter-spacing: -2px;
}

body.page-tbird-read .tbird-writing-intro {
    max-width: 650px;
    margin: 18px auto 0;
    color: #5d5a52;
    font-size: 20px;
    font-style: italic;
    line-height: 1.65;
}

body.page-tbird-read .tbird-meta {
    margin-top: 15px;
    color: var(--muted);
    font: 12px Arial, Helvetica, sans-serif;
}

body.page-tbird-read .tbird-player {
    max-width: 700px;
    margin: 0 auto 36px;
    padding: 20px;
    background: var(--paper-light);
    border: 1px solid var(--line);
}

body.page-tbird-read .tbird-player-label {
    margin-bottom: 10px;
    color: var(--moss);
    font: bold 11px Arial, Helvetica, sans-serif;
    letter-spacing: 2px;
    text-transform: uppercase;
}

body.page-tbird-read .tbird-player audio {
    width: 100%;
}

body.page-tbird-read .tbird-prose-body,
body.page-tbird-read .tbird-lyric-body {
    max-width: 720px;
    margin: 0 auto;
    color: #353630;
    font-size: 20px;
    line-height: 1.85;
}

body.page-tbird-read .tbird-prose-body p {
    margin: 0 0 1.35em;
}

body.page-tbird-read .tbird-lyric-body {
    white-space: normal;
    text-align: left;
    line-height: 1.75;
}

body.page-tbird-read .tbird-endmark {
    margin: 48px auto 0;
    text-align: center;
}

body.page-tbird-read .tbird-endmark img {
    width: 38px;
    height: 43px;
    object-fit: contain;
    opacity: .7;
}

body.page-tbird-read .tbird-memory-bottom {
    max-width: 720px;
    margin: 34px auto 0;
    padding-top: 24px;
    border-top: 1px solid var(--line);
}

body.page-tbird-read .tbird-memory-bottom a {
    color: var(--forest);
    text-decoration: none;
    font-weight: bold;
}

body.page-tbird-read .tbird-footer {
    background:
        linear-gradient(
            135deg,
            #29352b 0%,
            #344235 50%,
            #273329 100%
        );
    color: #eae5da;
    padding: 29px 20px 34px;
    text-align: center;
    font-size: 15px;
}

body.page-tbird-read .tbird-footer-ornament {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

body.page-tbird-read .tbird-footer-ornament span {
    width: 95px;
    height: 1px;
    background: rgba(234,229,218,.35);
}

body.page-tbird-read .tbird-footer-ornament img {
    width: 30px;
    height: 34px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: .8;
}

@media (max-width: 700px) {
    body.page-tbird .tbird-writing-grid {
        grid-template-columns: 1fr;
    }

    body.page-tbird .tbird-section-heading h2 {
        font-size: 36px;
    }

    body.page-tbird-read .tbird-header-inner {
        padding: 16px 20px;
    }

    body.page-tbird-read .tbird-brand {
        font-size: 27px;
    }

    body.page-tbird-read .tbird-brand img {
        width: 41px;
        height: 46px;
    }

    body.page-tbird-read .tbird-writing-detail {
        padding: 50px 20px 72px;
    }

    body.page-tbird-read .tbird-prose-body,
    body.page-tbird-read .tbird-lyric-body {
        font-size: 18px;
    }

    body.page-tbird-read .tbird-footer-ornament span {
        width: 65px;
    }
}


/* =========================================================
   T-BIRD COLLECTION FILTER MENU
========================================================= */

body.page-tbird .tbird-brand-static {
    cursor: default;
}

body.page-tbird .tbird-filter-nav {
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(252,250,245,.97);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 3px 14px rgba(38,48,40,.05);
    backdrop-filter: blur(8px);
}

body.page-tbird .tbird-filter-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 28px;
    display: flex;
    align-items: stretch;
    gap: 4px;
    overflow-x: auto;
    scrollbar-width: thin;
}

body.page-tbird .tbird-filter {
    flex: 0 0 auto;
    appearance: none;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: var(--muted);
    padding: 17px 14px 14px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
    white-space: nowrap;
}

body.page-tbird .tbird-filter:hover {
    color: var(--forest-dark);
}

body.page-tbird .tbird-filter.active {
    color: var(--forest-dark);
    border-bottom-color: var(--forest);
}

body.page-tbird .tbird-filter span {
    display: inline-flex;
    min-width: 22px;
    height: 22px;
    margin-left: 5px;
    padding: 0 6px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #e9e4da;
    color: var(--moss);
    font-size: 11px;
}

body.page-tbird .tbird-filter.active span {
    background: var(--forest);
    color: #fff;
}

body.page-tbird [data-tbird-type][hidden],
body.page-tbird [data-tbird-section][hidden] {
    display: none !important;
}

@media (max-width: 650px) {
    body.page-tbird .tbird-filter-inner {
        padding: 0 12px;
    }

    body.page-tbird .tbird-filter {
        padding: 15px 11px 12px;
        font-size: 12px;
    }
}


/* =========================================================
   T-BIRD RECIPES + CHAT
========================================================= */

body.page-tbird .tbird-recipe-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

body.page-tbird .tbird-recipe-card {
    overflow: hidden;
    background: var(--paper-light);
    border: 1px solid var(--line);
    box-shadow: 0 4px 18px rgba(38,48,40,.05);
}

body.page-tbird .tbird-recipe-thumb {
    display: block;
    background: #e8e2d6;
}

body.page-tbird .tbird-recipe-thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

body.page-tbird .tbird-recipe-copy {
    padding: 24px;
}

body.page-tbird .tbird-recipe-card h3 {
    margin: 0;
    color: var(--forest-dark);
    font-size: 30px;
    font-weight: normal;
}

body.page-tbird .tbird-recipe-card h3 a {
    color: inherit;
    text-decoration: none;
}

body.page-tbird .tbird-recipe-card-meta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 14px;
    color: var(--muted);
    font: 12px Arial, Helvetica, sans-serif;
}

/* Chat */

body.page-tbird .tbird-chat-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 26px;
    align-items: start;
}

body.page-tbird .tbird-chat-messages {
    max-height: 590px;
    overflow-y: auto;
    padding: 18px;
    background: var(--paper-light);
    border: 1px solid var(--line);
}

body.page-tbird .tbird-chat-message {
    margin-bottom: 14px;
    padding: 14px 15px;
    background: #f5f0e6;
    border-left: 3px solid var(--moss);
}

body.page-tbird .tbird-chat-message:last-child {
    margin-bottom: 0;
}

body.page-tbird .tbird-chat-meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7px;
    color: var(--muted);
    font: 12px Arial, Helvetica, sans-serif;
}

body.page-tbird .tbird-chat-meta strong {
    color: var(--forest-dark);
    font-size: 13px;
}

body.page-tbird .tbird-chat-text {
    font-size: 16px;
    line-height: 1.65;
}

body.page-tbird .tbird-chat-empty {
    color: var(--muted);
    text-align: center;
    padding: 35px 15px;
}

body.page-tbird .tbird-chat-form {
    padding: 22px;
    background: var(--paper-light);
    border: 1px solid var(--line);
}

body.page-tbird .tbird-chat-form label {
    display: block;
    margin: 0 0 6px;
    color: var(--forest-dark);
    font-weight: bold;
    font-size: 14px;
}

body.page-tbird .tbird-chat-form input,
body.page-tbird .tbird-chat-form textarea {
    width: 100%;
    margin: 0 0 16px;
    padding: 11px 12px;
    border: 1px solid #bdb5a8;
    background: #fff;
    color: var(--ink);
    font: 15px Georgia, "Times New Roman", serif;
}

body.page-tbird .tbird-chat-form textarea {
    min-height: 145px;
    resize: vertical;
}

body.page-tbird .tbird-chat-form button {
    border: 0;
    background: var(--forest);
    color: #fff;
    padding: 11px 17px;
    cursor: pointer;
    font-weight: bold;
}

body.page-tbird .tbird-chat-note {
    margin-top: 10px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

body.page-tbird .tbird-chat-success,
body.page-tbird .tbird-chat-error {
    margin-bottom: 14px;
    padding: 10px 12px;
    font-size: 13px;
}

body.page-tbird .tbird-chat-success {
    background: #e2eedf;
    border-left: 3px solid var(--success);
}

body.page-tbird .tbird-chat-error {
    background: #f5dddd;
    border-left: 3px solid var(--error);
}

body.page-tbird .tbird-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* T-Bird recipe detail */

body.page-tbird-recipe {
    background: var(--paper);
    color: var(--ink);
}

body.page-tbird-recipe .tbird-header {
    background: var(--paper-light);
    border-bottom: 1px solid var(--line);
}

body.page-tbird-recipe .tbird-header-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 18px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
}

body.page-tbird-recipe .tbird-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--forest-dark);
    text-decoration: none;
    font-size: 31px;
}

body.page-tbird-recipe .tbird-brand img {
    width: 48px;
    height: 54px;
    object-fit: contain;
}

body.page-tbird-recipe .tbird-return {
    color: var(--forest);
    text-decoration: none;
    font-weight: bold;
    font-size: 15px;
}

body.page-tbird-recipe .tbird-recipe-detail {
    max-width: 850px;
    margin: 0 auto;
    padding: 68px 28px 90px;
}

body.page-tbird-recipe .tbird-writing-heading {
    text-align: center;
}

body.page-tbird-recipe .tbird-eyebrow {
    color: var(--moss);
    font: bold 11px Arial, Helvetica, sans-serif;
    letter-spacing: 3px;
    text-transform: uppercase;
}

body.page-tbird-recipe .tbird-writing-heading h1 {
    margin: 10px 0 14px;
    color: var(--forest-dark);
    font-size: clamp(48px, 7vw, 72px);
    font-weight: normal;
}

body.page-tbird-recipe .tbird-writing-intro {
    max-width: 650px;
    margin: 0 auto;
    color: var(--muted);
    font-size: 19px;
    line-height: 1.6;
}

body.page-tbird-recipe .tbird-recipe-meta {
    display: flex;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 17px;
    color: var(--muted);
    font: 12px Arial, Helvetica, sans-serif;
}

body.page-tbird-recipe .tbird-recipe-image {
    margin: 36px 0;
    padding: 10px;
    background: var(--paper-light);
    border: 1px solid var(--line);
}

body.page-tbird-recipe .tbird-recipe-image img {
    display: block;
    width: 100%;
    height: auto;
}

body.page-tbird-recipe .tbird-recipe-section {
    max-width: 720px;
    margin: 42px auto 0;
}

body.page-tbird-recipe .tbird-recipe-section h2 {
    margin: 0 0 16px;
    color: var(--forest-dark);
    font-size: 31px;
    font-weight: normal;
}

body.page-tbird-recipe .tbird-recipe-section ul {
    padding-left: 23px;
    font-size: 18px;
    line-height: 1.75;
}

body.page-tbird-recipe .tbird-recipe-directions,
body.page-tbird-recipe .tbird-recipe-section p {
    font-size: 18px;
    line-height: 1.8;
}

body.page-tbird-recipe .tbird-memory-bottom {
    max-width: 720px;
    margin: 45px auto 0;
    padding-top: 24px;
    border-top: 1px solid var(--line);
}

body.page-tbird-recipe .tbird-memory-bottom a {
    color: var(--forest);
    text-decoration: none;
    font-weight: bold;
}

body.page-tbird-recipe .tbird-footer {
    background: linear-gradient(135deg,#29352b 0%,#344235 50%,#273329 100%);
    color:#eae5da;
    padding:29px 20px 34px;
    text-align:center;
}

body.page-tbird-recipe .tbird-footer-ornament {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:14px;
    margin-bottom:14px;
}

body.page-tbird-recipe .tbird-footer-ornament span {
    width:95px;
    height:1px;
    background:rgba(234,229,218,.35);
}

body.page-tbird-recipe .tbird-footer-ornament img {
    width:30px;
    height:34px;
    object-fit:contain;
    filter:brightness(0) invert(1);
    opacity:.8;
}

@media(max-width:750px){
    body.page-tbird .tbird-recipe-grid{grid-template-columns:1fr}
    body.page-tbird .tbird-chat-shell{grid-template-columns:1fr}
    body.page-tbird .tbird-chat-messages{max-height:430px}
    body.page-tbird-recipe .tbird-header-inner{padding:16px 20px}
    body.page-tbird-recipe .tbird-recipe-detail{padding:50px 20px 72px}
}


/* =========================================================
   WRITING IMAGES — EDITORIAL LAYOUT
========================================================= */

/* Writing archive: photograph left, writing right */
body.page-writing .post.post-with-image {
    display: grid;
    grid-template-columns: minmax(220px, 38%) 1fr;
    gap: 34px;
    align-items: stretch;
}

body.page-writing .post-image-link {
    display: block;
    min-height: 250px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--paper);
}

body.page-writing .post-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 250px;
    object-fit: cover;
    transition: transform .35s ease;
}

body.page-writing .post-image-link:hover .post-image {
    transform: scale(1.025);
}

body.page-writing .post-copy {
    align-self: center;
    min-width: 0;
}

/* Full writing page: cinematic photograph with restrained text overlay */
body.page-read .writing-hero {
    position: relative;
    max-width: 940px;
    min-height: 480px;
    margin: 0 auto 54px;
    overflow: hidden;
    border-radius: 10px;
    background: var(--forest-dark);
    box-shadow: 0 18px 44px rgba(38,48,40,.13);
}

body.page-read .writing-hero > img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 480px;
    max-height: 720px;
    object-fit: cover;
}

body.page-read .writing-hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(20,25,21,.78) 0%, rgba(20,25,21,.32) 46%, rgba(20,25,21,.04) 72%);
}

body.page-read .writing-hero-copy {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 46px 52px;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

body.page-read .writing-hero-type,
body.page-tbird-read .tbird-writing-hero-type {
    margin-bottom: 10px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 2.2px;
    text-transform: uppercase;
    opacity: .88;
}

body.page-read .writing-hero-title,
body.page-tbird-read .tbird-writing-hero-title {
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.05;
}

body.page-read .writing-hero-lines,
body.page-tbird-read .tbird-writing-hero-lines {
    max-width: 680px;
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.55;
    font-style: italic;
}

/* T-Bird full writing page */
body.page-tbird-read .tbird-writing-hero {
    position: relative;
    max-width: 940px;
    min-height: 460px;
    margin: 8px auto 48px;
    overflow: hidden;
    border-radius: 10px;
    background: #263028;
    box-shadow: 0 18px 44px rgba(38,48,40,.14);
}

body.page-tbird-read .tbird-writing-hero > img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 460px;
    max-height: 720px;
    object-fit: cover;
}

body.page-tbird-read .tbird-writing-hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(20,25,21,.80) 0%, rgba(20,25,21,.30) 48%, rgba(20,25,21,.03) 74%);
}

body.page-tbird-read .tbird-writing-hero-copy {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 42px 48px;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

/* T-Bird landing cards when writing has a photograph */
body.page-tbird .tbird-card:has(.tbird-card-image) {
    display: grid;
    grid-template-columns: minmax(150px, 34%) 1fr;
    gap: 24px;
    align-items: stretch;
}

body.page-tbird .tbird-card-image-link {
    display: block;
    overflow: hidden;
    border-radius: 7px;
}

body.page-tbird .tbird-card-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 190px;
    object-fit: cover;
}

body.page-tbird .tbird-card-copy {
    align-self: center;
    min-width: 0;
}

@media (max-width: 700px) {
    body.page-writing .post.post-with-image,
    body.page-tbird .tbird-card:has(.tbird-card-image) {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    body.page-writing .post-image-link,
    body.page-writing .post-image {
        min-height: 220px;
        max-height: 330px;
    }

    body.page-read .writing-hero,
    body.page-tbird-read .tbird-writing-hero {
        min-height: 390px;
        margin-bottom: 38px;
        border-radius: 7px;
    }

    body.page-read .writing-hero > img,
    body.page-tbird-read .tbird-writing-hero > img {
        min-height: 390px;
    }

    body.page-read .writing-hero-copy,
    body.page-tbird-read .tbird-writing-hero-copy {
        padding: 30px 26px;
    }

    body.page-read .writing-hero-lines,
    body.page-tbird-read .tbird-writing-hero-lines {
        font-size: 16px;
    }
}


/* =========================================================
   THE QUIET PROFESSIONALS — VETERANS ARCHIVE
   Scoped to body.page-veterans to protect other site pages.
========================================================= */
body.page-veterans { background: var(--paper-light); color: var(--ink); min-height: 100vh; }
body.page-veterans .vwrap { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
body.page-veterans .vtop { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 19px max(24px, calc((100vw - 1120px)/2)); background: var(--paper-light); border-bottom: 1px solid var(--line); font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: 700; }
body.page-veterans .vtop a { color: var(--forest); text-decoration: none; }
body.page-veterans .vtop a:last-child { border: 1px solid var(--forest); border-radius: 4px; padding: 11px 15px; }
body.page-veterans .vtop a:hover { text-decoration: underline; }
body.page-veterans .vhero { min-height: 345px; display: flex; align-items: center; color: var(--forest-dark); background: linear-gradient(90deg, rgba(244,239,229,.98) 0%, rgba(244,239,229,.90) 38%, rgba(244,239,229,.46) 70%, rgba(244,239,229,.20) 100%), url('../images/tree-grove.webp') center 48% / cover no-repeat; border-bottom: 1px solid var(--line); }
body.page-veterans .vhero .vwrap { padding-block: 65px; }
body.page-veterans .vhero small { display: block; color: var(--forest); font: 700 11px/1.6 Arial, Helvetica, sans-serif; letter-spacing: 3px; }
body.page-veterans .vhero h1 { max-width: 850px; margin: 15px 0 18px; font-size: clamp(45px, 7vw, 84px); font-weight: 400; letter-spacing: -2px; line-height: 1.05; }
body.page-veterans .vhero p { margin: 0; color: var(--bark); font-size: clamp(17px, 2.2vw, 23px); line-height: 1.5; }
body.page-veterans main.vwrap { padding-block: 65px 95px; }
body.page-veterans .vintro { max-width: 750px; margin-bottom: 35px; }
body.page-veterans .vintro h2 { margin: 0 0 13px; color: var(--forest-dark); font-size: clamp(30px, 4vw, 43px); font-weight: 400; }
body.page-veterans .vintro p { margin: 0; color: var(--muted); font-size: 19px; line-height: 1.7; }
body.page-veterans .vgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 25px; }
body.page-veterans .vcard { overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: #fffdf8; box-shadow: 0 4px 14px rgba(30,36,28,.035); }
body.page-veterans .vcard img { display: block; width: 100%; height: 230px; object-fit: cover; }
body.page-veterans .vpad { padding: 26px; }
body.page-veterans .vpad small { color: var(--moss); font: 700 11px/1.5 Arial, Helvetica, sans-serif; letter-spacing: 1px; text-transform: uppercase; }
body.page-veterans .vpad h3 { margin: 11px 0; color: var(--forest-dark); font-size: 29px; font-weight: 400; line-height: 1.2; }
body.page-veterans .vpad h3 a { text-decoration: none; }
body.page-veterans .vpad p { color: var(--muted); font-size: 16px; line-height: 1.7; }
body.page-veterans .vpad > a { color: var(--forest); font-size: 15px; font-weight: 700; text-decoration: none; }
body.page-veterans .vpad a:hover { text-decoration: underline; }
body.page-veterans main.vwrap > p { padding: 28px 30px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); color: var(--muted); font-size: 18px; line-height: 1.65; }
@media (max-width: 620px) {
  body.page-veterans .vwrap { width: min(100% - 36px, 1120px); }
  body.page-veterans .vtop { padding: 15px 18px; font-size: 12px; }
  body.page-veterans .vhero { min-height: 290px; background-position: 60% center; }
  body.page-veterans .vhero .vwrap { padding-block: 52px; }
  body.page-veterans .vhero h1 { letter-spacing: -1px; }
  body.page-veterans main.vwrap { padding-block: 45px 65px; }
}


/* =========================================================
   THE QUIET PROFESSIONALS — HERITAGE EDITION (2026-10)
   WWII-era editorial treatment; honors all service eras.
   All selectors scoped to page-veterans.
========================================================= */
body.page-veterans {background:#ede3ce;color:#29291f;background-image:repeating-linear-gradient(0deg,rgba(88,68,38,.018) 0,rgba(88,68,38,.018) 1px,transparent 1px,transparent 5px);}
body.page-veterans .vtop{background:#f7f0df;border-bottom:3px double #b9a988;box-shadow:0 2px 12px #30281813;}
body.page-veterans .vtop .vbrand{font-family:Georgia,serif;font-size:24px;letter-spacing:-.6px;color:#253829;text-decoration:none;}
body.page-veterans .vtop .vbrand img{width:30px;height:35px;object-fit:contain;vertical-align:middle;margin-right:9px;}
body.page-veterans .vtop .vsubmit{background:#304334;color:#fff;border:1px solid #304334;border-radius:2px;padding:11px 17px;text-decoration:none;text-transform:uppercase;letter-spacing:1px;font-size:11px;}
body.page-veterans .vtop .vsubmit:hover{background:#1e2e23;text-decoration:none;}
body.page-veterans .vhero{min-height:510px;text-align:center;position:relative;overflow:hidden;color:#222c22;background:linear-gradient(90deg,rgba(40,46,31,.87),rgba(53,62,43,.55) 20%,rgba(240,225,195,.93) 50%,rgba(53,62,43,.55) 80%,rgba(40,46,31,.87)),linear-gradient(135deg,#77755c,#e8d9b7 50%,#79775b);border-bottom:7px solid #394734;}
body.page-veterans .vhero:before{content:"";position:absolute;inset:0;opacity:.2;pointer-events:none;background:repeating-linear-gradient(35deg,transparent 0 42px,#fff 43px 44px,transparent 45px 90px);}
body.page-veterans .vhero .vwrap{position:relative;padding:75px 0 65px;}
body.page-veterans .vhero .vstars{font-size:25px;letter-spacing:15px;color:#766443;margin:0 0 18px;}
body.page-veterans .vhero small{font-size:12px;letter-spacing:4px;color:#3d4935;}
body.page-veterans .vhero h1{max-width:none;font-size:clamp(43px,7.5vw,89px);letter-spacing:-2.7px;margin:13px 0 10px;text-shadow:0 2px 0 #ffffff4d;}
body.page-veterans .vhero .vtagline{font-size:clamp(18px,2.2vw,27px);font-style:italic;color:#384631;}
body.page-veterans .vhero .vline{height:1px;max-width:540px;background:linear-gradient(90deg,transparent,#6e654e,transparent);margin:24px auto;}
body.page-veterans .vbranches{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;max-width:940px;margin:32px auto 0;}
body.page-veterans .vbranch{text-decoration:none;color:#283b2c;display:flex;flex-direction:column;align-items:center;gap:8px;font:700 10px/1.3 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;}
body.page-veterans .vbranch .vseal{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;border:4px double #c7a65f;box-shadow:0 2px 0 #f7eed7,0 4px 13px #211e1838;background:#2e4433;color:#f6e4b8;font:700 24px Georgia,serif;transition:transform .2s;}
body.page-veterans .vbranch:hover .vseal{transform:translateY(-4px);}
body.page-veterans .vbranch.active .vseal{background:#775c35;outline:2px solid #fff6e6;outline-offset:3px;}
body.page-veterans main.vwrap{padding:58px 0 95px;}
body.page-veterans .vcontent{display:grid;grid-template-columns:minmax(240px,330px) minmax(0,1fr);gap:54px;align-items:start;}
body.page-veterans .vintro{margin:0;}
body.page-veterans .vintro h2{font-size:clamp(32px,3.7vw,44px);line-height:1.08;margin-bottom:17px;}
body.page-veterans .vintro p{font-size:17px;color:#504c40;line-height:1.75;margin:0 0 18px;}
body.page-veterans .vdivider{color:#796740;letter-spacing:10px;font-size:17px;margin:15px 0 20px;}
body.page-veterans .vaction{display:block;text-align:center;background:#304334;border:1px solid #304334;border-radius:3px;padding:15px 16px;color:#fff;text-decoration:none;font:700 12px Arial,sans-serif;letter-spacing:1.1px;text-transform:uppercase;margin-top:11px;}
body.page-veterans .vaction.alt{background:transparent;color:#304334;}
body.page-veterans .vaction:hover{filter:brightness(.88);}
body.page-veterans .vsectionhead{display:flex;align-items:center;gap:16px;margin:3px 0 22px;}
body.page-veterans .vsectionhead:before,body.page-veterans .vsectionhead:after{content:"";height:1px;background:#b7a888;flex:1;}
body.page-veterans .vsectionhead h2{margin:0;white-space:nowrap;font-size:14px;text-transform:uppercase;letter-spacing:2px;font-weight:700;}
body.page-veterans .vgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
body.page-veterans .vcard{border:1px solid #c4b394;border-radius:1px;background:#f7efde;box-shadow:2px 3px 0 #d9c9aa;}
body.page-veterans .vcard img{height:205px;filter:sepia(.42) saturate(.7);}
body.page-veterans .vpad{padding:20px;}
body.page-veterans .vpad h3{font-size:25px;}
body.page-veterans .vpad p{color:#544e41;}
body.page-veterans .vempty{border:1px dashed #ad9d7d;padding:35px;text-align:center;background:#f7efde;color:#504c40;line-height:1.7;}
body.page-veterans .vfooter{background:#2d3d30;color:#eee5d4;text-align:center;padding:28px 20px;font-size:13px;letter-spacing:.5px;}
body.page-veterans .vfooter a{color:#eee5d4;}
@media(max-width:900px){body.page-veterans .vbranches{grid-template-columns:repeat(3,1fr);max-width:510px;row-gap:20px;}body.page-veterans .vcontent{grid-template-columns:1fr;gap:40px;}body.page-veterans .vintro{max-width:700px;}}
@media(max-width:600px){body.page-veterans .vtop{padding:14px 20px;flex-wrap:wrap;}body.page-veterans .vtop .vbrand{font-size:21px;}body.page-veterans .vhero{min-height:0;}body.page-veterans .vhero .vwrap{padding:55px 0;}body.page-veterans .vhero h1{letter-spacing:-1.3px;}body.page-veterans .vbranches{gap:15px 4px;}body.page-veterans .vbranch .vseal{width:58px;height:58px;font-size:19px;}body.page-veterans .vbranch{font-size:9px;letter-spacing:.4px;}body.page-veterans .vgrid{grid-template-columns:1fr;}body.page-veterans main.vwrap{padding:40px 0 65px;}body.page-veterans .vsectionhead h2{font-size:11px;letter-spacing:1px;}}


/* QUIET PROFESSIONALS — AUTHENTIC BRANCH INSIGNIA + VINTAGE FLAG */
body.page-veterans .vhero {
  background-image:
    linear-gradient(90deg,rgba(31,38,28,.72),rgba(226,207,167,.84) 23%,rgba(240,223,189,.94) 50%,rgba(226,207,167,.84) 77%,rgba(31,38,28,.72)),
    repeating-linear-gradient(0deg, #8b473a 0 27px,#d5c29d 27px 54px),
    linear-gradient(130deg,#313f38,#ab9472);
  background-blend-mode:normal,multiply,normal;
}
body.page-veterans .vhero:before {
  opacity:.21;
  background: radial-gradient(circle at 10% 20%,#fff 0 2px,transparent 3px) 0 0/38px 38px,
  linear-gradient(90deg,#233c49 0 31%,transparent 31%);
  mask-image:linear-gradient(90deg,#000,transparent 47%);
}
body.page-veterans .vbranch .vseal {
  width:102px;height:102px;padding:5px;border:1px solid #a58b5a;
  background:rgba(246,232,199,.66);box-shadow:0 3px 12px #201a1238;
  overflow:hidden;transition:transform .2s ease,background .2s ease;
}
body.page-veterans .vbranch .vseal img {width:100%;height:100%;object-fit:contain;display:block;filter:sepia(.13) saturate(.82) contrast(1.08);}
body.page-veterans .vbranch.active .vseal {background:#e1c88f;outline:2px solid #4a5137;outline-offset:3px;}
body.page-veterans .vbranches{max-width:1060px;gap:14px;}
body.page-veterans .vbranch{font-size:11px;color:#263328;text-shadow:0 1px 0 #fff9e2;}
body.page-veterans .vhero .vwrap{padding-top:57px;padding-bottom:55px;}
body.page-veterans .vhero h1{text-shadow:0 2px 1px #f7e8c2;}
@media(max-width:700px){body.page-veterans .vbranch .vseal{width:78px;height:78px;}body.page-veterans .vbranches{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 8px;}body.page-veterans .vhero{background-position:center;}}
@media(max-width:380px){body.page-veterans .vbranch .vseal{width:66px;height:66px;}body.page-veterans .vbranch{font-size:9px;}}


/* =========================================================
   QUIET PROFESSIONALS — PHOTOGRAPHIC HERITAGE HERO
   Uses actual HTML for titles, seals and links; the artwork
   is decorative and contains no site text or fabricated stories.
========================================================= */
body.page-veterans .vhero{
  background-image:linear-gradient(90deg,rgba(23,29,21,.12),rgba(241,224,187,.04) 28%,rgba(241,224,187,.04) 72%,rgba(23,29,21,.1)),url('/assets/images/qp/heritage-hero.webp');
  background-size:cover; background-position:center center; background-repeat:no-repeat;
  border-bottom:7px solid #344235;
}
body.page-veterans .vhero:before{content:none;}
body.page-veterans .vhero .vwrap{width:min(100% - 44px,1180px);padding-top:49px;padding-bottom:43px;}
body.page-veterans .vhero h1{font-size:clamp(44px,6.8vw,87px);line-height:1.05;text-shadow:0 1px 0 rgba(255,249,224,.7),0 2px 9px rgba(247,233,202,.65);}
body.page-veterans .vhero .vstars{margin-bottom:10px;color:#76562d;text-shadow:0 1px #f9e9c9;}
body.page-veterans .vhero small{color:#27392d;font-weight:700;}
body.page-veterans .vbranches{max-width:980px;margin-top:24px;}
body.page-veterans .vbranch .vseal{background:rgba(238,217,176,.78);border:2px solid #94733d;box-shadow:0 3px 12px #1c211b6b;}
body.page-veterans .vbranch .vseal img{filter:sepia(.12) saturate(.86) contrast(1.07);}
body.page-veterans .vbranch{color:#17261b;text-shadow:0 1px 2px #f8e6c0;}
body.page-veterans .vhero .vline{margin:15px auto;}
@media(max-width:900px){body.page-veterans .vhero{background-position:50% center;}body.page-veterans .vhero .vwrap{padding-top:42px;padding-bottom:42px;}body.page-veterans .vbranches{max-width:550px;}}
@media(max-width:600px){body.page-veterans .vhero{background-image:linear-gradient(rgba(235,216,177,.81),rgba(235,216,177,.87)),url('/assets/images/qp/heritage-hero.webp');background-position:center;}body.page-veterans .vhero .vwrap{width:min(100% - 32px,1180px);padding-top:38px;padding-bottom:42px;}body.page-veterans .vhero h1{font-size:clamp(42px,10vw,62px);}body.page-veterans .vhero .vstars{letter-spacing:6px;font-size:18px;}body.page-veterans .vhero small{letter-spacing:2px;font-size:10px;}body.page-veterans .vbranches{margin-top:24px;}}


/* =========================================================
   THE QUIET PROFESSIONALS — FULL ARCHIVAL CARD PHOTOGRAPHS
   Preserve original aspect ratios; never crop historical portraits.
   Keep this rule after the vintage archive theme overrides.
========================================================= */
body.page-veterans .vcard img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center;
}
