/* =====================================================================
   site.css — page-specific styles, one labelled section per page.
   Common styles (tokens, header, footer, buttons, shop) live in style.css.
   Load order: style.css, then site.css.
   Colliding class names are scoped with <body class="page-..."> (main.php).
   ===================================================================== */

/* =====================================================================
   0. GLOBAL ADDITIONS (missing from style.css)
   ===================================================================== */
header{background:var(--cream);}   /* transparent-header rule in style.css still wins on the home hero */
.nav-side a:hover{border-color:currentColor;}
.nav-side a.current{border-color:currentColor;}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--sage-deep);outline-offset:3px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.tone-sage{background:var(--sage);}
.tone-rose{background:var(--rose);}
.tone-gold{background:var(--gold);}

/* =====================================================================
   1. PAGE: HOME
   ===================================================================== */

/* ---------------- Hero ---------------- */
.page-home .hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:center;justify-content:flex-end;text-align:center;overflow:hidden;padding-right:8vw;}
@supports (height:100svh){.page-home .hero{height:100svh;}}
.page-home .hero-bg{
    position:absolute;inset:0;
    background-image:
        linear-gradient(180deg,rgba(60,48,42,.35) 0%,rgba(60,48,42,.15) 45%,rgba(60,48,42,.55) 100%),
        url('../../gallery/hero2.jpg');   /* = /assets/gallery/hero2.jpg */
    background-repeat:no-repeat,no-repeat;
    background-size:cover,cover;
    background-position:center center,center center;
}
/* Phone crop: nudge the vertical anchor so Cheryl stays in frame (try 20-45%) */
@media (max-width:820px){.page-home .hero-bg{background-position:center center,right 35%;}}
.page-home .hero-content{position:relative;color:#fff;padding:0 24px;max-width:740px;animation:heroIn 1.1s ease both;}
.page-home .hero-content .eyebrow{color:rgba(255,255,255,.85);}
.page-home .hero-content h1{margin-top:22px;font-size:clamp(40px,5.6vw,70px);font-style:italic;line-height:1.15;max-width:22ch;}
.page-home .hero-content p{margin:26px auto 0;max-width:52ch;font-size:18.5px;color:rgba(255,255,255,.9);}
.page-home .hero-content .btn{margin-top:36px;}
.page-home .scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);color:#fff;font-size:11px;letter-spacing:.25em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:.85;}
.page-home .scroll-cue span{width:1px;height:34px;background:rgba(255,255,255,.7);}
@keyframes heroIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@media (max-width:820px){
    /* Hero: photo stays at the top, text sits at the bottom over the green */
    .page-home .hero{
        align-items:flex-end;          /* push the text block to the bottom */
        justify-content:center;
        text-align:center;
        padding:0 0 48px;
    }
    
    .dualbutton {
    margin-top: 15px!important }
    
    
    .page-home .hero-bg{
        background-image:
            linear-gradient(180deg,rgba(60,48,42,0) 0%,rgba(60,48,42,0) 40%,rgba(40,52,24,.78) 72%,rgba(40,52,24,.92) 100%),
            url('../../gallery/hero2.jpg');
        background-position:center center,center top;   /* keep Cheryl in frame */
    }
    .page-home .hero-content{padding:0 24px;max-width:none;width:100%;}
    .page-home .hero-content h1{
        margin:14px auto 0;
        font-size:clamp(30px,8.5vw,40px);
        line-height:1.15;
    }

    /* Remove the description paragraph */
    .page-home .hero-content p{display:none;}

    /* Buttons: stacked, same width */
    .page-home .hero-content .btn{
        display:block;
        width:100%;
        max-width:280px;
        margin:14px auto 0;
        text-align:center;
    }
    .page-home .hero-content h1 + .btn,
    .page-home .hero-content p + .btn{margin-top:26px;}

    /* Hide "Scroll" */
    .page-home .scroll-cue{display:none;}
    /* Smaller buttons, tighter gap between them */
    .page-home .hero-content .btn{
        max-width:220px;
        padding:11px 20px;
        font-size:11px;
        margin:8px auto 0;
    }
    .page-home .hero-content h1 + .btn,
    .page-home .hero-content p + .btn{margin-top:18px;}

    /* Tighter gap between "Featured Book" line and the heading */
    .page-home .hero-content h1{margin-top:6px;}
}


/* ---------------- Founder strip ---------------- */
.page-home .founder{padding:30px 0;border-bottom:1px solid var(--line);}
.page-home .founder .wrap{display:flex;align-items:center;justify-content:center;gap:50px;text-align:center;flex-wrap:wrap;}
.page-home .founder .divider{width:40px;height:1px;background:var(--cream);}
.page-home .founder .mark{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;color:var(--sage-deep);}
.page-home .founder .mark a{color:var(--sage-deep);text-decoration:none;cursor:pointer;position:relative;z-index:2;pointer-events:auto;border-bottom:1px solid transparent;transition:border-color .2s ease;}
.page-home .founder .mark a:hover{border-bottom-color:var(--sage-deep);}
@media (max-width:480px){.page-home .founder .wrap{gap:24px;}}

/* ---------------- Why Goat Health Care (benefit cards) ---------------- */
.page-home .why-book{padding:100px 0;background:var(--sand);}
.page-home .why-head{text-align:center;max-width:760px;margin:0 auto 56px;}
.page-home .why-head h2{margin-top:14px;font-size:clamp(30px,3.8vw,44px);font-style:italic;line-height:1.2;}
.page-home .why-head p{margin:18px auto 0;max-width:58ch;color:var(--ink-soft);font-size:17.5px;}

.page-home .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.page-home .why-card{
    background:var(--cream);
    border:1px solid var(--line);
    border-top:2px solid var(--sage-deep);
    padding:34px 28px 36px;
    text-align:center;
    box-shadow:0 18px 34px -24px rgba(75,64,56,.3);
    transition:transform .3s ease, box-shadow .3s ease;
}
.page-home .why-card:hover{transform:translateY(-5px);box-shadow:0 26px 44px -24px rgba(75,64,56,.4);}
.page-home .why-card:nth-child(2){border-top-color:var(--rose-deep);}
.page-home .why-card:nth-child(3){border-top-color:var(--gold);}
.page-home .why-icon{
    width:58px;height:58px;border-radius:50%;
    margin:0 auto 22px;
    display:flex;align-items:center;justify-content:center;
    background:var(--sage);color:#324029;
}
.page-home .why-card:nth-child(2) .why-icon{background:var(--rose);color:var(--ink);}
.page-home .why-card:nth-child(3) .why-icon{background:var(--gold);color:var(--ink);}
.page-home .why-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.page-home .why-card h3{font-size:23px;font-style:italic;line-height:1.25;}
.page-home .why-card p{margin-top:10px;color:var(--ink-soft);font-size:15.5px;line-height:1.65;}

.page-home .why-cta{text-align:center;margin-top:52px;}

@media (max-width:1000px){
    .page-home .why-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
    .page-home .why-book{padding:72px 0;}
    .page-home .why-head{margin-bottom:36px;}
    .page-home .why-grid{grid-template-columns:1fr;gap:14px;}
    /* compact row layout on phones: icon left, text right */
    .page-home .why-card{display:flex;align-items:center;gap:18px;text-align:left;padding:20px 22px;}
    .page-home .why-icon{margin:0;flex:none;width:50px;height:50px;}
    .page-home .why-card h3{font-size:20px;}
    .page-home .why-card p{margin-top:4px;font-size:14.5px;line-height:1.55;}
    .page-home .why-cta{margin-top:36px;}
}

/* ---------------- Intro ---------------- */
.page-home .intro{padding:150px 0;}
.page-home .intro .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;align-items:center;}
.page-home .intro-photo{position:relative;aspect-ratio:4/5;overflow:hidden;}
.page-home .intro-photo img{width:100%;height:100%;object-fit:cover;}
.page-home .intro-text{padding-left:90px;}
.page-home .intro-text h2{font-size:clamp(32px,3.8vw,46px);font-style:italic;line-height:1.25;}
.page-home .intro-text p{margin-top:26px;color:var(--ink-soft);max-width:50ch;font-size:18.5px;}
.page-home .intro-text .cta-link{display:inline-block;margin-top:30px;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:5px;}
@media (max-width:900px){
    .page-home .intro{padding:100px 0;}
    .page-home .intro .wrap{grid-template-columns:1fr;}
    .page-home .intro-photo{max-width:380px;margin:0 auto;}
    .page-home .intro-text{padding-left:0;margin-top:50px;text-align:center;}
    .page-home .intro-text p{margin-left:auto;margin-right:auto;}
}

/* ---------------- Books carousel ---------------- */
.page-home .books{padding:100px 0;background:var(--sand);}
.page-home .books-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:64px;}
.page-home .books-head h2{margin-top:14px;font-size:clamp(32px,4vw,48px);font-style:italic;color:var(--ink);}
.page-home .books-head p{margin:14px auto 0;color:var(--ink-soft);max-width:42ch;font-size:17px;}
.page-home .books-nav{display:flex;gap:12px;flex-shrink:0;}
.page-home .books-nav button,
.page-home .reviews-nav button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--cream);color:var(--ink);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s ease,color .25s ease,border-color .25s ease;}
.page-home .books-nav button:hover,
.page-home .reviews-nav button:hover{background:var(--ink);border-color:var(--ink);color:var(--cream);}
.page-home .books-nav button:disabled,
.page-home .reviews-nav button:disabled{opacity:.35;cursor:default;background:var(--cream);color:var(--ink);border-color:var(--line);}
.page-home .books-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(271px,21%);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:8px;-ms-overflow-style:none;scrollbar-width:none;}
.page-home .books-track::-webkit-scrollbar{display:none;}
.page-home .book-card{scroll-snap-align:start;}
.page-home .book-card-cover{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--sand);box-shadow:0 30px 60px -34px rgba(75,64,56,.4);}
.page-home .book-card-cover a{display:block;}
.page-home .book-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.page-home .book-card:hover .book-card-cover img{transform:scale(1.04);}
.page-home .book-card-tag{position:absolute;top:16px;left:16px;background:var(--cream);color:var(--ink);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;padding:6px 12px;}
.page-home .book-card-body{margin-top:22px;}
.page-home .book-card-body .eyebrow{font-size:11px;letter-spacing:.22em;color:var(--rose-deep);}
.page-home .book-card-body h3{margin-top:8px;font-size:22.5px;font-style:italic;line-height:1.3;color:var(--ink);}
.page-home .book-card-body h3 a{color:inherit;text-decoration:none;text-transform:none;letter-spacing:normal;font-size:inherit;font-style:inherit;display:inline;border-bottom:none;padding-bottom:0;margin-top:0;}
.page-home .book-card-body h3 a:hover{text-decoration:underline;}
.page-home .book-card-body p{margin-top:10px;font-size:15.5px;color:var(--ink-soft);line-height:1.6;}
.page-home .book-card-body > a{display:inline-block;margin-top:14px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px;}
.page-home .book-card-body .price-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:12px;}
.page-home .book-card-body .price-row form{margin:0;display:inline-flex;}
.page-home .book-card-body .price,
.page-home .book-card-body .price-row .book-price{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--ink);}
.page-home .book-card-body .buy-btn{font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:9px 18px;border:1px solid var(--ink);color:var(--ink);transition:background .25s ease,color .25s ease;cursor:pointer;background:none;font-family:'Jost',sans-serif;}
.page-home .book-card-body .buy-btn:hover{background:var(--ink);color:var(--cream);}
.page-home .book-card-body .buy-btn.is-disabled{opacity:.45;pointer-events:none;}
.page-home .book-card-body .price-row + a{display:none;}
.page-home .books-footer{text-align:center;margin-top:60px;}
.page-home .books-footer .cta-link{display:inline-block;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:5px;}
@media (max-width:900px){
    .page-home .books-head{flex-direction:column;align-items:flex-start;}
    .page-home .books-head p{margin-left:0;}
    .page-home .books-track{grid-auto-columns:minmax(200px,62%);}
}
@media (max-width:420px){.page-home .books-track{grid-auto-columns:minmax(78%,78%);}}

/* ---------------- Latest book ---------------- */
.page-home .latest-book{position:relative;overflow:hidden;padding:120px 0;}
.page-home .latest-book .wrap{position:relative;display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:60px;}
.page-home .latest-book .botanical{position:absolute;pointer-events:none;opacity:.35;stroke:var(--sage-deep);}
.page-home .latest-book .botanical.left{top:-60px;left:-70px;width:300px;height:420px;}
.page-home .latest-book .botanical.right{bottom:-80px;left:38%;width:260px;height:360px;opacity:.22;}
.page-home .latest-book-copy{position:relative;}
.page-home .latest-book-copy .eyebrow{color:var(--sage-deep);}
.page-home .latest-book-copy h2{margin-top:18px;font-size:clamp(36px,5.2vw,60px);font-style:italic;line-height:1.12;color:var(--ink);max-width:25ch;}
.page-home .latest-book-copy .status{display:inline-block;margin-top:22px;font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-soft);}
.page-home .latest-book-copy p{margin-top:22px;color:var(--ink-soft);max-width:44ch;font-size:18px;}
.page-home .latest-book-copy .btn{margin-top:34px;}
.page-home .latest-book-cover{position:relative;display:flex;justify-content:center;}
.page-home .latest-book-cover img{width:100%;max-width:409px;transform:rotate(1.2deg);}
.page-home .latest-book-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(251,246,241,.88) 0%,rgba(251,246,241,.7) 55%,rgba(251,246,241,.92) 100%),url('../../gallery/3d.png') center/cover no-repeat;}
@media (max-width:900px){
    .page-home .latest-book{padding:90px 0;}
    .page-home .latest-book .wrap{grid-template-columns:1fr;text-align:center;gap:50px;}
    .page-home .latest-book-copy h2{max-width:none;margin-left:auto;margin-right:auto;}
    .page-home .latest-book-copy p{margin-left:auto;margin-right:auto;}
    .page-home .latest-book-cover img{transform:none;}
    .page-home .latest-book .botanical{display:none;}
}

/* ---------------- Final CTA (Goat Health Care) ---------------- */
.page-home .final-cta{position:relative;overflow:hidden;padding:130px 0;color:#fff;}

.page-home .final-cta-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            ellipse 620px 460px at 12% 18%,
            rgba(232,185,190,.30) 0%,
            rgba(232,185,190,0) 70%
        ),
        radial-gradient(
            ellipse 650px 520px at 92% 86%,
            rgba(178,202,159,.09) 0%,
            rgba(178,202,159,0) 75%
        ),
        linear-gradient(
            180deg,
            rgba(60,48,42,.72) 0%,
            rgba(60,48,42,.65) 50%,
            rgba(60,48,42,.82) 100%
        ),
        url('https://images.unsplash.com/photo-1556139930-c23fa4a4f934?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D')
        center / cover no-repeat;
}

.page-home .final-cta-grid{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center;}

/* cover side */
.page-home .fc-media{position:relative;max-width:340px;width:100%;justify-self:center;}
.page-home .fc-media::before{content:"";position:absolute;top:-18px;left:-18px;right:18px;bottom:18px;border:1px solid var(--gold);z-index:0;}
.page-home .fc-media img{position:relative;z-index:1;width:100%;aspect-ratio:2/3;object-fit:cover;transform:rotate(-2deg);box-shadow:0 40px 70px -24px rgba(0,0,0,.65);}
.page-home .fc-sticker{position:absolute;z-index:2;right:-26px;bottom:-22px;width:104px;height:104px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:26px;line-height:1;transform:rotate(8deg);box-shadow:0 14px 28px -10px rgba(0,0,0,.5);}
.page-home .fc-sticker small{font-family:'Jost',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:4px;}

/* copy side */
.page-home .fc-copy .eyebrow{color:var(--gold);}
.page-home .fc-copy h2{margin-top:16px;font-size:clamp(40px,5.6vw,70px);font-style:italic;line-height:1.08;color:#fff;}
.page-home .fc-copy > p:not(.fc-quote){margin-top:22px;max-width:46ch;font-size:18.5px;color:rgba(255,255,255,.9);}
.page-home .fc-actions{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.page-home .fc-actions form{margin:0;display:inline-flex;}
.page-home .btn-buy{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:500;padding:17px 44px;}
.page-home .btn-buy:hover{background:var(--cream);border-color:var(--cream);color:var(--ink);}
.page-home .btn-buy.is-disabled{opacity:.5;pointer-events:none;}
.page-home .fc-points{list-style:none;margin-top:30px;display:flex;flex-wrap:wrap;gap:10px 28px;}
.page-home .fc-points li{display:flex;align-items:baseline;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85);}
.page-home .fc-points li::before{content:"✓";color:var(--gold);}
.page-home .fc-quote{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);max-width:60ch;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;line-height:1.5;color:rgba(255,255,255,.8);}
.page-home .fc-quote span{display:block;margin-top:6px;font-family:'Jost',sans-serif;font-style:normal;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.65);}

@media (max-width:900px){
    .page-home .final-cta{padding:90px 0;}
    .page-home .final-cta-grid{grid-template-columns:1fr;gap:64px;text-align:center;}
    .page-home .fc-media{max-width:260px;}
    .page-home .fc-copy > p:not(.fc-quote),.page-home .fc-quote{margin-left:auto;margin-right:auto;}
    .page-home .fc-actions,.page-home .fc-points{justify-content:center;}
}
@media (max-width:480px){
    .page-home .fc-actions .btn,.page-home .fc-actions form{width:100%;}
    .page-home .fc-actions .btn{text-align:center;}
}

/* ---------------- Book spotlight ---------------- */
.page-home .book{padding:75px 0!important; }
.page-home .book .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:90px;align-items:center;}
.page-home .book-cover{position:relative;}
.page-home .book-copy h2{font-size:clamp(34px,4.6vw,54px);font-style:italic;line-height:1.15;margin-top:18px;}
.page-home .book-copy p{margin-top:26px;color:var(--ink-soft);max-width:52ch;font-size:18.5px;}
.page-home .book-copy .btn{margin-top:34px;}
@media (max-width:900px){
    .page-home .book{padding:100px 0;}
    .page-home .book .wrap{grid-template-columns:1fr;gap:50px;text-align:center;}
    .page-home .book-cover{max-width:260px;margin:0 auto;}
    .page-home .book-copy p{margin-left:auto;margin-right:auto;}
}

/* Shed Boy section: background image with a cream overlay so the text stays readable */
.page-home .book-has-bg {
    background-image:
        linear-gradient(
            90deg,
            rgba(218, 237, 229, 0.12) 0%,
            rgba(225, 242, 239, 0.55) 55%,
            rgba(225, 242, 239, 0.85) 100%
        ),
        var(--book-bg);

    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
}
@media (max-width:900px){
    .page-home .book-has-bg{
        background-image:linear-gradient(rgba(239,230,216,.9),rgba(239,230,216,.9)),var(--book-bg);
    }
}

/* ---------------- Articles & Publications ---------------- */
.page-home .articles{padding:100px 0;}
.page-home .articles-head{text-align:center;margin-bottom:64px;}
.page-home .articles-head h2{margin-top:14px;font-size:clamp(30px,3.8vw,44px);font-style:italic;}
.page-home .articles-head p{margin:16px auto 0;color:var(--ink-soft);max-width:54ch;font-size:17px;}
.page-home .articles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.page-home .article-card{display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--line);border-top:2px solid var(--rose-deep);box-shadow:0 18px 34px -24px rgba(75,64,56,.3);}
.page-home .article-card-image{position:relative;aspect-ratio:4/3;overflow:hidden;border:0;}
.page-home .article-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.page-home .article-card:hover .article-card-image img{transform:scale(1.05);}
.page-home .article-card-image.tone-sage{background:var(--sage);}
.page-home .article-card-image.tone-rose{background:var(--rose);}
.page-home .article-card-image.tone-gold{background:var(--gold);}
.page-home .article-card-image .article-card-tile-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:var(--ink);z-index:1;}
.page-home .article-card-body{display:flex;flex-direction:column;align-items:flex-start;flex-grow:1;padding:24px 26px 28px;}
.page-home .article-tab{display:inline-block;padding:4px 12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--rose);}
.page-home .article-card-body h3{margin-top:16px;font-size:22px;font-style:italic;line-height:1.35;}
.page-home .article-card-body p{margin-top:12px;font-size:15.5px;color:var(--ink-soft);line-height:1.65;flex-grow:1;}
.page-home .article-card-body a.read-more{display:inline-block;align-self:center;margin-top:20px;padding:11px 26px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--ink);color:var(--ink);transition:background .25s ease,color .25s ease;}

.page-home .article-card-body a.read-more:hover{background:var(--ink);color:var(--cream);}
/* single row: 4 on desktop, 2x2 on tablet, first 2 on phones */
.page-home .articles-grid > .article-card:nth-child(n+5){display:none;}
@media (max-width:900px){
    .page-home .articles{padding:100px 0;}
    .page-home .articles-grid{grid-template-columns:repeat(2,1fr);gap:30px;}
}
@media (max-width:600px){
    .page-home .articles-grid{grid-template-columns:1fr;gap:44px;}
    .page-home .articles-grid > .article-card:nth-child(n+3){display:none;}
}

/* ---------------- Magazines strip ---------------- */
.page-home .magazines{padding:110px 0;background:var(--sand);}
.page-home .magazines-head{text-align:center;margin-bottom:56px;}
.page-home .magazines-head h2{margin-top:14px;font-size:clamp(28px,3.6vw,40px);font-style:italic;}
.page-home .magazines-head p{margin:14px auto 0;color:var(--ink-soft);max-width:52ch;font-size:16.5px;}
.page-home .magazines-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:left;}
.page-home .magazine-card{display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--line);border-top:2px solid var(--sage-deep);box-shadow:0 18px 34px -24px rgba(75,64,56,.3);}
.page-home .magazine-card-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--blush);}
.page-home .magazine-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.page-home .magazine-card:hover .magazine-card-image img{transform:scale(1.05);}
.page-home .magazine-card-image.tone-sage{background:var(--sage);}
.page-home .magazine-card-image.tone-rose{background:var(--rose);}
.page-home .magazine-card-image.tone-gold{background:var(--gold);}
.page-home .magazine-card-tile-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:var(--ink);}
.page-home .magazine-card-content{display:flex;flex-direction:column;align-items:flex-start;flex-grow:1;padding:24px 26px 28px;}
.page-home .mag-tab{display:inline-block;padding:4px 12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);}
.page-home .mag-tab.tone-sage{background:var(--sage);}
.page-home .mag-tab.tone-rose{background:var(--rose);}
.page-home .mag-tab.tone-gold{background:var(--gold);}
.page-home .magazine-card-content .mag-name{display:block;margin-top:16px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:23px;line-height:1.3;color:var(--ink);}
.page-home .magazine-card-content .mag-role{display:block;margin-top:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);}
.page-home .magazine-card-content p.mag-blurb{margin-top:14px;color:var(--ink-soft);font-size:15px;line-height:1.65;flex-grow:1;}
.page-home .magazine-card-content a.mag-link{display:inline-block;align-self:center;margin-top:20px;padding:11px 26px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--ink);color:var(--ink);transition:background .25s ease,color .25s ease;}
.page-home .magazine-card-content a.mag-link:hover{background:var(--ink);color:var(--cream);}
@media (max-width:1100px){.page-home .magazines-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.page-home .magazines-grid{grid-template-columns:1fr;}}

/* ---------------- Writing & Editing strip (homepage) ----------------
   Replace the whole existing .we-home block in section "1. PAGE: HOME" of site.css */
.page-home .we-home{padding:110px 0 100px;background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;}

.page-home .we-home-top{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:84px;align-items:center;}

/* portrait: gold offset frame + floating badge */
.page-home .we-home-media{position:relative;justify-self:center;width:100%;}
.page-home .we-home-frame{position:relative;}
.page-home .we-home-frame::before{content:"";position:absolute;top:-16px;left:-16px;right:16px;bottom:16px;border:1px solid var(--gold);z-index:0;}
.page-home .we-home-frame img{position:relative;z-index:1;display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--sand);box-shadow:0 30px 56px -28px rgba(75,64,56,.45);}
.page-home .we-home-badge{position:absolute;z-index:2;right:-30px;bottom:15px;background:#fff;border:1px solid var(--line);padding:16px 24px;text-align:center;box-shadow:0 18px 34px -20px rgba(75,64,56,.35);}
.page-home .we-home-badge strong{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:44px;line-height:1;color:var(--rose-deep);}
.page-home .we-home-badge span{display:block;margin-top:6px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);}

/* copy */
.page-home .we-home-copy h2{margin-top:14px;font-size:clamp(32px,3.8vw,48px);font-style:italic;line-height:1.12;text-wrap:balance;}
.page-home .we-home-copy > p{margin-top:20px;max-width:52ch;color:var(--ink-soft);font-size:17.5px;}

/* role ledger */
.page-home .we-home-ledger{list-style:none;margin-top:32px;border-top:1px solid var(--line);}
.page-home .we-home-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start;}
.page-home .we-home-mark{width:38px;height:38px;border-radius:50%;border:1px solid var(--rose-deep);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--rose-deep);}
.page-home .we-home-row h3{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:24px;font-style:italic;line-height:1.2;}
.page-home .we-home-outlets{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--ink-soft);text-align:right;}
.page-home .we-home-row p{margin-top:6px;color:var(--ink-soft);font-size:15.5px;line-height:1.65;}

/* stats strip */
.page-home .we-home-stats{margin-top:72px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.page-home .we-home-stat{padding:30px 16px;text-align:center;border-left:1px solid var(--line);}
.page-home .we-home-stat:first-child{border-left:0;}
.page-home .we-home-stat strong{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:48px;line-height:1;color:var(--rose-deep);}
.page-home .we-home-stat span{display:block;margin:10px auto 0;max-width:20ch;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);line-height:1.5;}

/* buttons: filled + outlined */
.page-home .we-home-actions{margin-top:44px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}
.page-home .we-home-actions .btn-fill{background:var(--ink);border:1px solid var(--ink);color:var(--cream);}
.page-home .we-home-actions .btn-fill:hover{background:transparent;color:var(--ink);}

@media (max-width:1000px){
    .page-home .we-home-top{grid-template-columns:1fr;gap:64px;}
    .page-home .we-home-media{max-width:320px;}
    .page-home .we-home-copy{text-align:center;}
    .page-home .we-home-copy > p{margin-left:auto;margin-right:auto;}
    .page-home .we-home-ledger{text-align:left;}
}
@media (max-width:600px){
    .page-home .we-home{padding:80px 0;}
    .page-home .we-home-badge{right:-12px;bottom:20px;padding:12px 16px;}
    .page-home .we-home-badge strong{font-size:34px;}
    .page-home .we-home-row{grid-template-columns:34px minmax(0,1fr);gap:14px;}
    .page-home .we-home-mark{width:32px;height:32px;font-size:15px;}
    .page-home .we-home-row h3{flex-direction:column;gap:2px;font-size:22px;}
    .page-home .we-home-outlets{text-align:left;}
    .page-home .we-home-stats{grid-template-columns:repeat(2,1fr);margin-top:56px;}
    .page-home .we-home-stat:nth-child(3){border-left:0;}
    .page-home .we-home-stat:nth-child(n+3){border-top:1px solid var(--line);}
    .page-home .we-home-stat strong{font-size:40px;}
    .page-home .we-home-actions .btn{width:100%;text-align:center;}
}

/* ---------------- Gallery ---------------- */
.page-home .gallery{padding:150px 0;background:var(--cream);}
.page-home .gallery-head{text-align:center;margin-bottom:60px;}
.page-home .gallery-head h2{font-size:clamp(28px,3.6vw,40px);font-style:italic;margin-top:14px;}
.page-home .gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.page-home .gallery-grid a{position:relative;aspect-ratio:1/1;overflow:hidden;}
.page-home .gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.page-home .gallery-grid a:hover img{transform:scale(1.06);}
@media (max-width:760px){
    .page-home .gallery{padding:100px 0;}
    .page-home .gallery-grid{grid-template-columns:repeat(2,1fr);}
}

/* ---------------- Reviews slider ---------------- */
.page-home .reviews{padding:80px 0;background:var(--blush);}
.page-home .reviews-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:64px;text-align:left;}
.page-home .reviews-head h2{margin-top:14px;font-size:clamp(30px,3.8vw,44px);font-style:italic;color:var(--rose-deep);}
.page-home .reviews-nav{display:flex;gap:12px;flex-shrink:0;}
.page-home .reviews-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,31%);gap:50px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:8px;-ms-overflow-style:none;scrollbar-width:none;}
.page-home .reviews-track::-webkit-scrollbar{display:none;}
.page-home .review-card{scroll-snap-align:start;text-align:center;}
.page-home .review-card .stars{color:var(--gold);font-size:15px;letter-spacing:3px;}
.page-home .review-card blockquote{margin-top:20px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;line-height:1.5;color:var(--ink);}
.page-home .review-card cite{display:block;margin-top:20px;font-style:normal;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);}
@media (max-width:900px){
    .page-home .reviews{padding:100px 0;}
    .page-home .reviews-head{flex-direction:column;align-items:flex-start;}
    .page-home .reviews-track{grid-auto-columns:minmax(240px,88%);}
}

/* ---------------- Cart toast (global — the cart flow can flash it on any page) ---------------- */
.toast-notification{position:fixed;top:110px;right:24px;z-index:100;display:flex;align-items:center;gap:14px;max-width:320px;background:#14532d;color:#fff;border:1px solid #0f3d22;border-left:4px solid #86efac;box-shadow:0 18px 40px -16px rgba(0,0,0,.45);padding:16px 20px;font-family:'Jost',sans-serif;font-size:14px;line-height:1.5;opacity:0;transform:translateX(24px);animation:toastIn .35s ease forwards,toastOut .35s ease forwards 2.5s;}
.toast-notification a{color:#fff;border-bottom:1px solid #fff;padding-bottom:2px;white-space:nowrap;}
.toast-notification.error{background:#7f1d1d;border-color:#5f1414;border-left-color:#fca5a5;}
@keyframes toastIn{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:translateX(0);}}
@keyframes toastOut{to{opacity:0;transform:translateX(24px);visibility:hidden;}}
@media (max-width:600px){.toast-notification{right:16px;left:16px;top:90px;max-width:none;}}


/* =====================================================================
   2. PAGE: ABOUT
   ===================================================================== */
.about-hero{margin-top:var(--header-h);padding:56px 0;}
.about-hero .wrap{display:grid;grid-template-columns:minmax(280px,460px) 1fr;align-items:center;gap:60px;}
.about-hero-photo{position:relative;width:100%;align-self:center;justify-self:start;}
.about-hero-photo img{width:100%;height:auto;display:block;}
.about-hero-copy{display:flex;flex-direction:column;justify-content:center;}
.about-hero-copy h1{margin-top:22px;font-size:clamp(34px,3.8vw,48px);font-style:italic;line-height:1.15;max-width:23ch;}
.about-hero-copy p{margin-top:26px;max-width:42ch;font-size:18px;color:var(--ink-soft);}
.about-hero-copy .btn{margin-top:34px;align-self:flex-start;}
@media (max-width:900px){
    .about-hero .wrap{grid-template-columns:1fr;padding:36px 0;}
    .about-hero-photo{max-width:320px;margin:0 auto;}
    .about-hero-copy{text-align:center;align-items:center;}
    .about-hero-copy h1{max-width:none;}
    .about-hero-copy p{max-width:44ch;margin-left:auto;margin-right:auto;}
    .about-hero-copy .btn{align-self:center;}
}

.lede{padding:110px 0 40px;text-align:center;}
.lede p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(24px,3vw,32px);line-height:1.5;max-width:30ch;margin:0 auto;color:var(--ink);}

.story{padding:110px 0;background:var(--sand);}
.story .wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center;}
.story.reverse .wrap{grid-template-columns:1.05fr .95fr;}
.story.reverse .story-photo{order:2;}
.story.reverse .story-copy{order:1;}
.story-photo{position:relative;aspect-ratio:5/4;overflow:hidden;}
.story-photo img{width:100%;height:100%;object-fit:cover;}
.story-copy h2{font-size:clamp(28px,3.2vw,38px);font-style:italic;line-height:1.25;}
.story-copy p{margin-top:22px;color:var(--ink-soft);font-size:17.5px;max-width:48ch;}
.story-copy p + p{margin-top:16px;}
@media (max-width:900px){
    .story .wrap,.story.reverse .wrap{grid-template-columns:1fr;gap:44px;text-align:center;}
    .story.reverse .story-photo,.story.reverse .story-copy{order:0;}
    .story-photo{max-width:420px;margin:0 auto;}
    .story-copy p{margin-left:auto;margin-right:auto;}
}

.path{padding:130px 0;background:var(--cream);}
.path-head{text-align:center;margin-bottom:70px;}
.path-head h2{margin-top:14px;font-size:clamp(30px,3.8vw,44px);font-style:italic;}
.path-list{max-width:760px;margin:0 auto;}
.path-item{display:grid;grid-template-columns:64px 1fr;gap:28px;padding:30px 0;border-top:1px solid var(--line);}
.path-list .path-item:last-child{border-bottom:1px solid var(--line);}
.path-item .num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:40px;color:var(--sage-deep);}
.path-item h3{font-size:21px;font-style:italic;}
.path-item .when{display:block;margin-top:4px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);}
.path-item p{margin-top:12px;color:var(--ink-soft);font-size:16px;max-width:52ch;}
@media (max-width:600px){.path-item{grid-template-columns:40px 1fr;gap:16px;}}

.values{padding:130px 0;}
.values-head{text-align:center;margin-bottom:64px;}
.values-head h2{margin-top:14px;font-size:clamp(30px,3.8vw,44px);font-style:italic;}
.page-about .values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;text-align:center;}
.page-about .value-item .mark{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:60px;color:var(--rose-deep);}
.page-about .value-item h3{margin-top:16px;font-size:25px;font-style:italic;}
.page-about .value-item p{margin-top:12px;color:var(--ink-soft);font-size:15.5px;line-height:1.65;}
@media (max-width:900px){.page-about .values-grid{grid-template-columns:1fr;gap:48px;}}

.story-hook{padding:120px 0;background:var(--sand);}
.story-hook .wrap{max-width:760px;}
.story-hook .eyebrow{display:block;text-align:center;}
.story-hook h2{margin-top:14px;text-align:center;font-size:clamp(30px,3.8vw,44px);font-style:italic;}
.story-hook-body{margin-top:48px;display:flex;flex-direction:column;gap:26px;}
.story-hook-body p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(19px,2vw,23px);line-height:1.65;color:var(--ink);}
.story-hook-body p strong{font-style:normal;font-weight:500;color:var(--sage-deep);}

.fun-facts{padding:130px 0;}
.fun-facts-head{text-align:center;margin-bottom:56px;}
.fun-facts-head h2{margin-top:14px;font-size:clamp(30px,3.8vw,44px);font-style:italic;}
.facts-list{max-width:820px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:22px 48px;}
.fact-item{display:flex;align-items:baseline;gap:14px;font-size:14.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);}
.fact-item .plus{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--rose-deep);flex-shrink:0;}
@media (max-width:700px){.facts-list{grid-template-columns:1fr;}}

.official-bio{padding:110px 0 130px;background:var(--sand);}
.official-bio-head{text-align:center;margin-bottom:56px;}
.official-bio-head h2{margin-top:14px;font-size:clamp(28px,3.4vw,38px);font-style:italic;}
.official-bio-card{max-width:860px;margin:0 auto;display:grid;grid-template-columns:180px 1fr;gap:44px;align-items:start;background:var(--cream);border:1px solid var(--line);padding:44px;}
.official-bio-photo{width:180px;height:180px;border-radius:50%;overflow:hidden;flex-shrink:0;}
.official-bio-photo img{width:100%;height:100%;object-fit:cover;}
.official-bio-text p{color:var(--ink-soft);font-size:16.5px;line-height:1.75;}
.official-bio-text .bio-note{display:block;margin-top:22px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage-deep);}
@media (max-width:640px){
    .official-bio-card{grid-template-columns:1fr;text-align:center;padding:36px 28px;}
    .official-bio-photo{margin:0 auto;}
}

.about-cta{position:relative;padding:230px 0;text-align:center;color:#fff;overflow:hidden;}
.about-cta-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(60,48,42,.55),rgba(60,48,42,.7)),url('https://images.unsplash.com/photo-1658601490166-7f20037b8ead?q=80&w=1800&auto=format&fit=crop') center/cover no-repeat;}
.about-cta-content{position:relative;}
.about-cta-content .eyebrow{color:rgba(255,255,255,.85);}
.about-cta-content h2{margin:18px auto 0;font-size:clamp(30px,4.2vw,48px);font-style:italic;max-width:20ch;line-height:1.25;}
.about-cta-buttons{margin-top:38px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}


/* =====================================================================
   3. PAGE: BOOKS (list + the "More like this" grid on the book detail page)
   ===================================================================== */
.books-hero{margin-top:var(--header-h);padding:30px 0 20px;text-align:center;}
.books-hero .wrap{max-width:1000px;}
.books-hero .eyebrow{display:block;}
.books-hero h1{margin:10px auto 0;max-width:760px;font-size:clamp(32px,3.4vw,42px);font-style:italic;line-height:1.15;text-wrap:balance;}
.books-hero p{margin-top:12px;font-size:17px;line-height:1.6;color:var(--ink-soft);}

.page-books .cat-nav{padding:0 0 8px;}
.page-books .cat-nav .wrap{display:flex;justify-content:center;gap:8px 36px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 40px;}
.page-books .cat-nav a{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);padding-bottom:4px;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease;}
.page-books .cat-nav a:hover{color:var(--ink);border-color:currentColor;}

:is(.page-books,.page-books-detail) .book-section{padding:80px 0;scroll-margin-top:var(--header-h-scrolled);}
.page-books #books-catalog .book-section:first-child{padding-top:30px;}
:is(.page-books,.page-books-detail) .book-section-head{text-align:center;margin-bottom:64px;}
:is(.page-books,.page-books-detail) .book-section-head h2{margin-top:14px;font-size:clamp(28px,3.4vw,40px);font-style:italic;}
:is(.page-books,.page-books-detail) .book-section-head p{margin:14px auto 0;max-width:52ch;color:var(--ink-soft);font-size:16px;}

:is(.page-books,.page-books-detail) .book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;}
:is(.page-books,.page-books-detail) .book-grid.fiction{grid-template-columns:repeat(2,1fr);max-width:820px;margin:0 auto;}
:is(.page-books,.page-books-detail) .book-card{display:flex;flex-direction:column;scroll-margin-top:calc(var(--header-h-scrolled) + 24px);}
:is(.page-books,.page-books-detail) .book-cover{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--blush);box-shadow:0 18px 34px -18px rgba(75,64,56,.35);}
:is(.page-books,.page-books-detail) .book-cover a{display:block;}
:is(.page-books,.page-books-detail) .book-cover img{width:100%;height:100%;object-fit:cover;}
:is(.page-books,.page-books-detail) .book-card h3{margin-top:26px;font-size:22px;font-style:italic;line-height:1.3;}
:is(.page-books,.page-books-detail) .book-card h3 a{color:inherit;text-decoration:none;}
:is(.page-books,.page-books-detail) .book-card h3 a:hover{text-decoration:underline;}
:is(.page-books,.page-books-detail) .book-card .book-meta{margin-top:6px;font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--sage-deep);}
:is(.page-books,.page-books-detail) .book-card p.book-blurb{margin-top:14px;color:var(--ink-soft);font-size:15.5px;line-height:1.65;flex-grow:1;}
:is(.page-books,.page-books-detail) .book-card .book-actions{margin-top:22px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
:is(.page-books,.page-books-detail) .book-actions form{margin:0;display:inline-flex;}
:is(.page-books,.page-books-detail) .book-price{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;color:var(--ink);}
:is(.page-books,.page-books-detail) .btn.is-disabled{opacity:.45;pointer-events:none;}
@media (max-width:900px){:is(.page-books,.page-books-detail) .book-grid,:is(.page-books,.page-books-detail) .book-grid.fiction{grid-template-columns:1fr;max-width:420px;margin:0 auto;}}
@media (min-width:901px) and (max-width:1100px){:is(.page-books,.page-books-detail) .book-grid{grid-template-columns:repeat(2,1fr);}}

/* "All Books" view: merge every category into one grid */
#books-catalog.all-view {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 60px 30px;
    max-width: 1240px;
    margin: 0 auto;
    padding: 94px 40px 60px;
}

#books-catalog.all-view .book-section-head{display:none;}
#books-catalog.all-view .book-section,
#books-catalog.all-view .book-section .wrap,
#books-catalog.all-view .book-grid{display:contents;}
@media (max-width:900px){#books-catalog.all-view{grid-template-columns:1fr;max-width:420px;}}
@media (min-width:901px) and (max-width:1100px){#books-catalog.all-view{grid-template-columns:repeat(2,1fr);}}

.books-empty{padding:40px 0 100px;text-align:center;}
.books-empty h2{font-size:clamp(26px,3vw,34px);font-style:italic;}
.books-empty p{margin-top:14px;color:var(--ink-soft);}

.page-books .books-note{padding:100px 0 120px;}
.page-books .books-note .wrap{max-width:1080px;}
.books-note-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center;}

/* image side */
.books-note-media{position:relative;width:100%;max-width:400px;aspect-ratio:1/1;justify-self:center;}
.books-note-media::before{content:"";position:absolute;top:-16px;left:-16px;right:16px;bottom:16px;border:1px solid var(--gold);z-index:0;}
.bn-cover{position:absolute;width:52%;aspect-ratio:2/3;object-fit:cover;background:var(--cream);box-shadow:0 18px 34px -18px rgba(75,64,56,.45);}
.bn-back {left:2%;  top:8%;  transform:rotate(-8deg);z-index:1;}
.bn-mid  {right:2%; top:4%;  transform:rotate(7deg); z-index:2;}
.bn-front{left:24%; top:24%; transform:rotate(-1deg);z-index:3;}
.bn-tab{position:absolute;left:-16px;bottom:4%;z-index:4;padding:5px 14px;background:var(--rose);color:var(--ink);font-size:11px;letter-spacing:.14em;text-transform:uppercase;}

/* text side */
.books-note-copy .eyebrow{display:block;}
.books-note-copy h2{margin-top:14px;font-size:clamp(28px,3.4vw,40px);font-style:italic;line-height:1.2;max-width:30ch;}
.books-note-copy p{margin-top:18px;max-width:50ch;color:var(--ink-soft);font-size:17px;}
.bn-list{list-style:none;margin-top:24px;display:grid;gap:10px;}
.bn-list li{display:flex;align-items:baseline;gap:12px;font-size:14.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);}
.bn-list li::before{content:"+";font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--rose-deep);flex-shrink:0;}
.books-note-copy .btn{margin-top:34px;}

@media (max-width:900px){
    .page-books .books-note{padding:80px 0 90px;}
    .books-note-grid{grid-template-columns:1fr;gap:56px;text-align:center;}
    .books-note-media{max-width:300px;}
    .books-note-copy h2,.books-note-copy p{margin-left:auto;margin-right:auto;}
    .bn-list{justify-items:center;}
}


/* =====================================================================
   4. PAGE: WRITING & EDITING
   ===================================================================== */
.we-section{padding:110px 0;scroll-margin-top:var(--header-h-scrolled);}
.we-section.cream{background:var(--cream);}
.we-section.alt{background:var(--sand);}
.we-head{text-align:center;max-width:720px;margin:0 auto 64px;}
.we-head h2{margin-top:14px;font-size:clamp(30px,3.8vw,44px);font-style:italic;line-height:1.2;}
.we-head p{margin:18px auto 0;max-width:60ch;color:var(--ink-soft);font-size:17px;}

.we-hero{margin-top:var(--header-h);padding:64px 0 96px;}
.we-hero-top{max-width:820px;margin-bottom:64px;}
.we-hero-top h1{margin-top:16px;font-size:clamp(36px,4.6vw,58px);font-style:italic;line-height:1.12;}
.we-hero-body{display:grid;grid-template-columns:1fr .58fr;gap:76px;align-items:center;}
.we-hero-text{order:1;}
.we-hero-text p{max-width:50ch;color:var(--ink-soft);font-size:18px;}
.we-hero-text p + p{margin-top:14px;}
.we-hero-frame{order:2;position:relative;justify-self:end;width:100%;max-width:340px;}
.we-hero-frame::before{content:"";position:absolute;top:-18px;left:-18px;right:18px;bottom:18px; solid var(--gold);z-index:0;}
.we-hero-frame img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:0 24px 44px -22px rgba(75,64,56,.4);}
.we-hero-stats{display:flex;gap:38px;margin-top:38px;padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap;}
.we-hero-stat{display:flex;flex-direction:column;}
.we-hero-stat .num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:32px;color:var(--rose-deep);line-height:1;}
.we-hero-stat .label{margin-top:6px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);max-width:13ch;}
.we-hero-actions{margin-top:36px;display:flex;gap:18px;flex-wrap:wrap;}
@media (max-width:900px){
    .we-hero{padding:44px 0 72px;}
    .we-hero-top{text-align:center;margin-left:auto;margin-right:auto;margin-bottom:40px;}
    .we-hero-body{grid-template-columns:1fr;gap:40px;text-align:center;}
    .we-hero-frame{order:0;justify-self:center;max-width:280px;}
    .we-hero-text{order:1;}
    .we-hero-text p{margin-left:auto;margin-right:auto;}
    .we-hero-stats{justify-content:center;}
    .we-hero-stat{align-items:center;}
    .we-hero-actions{justify-content:center;}
}

.we-mark{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--rose-deep);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--rose-deep);}
.role-ledger{max-width:1000px;margin:0 auto;border-top:1px solid var(--line);}
.role-row{display:grid;grid-template-columns:220px 1fr 210px;gap:36px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start;}
.role-heading{display:flex;gap:14px;align-items:center;}
.role-heading h3{font-size:26px;font-style:italic;}
.role-body p{color:var(--ink-soft);font-size:16px;line-height:1.7;}
.role-outlets{display:block;margin-top:10px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--ink);}
.role-link{align-self:center;justify-self:start;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--sage-deep);padding-bottom:3px;transition:border-color .2s ease;}
.role-link:hover{border-color:var(--ink);}
@media (max-width:900px){
    .role-row{grid-template-columns:1fr;gap:14px;padding:28px 0;}
    .role-link{align-self:start;}
}

.topic-catalog{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.topic-card{background:var(--cream);padding:38px 32px 36px;}
.topic-tab{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:4px 12px;}
.topic-card:nth-child(3n+1) .topic-tab{background:var(--sage);}
.topic-card:nth-child(3n+2) .topic-tab{background:var(--rose);}
.topic-card:nth-child(3n+3) .topic-tab{background:var(--gold);}
.topic-card h3{margin-top:18px;font-size:23px;font-style:italic;line-height:1.25;}
.topic-card p{margin-top:10px;color:var(--ink-soft);font-size:15.5px;line-height:1.65;}
.topic-cta{text-align:center;margin-top:52px;}
.topic-cta a{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid var(--sage-deep);padding-bottom:3px;}
@media (max-width:900px){.topic-catalog{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.topic-catalog{grid-template-columns:1fr;}.topic-card{padding:32px 26px;}}

.we-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center;}
.we-photo{position:relative;aspect-ratio:5/4;overflow:hidden;}
.we-photo img{width:100%;height:100%;object-fit:cover;}
.we-copy h2{margin-top:14px;font-size:clamp(28px,3.2vw,38px);font-style:italic;line-height:1.25;}
.we-copy p{margin-top:20px;color:var(--ink-soft);font-size:17.5px;max-width:52ch;}
.editorial-pull{margin-top:28px;padding-left:22px;border-left:2px solid var(--sage-deep);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(21px,2.3vw,26px);line-height:1.4;color:var(--ink);max-width:34ch;}
.edit-books{margin-top:100px;padding-top:76px;border-top:1px solid var(--line);}
.edit-books-head{text-align:center;margin-bottom:52px;}
.edit-books-head h3{margin-top:12px;font-size:clamp(26px,3vw,34px);font-style:italic;}
.edit-work-grid{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:56px;}
.edit-work-card{text-align:center;}
.edit-cover{aspect-ratio:2/3;background:var(--blush);overflow:hidden;box-shadow:0 18px 34px -18px rgba(75,64,56,.35);}
.edit-cover img{width:100%;height:100%;object-fit:cover;}
.edit-work-card h3{margin-top:22px;font-size:19px;font-style:italic;line-height:1.35;}
.page-writing .book-meta{display:block;margin-top:6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);}
.edit-work-note{max-width:48ch;margin:60px auto 0;text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(20px,2.2vw,24px);line-height:1.5;color:var(--ink-soft);}
@media (max-width:900px){
    .we-split{grid-template-columns:1fr;gap:44px;text-align:center;}
    .we-photo{max-width:420px;margin:0 auto;width:100%;}
    .we-copy p{margin-left:auto;margin-right:auto;}
    .editorial-pull{margin-left:auto;margin-right:auto;padding:18px 0 0;border-left:0;border-top:2px solid var(--sage-deep);}
    .edit-books{margin-top:80px;padding-top:60px;}
}
@media (max-width:720px){.edit-work-grid{grid-template-columns:1fr;max-width:260px;gap:44px;}}

.beyond-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start;}
.beyond-copy h2{margin-top:14px;font-size:clamp(28px,3.2vw,38px);font-style:italic;line-height:1.25;}
.beyond-copy p{margin-top:20px;color:var(--ink-soft);font-size:17.5px;max-width:48ch;}
.page-writing .biblio-list{border-top:1px solid var(--line);}
.page-writing .biblio-item{display:grid;grid-template-columns:2.2em 1fr;gap:14px;padding:24px 0;border-bottom:1px solid var(--line);}
.page-writing .biblio-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--rose-deep);line-height:1.5;}
.page-writing .biblio-item h3{font-size:20px;font-style:italic;line-height:1.4;}
.page-writing .biblio-meta{display:block;margin-top:6px;color:var(--ink-soft);font-size:14.5px;line-height:1.55;}
@media (max-width:900px){.beyond-grid{grid-template-columns:1fr;gap:44px;}}

.page-writing .values-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:56px;text-align:center;}
.page-writing .value-item::before{content:"";display:block;width:36px;height:1px;margin:0 auto 22px;background:var(--rose-deep);}
.page-writing .value-item h3{font-size:25px;font-style:italic;line-height:1.25;}
.page-writing .value-item p{margin-top:12px;color:var(--ink-soft);font-size:15.5px;line-height:1.65;}
@media (max-width:900px){.page-writing .values-grid{grid-template-columns:1fr;gap:44px;max-width:460px;}}

.we-cta{padding:110px 0;text-align:center;}
.we-cta .wrap{max-width:920px;}
.we-cta h2{margin-top:14px;font-size:clamp(30px,4vw,44px);font-style:italic;line-height:1.2;}
.we-cta p{margin:16px auto 0;max-width:52ch;color:var(--ink-soft);font-size:17px;}
.we-cta-actions{margin-top:34px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.we-cta-covers{margin:64px auto 0;display:flex;justify-content:center;gap:32px;max-width:1080px;}
.we-cta-covers .cover{width:300px;aspect-ratio:2/3;background:var(--cream);overflow:hidden;box-shadow:0 18px 34px -18px rgba(75,64,56,.4);}
.we-cta-covers .cover img{width:100%;height:100%;object-fit:cover;}
@media (max-width:600px){
    .we-cta{padding:90px 0;}
    .we-cta-covers{gap:14px;}
    .we-cta-covers .cover{width:30%;}
}


/* =====================================================================
   5. SHARED ARTICLE CARDS (identical on articles index + article detail;
      the differing values are scoped in sections 6 and 7)
   ===================================================================== */
.art-section{padding:90px 0;scroll-margin-top:var(--header-h-scrolled);}
.art-section.alt{background:var(--sand);}
.art-card{display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--line);box-shadow:0 18px 34px -24px rgba(75,64,56,.3);}
.art-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--blush);}
.art-media > img{width:100%;height:100%;object-fit:cover;}
.art-media--tile{display:flex;align-items:center;justify-content:center;padding:28px;text-align:center;}
.art-media--tile::after{content:"";position:absolute;inset:14px;border:1px solid rgba(75,64,56,.28);pointer-events:none;}
.art-media--tile span{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;line-height:1.15;color:var(--ink);}
.art-body{display:flex;flex-direction:column;align-items:flex-start;flex-grow:1;}
.art-tab{display:inline-block;padding:4px 12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);}
.art-body h3{font-style:italic;line-height:1.25;}
.art-meta{display:block;font-size:12px;text-transform:uppercase;color:var(--ink-soft);}
.art-blurb{color:var(--ink-soft);flex-grow:1;}


/* =====================================================================
   6. PAGE: ARTICLES (index)
   ===================================================================== */
body.page-articles{overflow-x:hidden;}   /* needed by the full-width card grid */

.articles-hero{margin-top:var(--header-h);padding:30px 0 20px;text-align:center;}
.articles-hero .wrap{max-width:1000px;}
.articles-hero .eyebrow{display:block;}
.articles-hero h1{margin:10px auto 0;max-width:760px;font-size:clamp(32px,3.4vw,42px);font-style:italic;line-height:1.15;text-wrap:balance;}
.articles-hero p{margin:12px auto 0;max-width:62ch;font-size:17px;line-height:1.6;color:var(--ink-soft);}

.page-articles .cat-nav{padding:0 0 8px;}
.page-articles .cat-nav .wrap{display:flex;justify-content:center;gap:8px 36px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 40px;}
.page-articles .cat-nav a{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);padding-bottom:4px;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease;}
.page-articles .cat-nav a:hover{color:var(--ink);border-color:currentColor;}
.page-articles .cat-nav + .art-section{padding-top:64px;}

.page-articles .art-head{text-align:center;max-width:720px;margin:0 auto 56px;}
.page-articles .art-head h2{margin-top:14px;font-size:clamp(30px,3.8vw,44px);font-style:italic;line-height:1.2;}
.page-articles .art-head p{margin:18px auto 0;max-width:60ch;color:var(--ink-soft);font-size:17px;}

.page-articles .art-grid,
.page-articles .src-grid{
    width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;
    max-width:none;padding:0 60px;box-sizing:border-box;
    display:grid;grid-template-columns:repeat(5,1fr);gap:22px;
}
.page-articles .src-grid .art-card{border-top:2px solid var(--sage-deep);}
.page-articles .art-media--covers{display:flex;align-items:center;justify-content:center;}
.art-cover-item{position:relative;aspect-ratio:1/1;background:var(--cream);box-shadow:0 14px 26px -12px rgba(75,64,56,.5);}
.art-cover-item + .art-cover-item{margin-left:-34px;}
.art-cover-item img{width:100%;height:100%;object-fit:cover;}
.page-articles .art-media--tile span{font-size:clamp(26px,2.6vw,32px);}
.page-articles .art-body{padding:26px 28px 30px;}
.page-articles .art-body h3{margin-top:16px;font-size:23px;}
.page-articles .art-meta{margin-top:8px;letter-spacing:.12em;}
.page-articles .art-blurb{margin-top:14px;font-size:15.5px;line-height:1.65;}
.page-articles .art-body .btn{margin-top:24px;}
@media (max-width:1600px){.page-articles .art-grid,.page-articles .src-grid{grid-template-columns:repeat(4,1fr);padding:0 40px;}}
@media (max-width:1300px){.page-articles .art-grid,.page-articles .src-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:900px){.page-articles .art-grid,.page-articles .src-grid{grid-template-columns:repeat(2,1fr);padding:0 24px;}}
@media (max-width:600px){
    .page-articles .art-grid,.page-articles .src-grid{grid-template-columns:1fr;width:100%;left:auto;right:auto;margin-left:0;margin-right:0;padding:0 20px;}
    .page-articles .art-body{padding:24px 24px 28px;}
}

.law-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.law-col h3{margin-bottom:20px;font-size:28px;font-style:italic;}
.page-articles .biblio-list{list-style:none;border-top:1px solid var(--line);}
.page-articles .biblio-item{padding:24px 0;border-bottom:1px solid var(--line);}
.page-articles .biblio-item.has-cover{display:grid;grid-template-columns:76px 1fr;gap:20px;align-items:start;}
.biblio-cover{display:block;aspect-ratio:2/3;background:var(--blush);overflow:hidden;box-shadow:0 12px 22px -12px rgba(75,64,56,.45);}
.biblio-cover img{width:100%;height:100%;object-fit:cover;}
.biblio-title{font-family:'Cormorant Garamond',serif;font-weight:500;font-style:italic;font-size:21px;line-height:1.35;color:var(--ink);}
.page-articles .biblio-meta{display:block;margin-top:6px;color:var(--ink-soft);font-size:14.5px;line-height:1.55;}
.biblio-note{display:block;margin-top:2px;color:var(--ink-soft);font-size:14.5px;font-style:italic;}
.biblio-read{display:inline-block;margin-top:12px;padding-bottom:2px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--sage-deep);transition:border-color .2s ease;}
.biblio-read:hover{border-color:var(--ink);}
@media (max-width:900px){.law-grid{grid-template-columns:1fr;gap:56px;}}

.page-articles .books-note{padding:90px 0 110px;text-align:center;}
.page-articles .books-note .wrap{max-width:620px;}
.page-articles .books-note h2{margin-top:14px;font-size:clamp(28px,3.4vw,38px);font-style:italic;line-height:1.25;}
.page-articles .books-note p{margin-top:16px;color:var(--ink-soft);font-size:16.5px;}
.page-articles .books-note .btn{margin-top:28px;}


/* =====================================================================
   7. PAGE: ARTICLE (detail — /articles/{slug})
   ===================================================================== */
.art-crumb{margin-top:var(--header-h);padding:26px 0 0;}
.art-crumb ol{list-style:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.art-crumb li{font-size:12px;letter-spacing:.08em;color:var(--ink-soft);}
.art-crumb a{border-bottom:1px solid transparent;transition:border-color .2s ease;}
.art-crumb a:hover{border-color:var(--ink-soft);}
.art-crumb li[aria-current] span{color:var(--ink);}

.post-hero{padding:22px 0 0;text-align:center;}
.post-hero .wrap{max-width:840px;}
.post-tab{display:inline-block;padding:5px 14px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);}
.post-hero h1{margin:18px auto 0;font-size:clamp(34px,4.6vw,54px);font-style:italic;line-height:1.14;text-wrap:balance;}
.post-subtitle{margin:10px auto 0;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--ink-soft);}
.post-dek{margin:18px auto 0;max-width:60ch;font-size:18px;line-height:1.6;color:var(--ink-soft);}
.post-meta{margin-top:28px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;}
.post-meta-author{display:flex;align-items:center;gap:10px;}
.post-meta-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;background:var(--blush);flex:none;}
.post-meta-avatar img{width:100%;height:100%;object-fit:cover;}
.post-meta-name{font-size:14.5px;color:var(--ink);}
.post-meta-sub{display:block;font-size:12px;color:var(--ink-soft);margin-top:1px;}
.post-meta-dot{color:var(--ink-soft);font-size:12px;}

.post-cover{padding:44px 0 0;}
.post-cover .wrap{max-width:1080px;}
.post-cover figure{aspect-ratio:16/9;overflow:hidden;background:var(--blush);box-shadow:0 30px 60px -30px rgba(75,64,56,.4);}
.post-cover img{width:100%;height:100%;object-fit:cover;}
.post-cover figcaption{margin-top:12px;font-size:13px;color:var(--ink-soft);text-align:center;}
.post-cover--tile figure{display:flex;align-items:center;justify-content:center;position:relative;}
.post-cover--tile figure::after{content:"";position:absolute;inset:20px;border:1px solid rgba(75,64,56,.28);}
.post-cover--tile span{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:clamp(30px,4vw,44px);color:var(--ink);}

.post-layout{padding:70px 0 30px;}
.post-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 220px;gap:70px;align-items:start;}
.post-body{max-width:75ch;overflow-wrap:break-word;word-break:break-word;}
.post-body > * + *{margin-top:26px;}
.post-body p{font-size:17.5px;line-height:1.85;color:var(--ink);overflow-wrap:break-word;word-break:break-word;}
.post-body a.inline-link,.post-body p a{overflow-wrap:break-word;word-break:break-all;}
.post-body > p:first-of-type::first-letter{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:64px;line-height:.75;float:left;margin:8px 8px 0 0;color:var(--rose-deep);}
.post-body h2{font-size:clamp(26px,2.6vw,32px);font-style:italic;line-height:1.3;padding-top:8px;font-weight:500;}
.post-body h3{font-size:20px;font-family:"Jost",sans-serif;font-weight:500;line-height:1.35;}
.post-body ul,.post-body ol{padding-left:1.3em;color:var(--ink);font-size:17px;line-height:1.8;}
.post-body li + li{margin-top:8px;}
.post-body a.inline-link{border-bottom:1px solid var(--sage-deep);}
.post-body a.inline-link:hover{border-color:var(--ink);}
.post-body figure{margin-top:6px;}
.post-body figure img{aspect-ratio:3/2;object-fit:cover;width:100%;}
.post-body figcaption{margin-top:10px;font-size:13px;color:var(--ink-soft);}

.post-quote{border-left:2px solid var(--sage-deep);padding:4px 0 4px 28px;font-family:'Cormorant Garamond',serif;font-style:normal;font-size:12.5px;line-height:1.6;color:var(--ink-soft);}
.post-quote strong,.post-quote b{font-size:28px;font-weight:500;font-style:italic;display:inline-block;margin-bottom:10px;letter-spacing:normal;text-transform:none;color:var(--sage-deep);}
.post-quote cite{display:block;margin-top:10px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21.5px;letter-spacing:normal;color:#645648;}
.post-quote p{font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;line-height:1.2;letter-spacing:.5px;color:#645648;margin-bottom:10px;}
.post-quote li{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;line-height:1.2 !important;letter-spacing:.5px !important;color:#645648;margin-bottom:14px !important;}
.post-quote p + p{margin-top:2px;}

.post-source-note{margin-top:44px;padding:22px 26px;background:var(--sand);border:1px solid var(--line);font-size:14.5px;color:#645648;line-height:1.7;}
.post-source-note strong{color:var(--ink);font-weight:500;}
.post-source-note a{border-bottom:1px solid var(--sage-deep);}
.post-source-note a:hover{border-color:var(--ink);}
.post-tags{margin-top:40px;display:flex;flex-wrap:wrap;gap:10px;}
.post-tags a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border:1px solid var(--line);color:var(--ink-soft);transition:border-color .2s ease,color .2s ease;}
.post-tags a:hover{border-color:var(--ink);color:var(--ink);}

.post-side{position:sticky;top:calc(var(--header-h-scrolled) + 30px);}
.post-side-block + .post-side-block{margin-top:36px;padding-top:36px;border-top:1px solid var(--line);}
.post-side h4{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:16px;}
.post-share{display:flex;flex-direction:column;gap:10px;}
.post-share button,.post-share a{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink);background:none;border:0;cursor:pointer;text-align:left;font-family:'Jost',sans-serif;padding:0;}
.post-share svg{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:1.6;flex:none;}
.post-share button:hover,.post-share a:hover{color:var(--sage-deep);}
.post-toc{list-style:none;display:flex;flex-direction:column;gap:11px;}
.post-toc a{font-size:13.5px;color:var(--ink-soft);border-bottom:1px solid transparent;}
.post-toc a:hover{color:var(--ink);border-color:currentColor;}
@media (max-width:900px){
    .post-grid{grid-template-columns:1fr;gap:44px;}
    .post-side{position:static;}
    .post-side-inner{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;}
    .post-side-block + .post-side-block{margin-top:0;padding-top:0;border-top:0;}
}
@media (max-width:600px){
    .post-side-inner{grid-template-columns:1fr;gap:28px;}
    .post-body p:first-of-type::first-letter{font-size:52px;}
}

.post-author{max-width:1080px;margin:64px auto 0;padding:36px;background:var(--sand);border:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;}
.post-author-photo{width:84px;height:84px;border-radius:50%;overflow:hidden;background:var(--blush);}
.post-author-photo img{width:100%;height:100%;object-fit:cover;}
.post-author h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
.post-author p{font-size:15.5px;color:var(--ink);line-height:1.7;max-width:62ch;}
.post-author a.inline-link{border-bottom:1px solid var(--sage-deep);font-size:14px;}
@media (max-width:560px){.post-author{grid-template-columns:1fr;text-align:center;justify-items:center;}}

/* related cards (detail-page values) */
.page-articles-detail .art-head{text-align:center;max-width:720px;margin:0 auto 56px;}
.page-articles-detail .art-head h2{margin-top:14px;font-size:clamp(28px,3.6vw,40px);font-style:italic;line-height:1.2;}
.page-articles-detail .art-head p{margin:18px auto 0;max-width:60ch;color:var(--ink-soft);font-size:16.5px;}
.page-articles-detail .art-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.page-articles-detail .art-media--tile span{font-size:clamp(24px,2.4vw,30px);}
.page-articles-detail .art-body{padding:24px 26px 28px;}
.page-articles-detail .art-body h3{margin-top:14px;font-size:21px;}
.page-articles-detail .art-meta{margin-top:6px;letter-spacing:.1em;}
.page-articles-detail .art-blurb{margin-top:12px;font-size:15px;line-height:1.6;}
.page-articles-detail .art-body .btn{margin-top:22px;}
@media (max-width:900px){.page-articles-detail .art-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.page-articles-detail .art-grid{grid-template-columns:1fr;}}

.post-back{padding:0 0 10px;}
.post-back .wrap{max-width:1080px;padding-top:10px;}
.post-back a{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid transparent;}
.post-back a:hover{color:var(--ink);border-color:currentColor;}
.post-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;}

.post-note{padding:90px 0 110px;text-align:center;}
.post-note .wrap{max-width:600px;}
.post-note h2{margin-top:14px;font-size:clamp(26px,3.2vw,36px);font-style:italic;line-height:1.25;}
.post-note p{margin-top:16px;color:var(--ink-soft);font-size:16.5px;}
.post-note .btn{margin-top:26px;}


/* =====================================================================
   8. PAGES: LEGAL (privacy, refund, shipping, terms)
   ===================================================================== */
.legal-hero{margin-top:var(--header-h);padding:100px 0 60px;text-align:center;}
.legal-hero h1{margin-top:14px;font-size:clamp(34px,4.2vw,50px);font-style:italic;}
.legal-hero p{margin:20px auto 0;max-width:52ch;color:var(--ink-soft);font-size:17px;}
.legal-content{padding:20px 0 130px;}
.legal-content .wrap{max-width:820px;}
.legal-card{background:var(--sand);border:1px solid var(--line);padding:56px;}
.legal-card h2{font-size:clamp(22px,2.6vw,27px);font-style:italic;margin-top:44px;}
.legal-card h2:first-child{margin-top:0;}
.legal-card p{margin-top:14px;color:var(--ink-soft);font-size:16px;line-height:1.8;}
.legal-card ul{margin-top:14px;padding-left:22px;color:var(--ink-soft);font-size:16px;line-height:1.8;}
.legal-card li{margin-bottom:8px;}
.legal-card a{color:var(--sage-deep);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;}
.legal-card a:hover{text-decoration-color:currentColor;}
.legal-updated{margin-top:34px;display:block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);}
@media (max-width:640px){.legal-card{padding:36px 26px;}}


/* =====================================================================
   9. PAGE: BOOK DETAIL (/books/{slug})
   ===================================================================== */
.book-detail{padding:150px 0 90px;background:var(--cream);}
.book-detail .wrap{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:60px;align-items:start;}
.book-detail .cover img{width:100%;border-radius:4px;box-shadow:0 24px 50px rgba(62,74,52,.18);}
.book-detail h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);margin:8px 0 14px;line-height:1.1;}
.book-detail .book-meta{display:inline-block;margin-bottom:6px;}
.book-detail .detail-price{font-family:'Cormorant Garamond',serif;font-size:1.9rem;margin:22px 0 6px;}
.book-detail .stock-note{font-family:'Jost',sans-serif;font-size:.85rem;opacity:.7;margin:0 0 22px;}
.book-detail .detail-blurb{font-family:'Jost',sans-serif;font-weight:300;line-height:1.85;}
.buy-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px;}
.buy-box input[type=number]{width:74px;padding:11px 12px;border:1px solid #DCCFC2;border-radius:3px;font-family:'Jost',sans-serif;background:#fff;}
.detail-back{display:inline-block;margin-top:34px;font-family:'Jost',sans-serif;font-size:.88rem;}
@media (max-width:820px){
    .book-detail{padding:120px 0 70px;}
    .book-detail .wrap{grid-template-columns:1fr;gap:34px;}
    .book-detail .cover{max-width:280px;}
}

/* =====================================================================
   10. PAGE: CHECKOUT (/checkout)
   ===================================================================== */
.checkout-grid{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start;}
.checkout-fields h1{margin-top:0;}
.checkout-summary{background:#fff;border:1px solid #E6DAD0;border-radius:4px;padding:26px 28px;position:sticky;top:110px;}
.checkout-summary h2{font-family:'Cormorant Garamond',serif;font-size:1.5rem;margin:0 0 18px;}
.checkout-summary .cart-summary-row span:first-child{padding-right:12px;}
.checkout-summary .cart-actions{flex-direction:column;margin-top:22px;gap:10px;}
.checkout-summary .cart-actions .btn{width:100%;text-align:center;white-space:nowrap;}
.pay-methods label{display:inline-flex;align-items:center;gap:10px;}
.pay-methods svg{width:22px;height:22px;flex-shrink:0;color:#3E4A34;}
@media (max-width:900px){
    .checkout-grid{grid-template-columns:1fr;}
    .checkout-summary{position:static;order:-1;}   /* summary above the form on mobile */
}


/* =====================================================================
   11. PAGE: CONTACT (/contact)
   ===================================================================== */
/* ---------------- Contact hero ---------------- */
.contact-hero{margin-top:var(--header-h);padding:90px 0 60px;text-align:center;}
.contact-hero .wrap{max-width:800px;}
.contact-hero h1{margin-top:16px;font-size:clamp(36px,4.4vw,54px);font-style:italic;line-height:1.15;}
.contact-hero p{margin-top:22px;font-size:18px;color:var(--ink-soft);}

/* ---------------- Contact main ---------------- */
.contact-section{padding:20px 0 90px;}
.contact-layout{display:grid;grid-template-columns:1.35fr .9fr;gap:40px;align-items:start;}

/* ----- form card ----- */
.form-card{background:#fff;border:1px solid var(--line);padding:52px;box-shadow:0 24px 50px -30px rgba(75,64,56,.25);}
.form-card h2{font-size:clamp(26px,2.8vw,32px);font-style:italic;}
.form-card > p{margin-top:10px;color:var(--ink-soft);font-size:18px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;}
.field{display:flex;flex-direction:column;margin-top:24px;}
.form-row .field{margin-top:0;}
.field label{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:9px;}
.field input,
.field select,
.field textarea{
    font-family:'Jost',sans-serif;
    font-size:15.5px;
    color:var(--ink);
    background:var(--cream);
    border:1px solid var(--line);
    padding:13px 16px;
    transition:border-color .2s ease, background .2s ease;
    width:100%;
}
.field textarea{resize:vertical;min-height:140px;line-height:1.6;}
.field input:focus,
.field select:focus,
.field textarea:focus{outline:none;border-color:var(--sage-deep);background:#fff;}
.field.has-error input,
.field.has-error select,
.field.has-error textarea{border-color:var(--rose-deep);}
.field .error-msg{margin-top:7px;font-size:12.5px;color:var(--rose-deep);display:none;}
.field.has-error .error-msg{display:block;}
.field select{
    appearance:none;
    -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%234B4038' stroke-width='1.6'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    background-size:16px;
    padding-right:40px;
}
.form-footer-row{margin-top:34px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.form-note{font-size:13px;color:var(--ink-soft);}
.form-status{margin-top:26px;padding:16px 20px;font-size:14.5px;display:none;align-items:flex-start;gap:10px;}
.form-status.show{display:flex;}
.form-status.success{background:var(--sand);color:#3E4A34;border:1px solid var(--sage);}
.form-status.success::before{content:"✓";font-weight:600;}
.form-status.error{background:var(--blush);color:var(--rose-deep);border:1px solid var(--rose);}
.form-status.error::before{content:"!";font-weight:600;}

/* ----- sidebar ----- */
.contact-side > * + *{margin-top:34px;}
.side-card{padding:32px 30px;}
.side-card.sage{background:var(--sage);border-color:var(--sage);color:#324029;margin-top:20px;}
.side-card h3{font-size:20px;font-style:italic;}
.side-card.sage h3{color:#324029;}
.side-card p{margin-top:10px;font-size:18px;color:var(--ink-soft);}
.side-card.sage p{color:rgba(50,64,41,.85);}
.contact-list{margin-top:18px;list-style:none;}
.contact-list li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line);}
.contact-list li:first-child{border-top:0;padding-top:0;}
.contact-list .ci-icon{width:20px;height:20px;flex:none;margin-top:2px;stroke:var(--sage-deep);fill:none;stroke-width:1.6;}
.contact-list .ci-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
.contact-list .ci-value{margin-top:3px;font-size:15.5px;color:var(--ink);}
.side-social{margin-top:20px;display:flex;gap:14px;}
.side-social a{width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .25s ease, box-shadow .25s ease;}
.side-social a:hover{transform:translateY(-3px) scale(1.06);}
.side-social a svg{width:16px;height:16px;}
.social-instagram,
.social-facebook,
.social-youtube,
.social-linkedin{border:2px solid;color:#000;}

@media (max-width:980px){
    .contact-layout{grid-template-columns:1fr;}
    .form-card{padding:36px 26px;}
}
@media (max-width:560px){
    .form-row{grid-template-columns:1fr;}
}

/* ---------------- FAQ ---------------- */
.book-section.alt{padding:80px 0;}
.book-section-head{text-align:center;margin-bottom:56px;}
.book-section-head h2{margin-top:14px;font-size:clamp(28px,3.4vw,40px);font-style:italic;}
.book-section-head p{margin-top:14px;max-width:56ch;margin-left:auto;margin-right:auto;color:var(--ink-soft);font-size:16px;}
.faq-list{max-width:820px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{
    width:100%;
    text-align:left;
    background:none;
    border:0;
    padding:24px 4px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    cursor:pointer;
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-size:24px;
    color:var(--ink);
}
.faq-q .faq-plus{font-family:'Jost',sans-serif;font-style:normal;font-size:20px;color:var(--sage-deep);transition:transform .25s ease;flex:none;}
.faq-item.open .faq-plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-a p{padding:0 4px 24px;color:var(--ink-soft);font-size:17.5px;max-width:70ch;}




/* Book a Call button in header */
.nav-side a.btn-book{
    background:#14532d;
    color:#fff;
    border:1px solid #14532d;
    padding:10px 22px;
    letter-spacing:.16em;
    font-size:12.5px;
    transition:background .25s ease, color .25s ease;
}
.nav-side a.btn-book:hover{
    background:#fff;
    color:#14532d;
}
.nav-right{ gap:32px; } /* a little tighter so the header isn't crowded */
/* Fixed "Book a Call" tab on the right edge */
.book-tab{
    position:fixed;
    right:0;
    top:50%;
    transform:translateY(-50%);
    z-index:60;
    writing-mode:vertical-rl;
    padding:20px 13px;
    background:#425048;
    color:#fff;
    font-size:12.5px;
    letter-spacing:.22em;
    text-transform:uppercase;
    border-radius:8px 0 0 8px;
    box-shadow:0 10px 26px -8px rgba(0,0,0,.4);
    transition:background .25s ease, padding .25s ease;
}
.book-tab:hover{ background:#0f3d22; padding-right:18px; }
@media (max-width:600px){
    .book-tab{ font-size:11px; padding:16px 10px; }
}