/* ============================================================
   cc-blog.css — shared styles for all blog post pages
   ============================================================ */

/* ── POST HERO ── */
.post-hero{position:relative;min-height:62vh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(56px,8vw,96px);padding-top:140px;overflow:hidden;}
.post-hero-media{position:absolute;inset:0;}
.post-hero-media .ph{position:absolute;inset:0;}
.post-hero-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(38,37,34,.96) 0%,rgba(38,37,34,.45) 50%,rgba(38,37,34,.6) 100%),linear-gradient(to right,rgba(38,37,34,.6) 0%,rgba(38,37,34,0) 62%);z-index:1;}
.post-hero-frame{position:absolute;inset:24px;border:1px solid rgba(255,255,255,.18);pointer-events:none;z-index:3;}
.post-hero-body{position:relative;z-index:2;}
.post-category{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:18px;}
.post-category::before{content:"";width:20px;height:1.5px;background:var(--gold);flex-shrink:0;}
.post-hero-title{font-family:var(--serif);font-weight:600;font-size:clamp(34px,5.5vw,72px);line-height:1.02;color:#fff;margin:0 0 20px;max-width:18ch;letter-spacing:-.015em;}
.post-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.post-meta-item{font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:7px;}
.post-meta-item svg{color:var(--gold-soft);}
@media(max-width:600px){.post-hero-frame{inset:14px;}}

/* ── CENTRED HERO CONTENT ── */
.post-hero-body .container{display:flex;flex-direction:column;align-items:center;text-align:center;}
.post-category{justify-content:center;}
.post-hero-title{margin-left:auto;margin-right:auto;}
.post-meta{justify-content:center;}

/* ── POST BODY ── */
.post-layout{display:grid;grid-template-columns:1fr 320px;gap:clamp(40px,5vw,80px);align-items:start;margin-top:clamp(48px,6vw,80px);}
.post-content{}
.post-sidebar{position:sticky;top:100px;}

/* article typography */
.post-content h2{font-family:var(--serif);font-weight:600;font-size:clamp(24px,2.8vw,36px);color:var(--ink);line-height:1.08;margin:clamp(36px,4vw,56px) 0 16px;letter-spacing:-.008em;}
.post-content h3{font-family:var(--serif);font-weight:600;font-size:clamp(20px,2vw,26px);color:var(--ink);line-height:1.12;margin:28px 0 12px;}
.post-content p{font-family:var(--sans);font-size:clamp(15px,1.1vw,16.5px);line-height:1.78;color:var(--ink-soft);margin:0 0 22px;}
.post-content p:last-child{margin-bottom:0;}
.post-content strong{color:var(--ink);font-weight:600;}
.post-content em{font-style:italic;}
.post-content ul,.post-content ol{margin:0 0 22px;padding-left:0;list-style:none;}
.post-content li{font-family:var(--sans);font-size:clamp(15px,1.1vw,16.5px);line-height:1.72;color:var(--ink-soft);padding:9px 0 9px 24px;border-bottom:1px solid var(--line-2);position:relative;}
.post-content li:last-child{border-bottom:none;}
.post-content li::before{content:"✦";position:absolute;left:0;top:12px;font-size:7px;color:var(--gold);}
.post-content ol{counter-reset:step;}
.post-content ol li{counter-increment:step;}
.post-content ol li::before{content:counter(step);font-family:var(--serif);font-style:italic;font-size:18px;color:var(--gold-ink);top:8px;}

/* pull quote */
.post-pull{margin:clamp(32px,4vw,52px) 0;padding:28px 32px;border-left:3px solid var(--gold);background:var(--paper-2);}
.post-pull p{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.2vw,28px);line-height:1.32;color:var(--ink);margin:0!important;}
.post-pull cite{display:block;font-family:var(--sans);font-size:12px;font-style:normal;letter-spacing:.08em;color:var(--ink-mut);margin-top:12px;}

/* inline callout box */
.post-callout{margin:clamp(28px,3vw,44px) 0;padding:24px 26px;background:rgba(184,168,122,.08);border:1px solid var(--gold-line);border-left:3px solid var(--gold);}
.post-callout p{font-family:var(--sans);font-size:14.5px;line-height:1.7;color:var(--ink-soft);margin:0!important;}
.post-callout strong{color:var(--ink);}

/* ── AUTHOR BLOCK ── */
.post-author{display:flex;align-items:flex-start;gap:20px;padding:clamp(28px,4vw,40px);background:var(--paper-2);border-top:2px solid var(--gold-line);margin-top:clamp(40px,5vw,64px);}
.author-av{width:60px;height:60px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--sand);}
.author-av img{width:100%;height:100%;object-fit:cover;}
.author-name{font-family:var(--serif);font-weight:600;font-size:20px;color:var(--ink);margin:0 0 4px;}
.author-role{font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mut);margin-bottom:10px;}
.author-bio{font-family:var(--sans);font-size:13.5px;line-height:1.66;color:var(--ink-soft);}

/* ── SIDEBAR ── */
.sidebar-section{margin-bottom:36px;}
.sidebar-label{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.sidebar-label::before{content:"";width:16px;height:1.5px;background:var(--gold);}
.sidebar-cta{background:var(--ink-deep);padding:28px 24px;}
.sidebar-cta h3{font-family:var(--serif);font-weight:600;font-size:22px;color:#fff;margin:0 0 12px;line-height:1.1;}
.sidebar-cta p{font-family:var(--sans);font-size:13.5px;line-height:1.65;color:#aca79c;margin:0 0 20px;}
.sidebar-posts{display:flex;flex-direction:column;gap:0;}
.sidebar-post{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;}
.sidebar-post:last-child{border-bottom:none;}
.sidebar-post-title{font-family:var(--serif);font-weight:600;font-size:16px;color:var(--ink);line-height:1.2;margin-bottom:6px;transition:color .2s;}
.sidebar-post:hover .sidebar-post-title{color:var(--gold-ink);}
.sidebar-post-meta{font-family:var(--sans);font-size:11.5px;color:var(--ink-mut);}

/* ── POST NAV ── */
.post-nav{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:clamp(40px,5vw,64px);}
.post-nav-item{display:flex;flex-direction:column;padding:clamp(24px,3vw,40px);text-decoration:none;color:inherit;transition:background .3s;}
.post-nav-item:hover{background:var(--paper-2);}
.post-nav-item:first-child{border-right:1px solid var(--line);}
.post-nav-dir{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mut);margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.post-nav-item:last-child .post-nav-dir{justify-content:flex-end;}
.post-nav-title{font-family:var(--serif);font-weight:600;font-size:clamp(17px,2vw,22px);color:var(--ink);line-height:1.12;}
.post-nav-item:last-child{text-align:right;}
@media(max-width:560px){.post-nav{grid-template-columns:1fr;}.post-nav-item:first-child{border-right:none;border-bottom:1px solid var(--line);}}

/* ── RESPONSIVE ── */
@media(max-width:960px){.post-layout{grid-template-columns:1fr;}.post-sidebar{position:static;}}
