/* Rigor Strategy — Insights / Blog stylesheet
   Shares the exact design tokens and nav/footer treatment of the main site. */
:root{--ink:#1a1714;--ink2:#3d3a35;--ink3:#7a7570;--gold:#b8892a;--gold-light:#f0d98a;--cream:#faf8f3;--cream2:#f2ede2;--white:#fff;--border:rgba(26,23,20,.11);--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans)}
a{color:inherit}
img{max-width:100%}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--white);padding:10px;z-index:999}
.skip-link:focus{left:8px}

/* ---------- NAV (identical to main site) ---------- */
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:16px 56px;background:rgba(250,248,243,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-logo img{height:54px;width:auto}
.nav-logo>span{font-family:var(--serif);font-size:22px}
.nav-logo span span{color:var(--gold);margin-left:3px}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--ink2)}
.nav-links a:hover{color:var(--gold)}
.nav-links a.active{color:var(--gold)}
.nav-cta{background:var(--ink);color:var(--cream)!important;padding:12px 22px;border-radius:3px;text-transform:none!important;letter-spacing:.02em!important}
.menu-btn{display:none}
.nav-dropdown{position:relative;display:inline-flex;align-items:center}
.nav-dropdown-toggle{font-family:var(--sans);background:none;border:0;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--ink2);display:inline-flex;align-items:center;gap:6px;padding:0;line-height:1}
.nav-dropdown-toggle .caret{font-size:9px;transition:transform .2s}
.nav-dropdown.open .nav-dropdown-toggle .caret{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 16px);right:0;min-width:250px;background:var(--white);border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 48px -20px rgba(26,23,20,.30);padding:8px;display:none;z-index:120}
.nav-dropdown.open .nav-dropdown-menu{display:block}
.nav-dropdown-menu .dd-label{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);font-weight:700;padding:8px 14px 6px}
.nav-dropdown-menu a{display:block;text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink);padding:11px 14px;border-radius:7px;line-height:1.35}
.nav-dropdown-menu a small{display:block;font-size:12px;color:var(--ink3);margin-top:2px;font-weight:400}
.nav-dropdown-menu a:hover{background:var(--cream2);color:var(--gold)}

/* ---------- TYPOGRAPHY ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0;color:var(--ink)}
.eyebrow{color:var(--gold);letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:700;margin:0 0 18px}
.btn-gold{background:var(--gold);color:var(--ink);padding:14px 26px;border-radius:4px;font-weight:700;text-decoration:none;display:inline-block}
.btn-gold:hover{background:#a87a22}
.btn-ghost{display:inline-block;border:1px solid rgba(255,255,255,.4);color:#fff;padding:13px 24px;border-radius:4px;text-decoration:none;font-weight:600}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-light)}

/* ---------- LAYOUT ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:0 56px}

/* ---------- LISTING: HERO ---------- */
.insights-hero{background:var(--ink);color:#fff;padding:84px 56px 70px}
.insights-hero .inner{max-width:1180px;margin:0 auto}
.insights-hero .eyebrow{color:var(--gold-light)}
.insights-hero h1{color:#fff;font-size:clamp(40px,5.4vw,66px);letter-spacing:-1px;max-width:880px}
.insights-hero p{color:rgba(255,255,255,.7);font-weight:300;font-size:18px;max-width:660px;margin:22px 0 0}

/* ---------- FILTER CHIPS ---------- */
.filters{display:flex;flex-wrap:wrap;gap:10px;max-width:1180px;margin:0 auto;padding:34px 56px 0}
.chip{border:1px solid var(--border);background:var(--white);color:var(--ink2);font:600 13px var(--sans);padding:9px 18px;border-radius:40px;cursor:pointer;transition:.15s}
.chip:hover{border-color:var(--gold)}
.chip.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* ---------- CARDS ---------- */
.cards{max-width:1180px;margin:0 auto;padding:30px 56px 90px}
.card-tag{display:inline-block;font:700 10px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.featured{display:grid;grid-template-columns:1.05fr 1fr;gap:0;background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:30px}
.featured .media{background:var(--cream2);min-height:330px;background-size:cover;background-position:center}
.featured .body{padding:46px 46px}
.featured .pin{font:700 10px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--ink3);margin-bottom:14px}
.featured h2{font-size:clamp(26px,3vw,38px);letter-spacing:-.5px;margin-bottom:0}
.featured p{color:var(--ink2);font-weight:300;font-size:15.5px;margin:16px 0 0}
.featured .meta{color:var(--ink3);font-size:12.5px;margin:22px 0 0}
.featured .more{display:inline-block;margin-top:20px;color:var(--gold);font-weight:700;font-size:14px;text-decoration:none}
.featured .more:hover{text-decoration:underline}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;text-decoration:none;transition:.2s;color:inherit}
.post:hover{transform:translateY(-4px);box-shadow:0 18px 44px -22px rgba(26,23,20,.35)}
.post .media{aspect-ratio:16/10;background:var(--cream2);background-size:cover;background-position:center}
.post .body{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.post h3{font-size:21px;line-height:1.18;margin-bottom:0}
.post p{color:var(--ink3);font-size:14px;margin:12px 0 0}
.post .meta{color:var(--ink3);font-size:12px;margin:16px 0 0}
.post .more{margin-top:14px;color:var(--gold);font-weight:700;font-size:13.5px}
.hidden{display:none!important}

/* ---------- ARTICLE: HERO ---------- */
.art-hero{background:var(--ink);color:#fff;padding:74px 56px 60px}
.art-hero .inner{max-width:760px;margin:0 auto}
.art-hero .eyebrow{color:var(--gold-light)}
.art-hero h1{color:#fff;font-size:clamp(32px,4.4vw,52px);letter-spacing:-.5px}
.art-hero .meta{color:rgba(255,255,255,.62);font-size:13px;margin:24px 0 0;letter-spacing:.02em}
.art-photo-hero{background:linear-gradient(90deg,rgba(26,23,20,.93),rgba(26,23,20,.6)),var(--hero-img) center/cover;}

/* ---------- ARTICLE: BODY ---------- */
.article{max-width:760px;margin:0 auto;padding:54px 56px 40px}
.lead-figure{max-width:980px;margin:38px auto 0;padding:0 56px}
.lead-figure figure{margin:0;background:var(--white);border:1px solid var(--border);border-radius:12px;padding:18px;text-align:center}
.lead-figure img{border-radius:6px}
.lead-figure figcaption{color:var(--ink3);font-size:12.5px;margin-top:12px}
.prose{font-size:17px;color:var(--ink2);line-height:1.75}
.prose>p:first-of-type{font-size:19px;color:var(--ink);font-weight:300}
.prose h2{font-size:29px;margin:46px 0 16px;color:var(--ink)}
.prose h3{font-size:21px;margin:34px 0 10px;color:var(--ink)}
.prose h4{font-size:18px;margin:26px 0 8px}
.prose p{margin:0 0 18px}
.prose strong{color:var(--ink);font-weight:700}
.prose a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.prose ul,.prose ol{margin:0 0 18px;padding-left:22px}
.prose li{margin:0 0 9px}
.prose ul li::marker{color:var(--gold)}
.prose ol li::marker{color:var(--gold);font-weight:700}
.prose hr{border:0;border-top:1px solid var(--border);margin:36px 0}
.prose blockquote{margin:24px 0;padding:4px 0 4px 22px;border-left:3px solid var(--gold);color:var(--ink2);font-style:italic}
.prose em{color:var(--ink2)}
.table-wrap{overflow-x:auto;margin:0 0 22px;border:1px solid var(--border);border-radius:10px}
.prose table{border-collapse:collapse;width:100%;font-size:13.5px;min-width:640px}
.prose th,.prose td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--ink2)}
.prose thead th{background:var(--cream2);color:var(--ink);font-weight:700;font-size:12px;letter-spacing:.02em}
.prose tbody tr:last-child td{border-bottom:0}
.prose tbody td:first-child{color:var(--ink);font-weight:600}

/* ---------- FAQ ACCORDION ---------- */
.faq{max-width:760px;margin:0 auto;padding:10px 56px 20px}
.faq h2{font-size:29px;margin:0 0 20px}
.faq details{border:1px solid var(--border);border-radius:10px;background:var(--white);margin:0 0 12px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:600;color:var(--ink);font-size:16px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--gold);font-size:22px;font-weight:400;line-height:1}
.faq details[open] summary::after{content:'–'}
.faq details[open] summary{border-bottom:1px solid var(--border)}
.faq .ans{padding:16px 22px 20px;color:var(--ink2);font-size:15px;line-height:1.7}

/* ---------- AUTHOR BOX ---------- */
.author{max-width:760px;margin:34px auto 0;padding:0 56px}
.author .card{display:flex;gap:24px;align-items:center;background:var(--white);border:1px solid var(--border);border-top:4px solid var(--gold);border-radius:10px;padding:28px 30px}
.author .avatar{flex:0 0 auto;width:78px;height:78px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;overflow:hidden}
.author .avatar img{width:60px;height:auto;display:block}
.author h4{font-size:21px;margin:0 0 7px}
.author p{margin:0;color:var(--ink3);font-size:14.5px;line-height:1.6}

/* ---------- CTA BAND ---------- */
.cta-band{max-width:760px;margin:36px auto 0;padding:0 56px}
.cta-band .inner{background:var(--ink);color:#fff;border-radius:14px;padding:46px 44px;text-align:center}
.cta-band h3{color:#fff;font-size:28px;margin:0 0 10px}
.cta-band p{color:rgba(255,255,255,.66);font-weight:300;margin:0 auto 24px;max-width:480px}

/* ---------- BACK LINK ---------- */
.backbar{max-width:760px;margin:0 auto;padding:26px 56px 0}
.backbar a{color:var(--ink3);text-decoration:none;font-size:13px;font-weight:600}
.backbar a:hover{color:var(--gold)}

/* ---------- FOOTER (identical to main site) ---------- */
footer{background:var(--ink);color:rgba(255,255,255,.45);padding:36px 56px;display:flex;justify-content:space-between;align-items:center;margin-top:70px;font-size:13px}
footer img{height:46px;width:auto}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  nav{padding:14px 24px}
  .nav-links{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:20px 24px;border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start}
  .nav-links.open{display:flex}
  .menu-btn{display:block;background:transparent;border:1px solid var(--border);padding:9px 12px;font:600 13px var(--sans);border-radius:4px;cursor:pointer}
  .nav-dropdown{display:block;width:100%}
  .nav-dropdown-menu{position:static;display:none;box-shadow:none;border:0;background:transparent;padding:4px 0 4px 14px;min-width:0}
  .nav-dropdown.open .nav-dropdown-menu{display:block}
  .insights-hero,.art-hero{padding-left:24px;padding-right:24px}
  .filters,.cards{padding-left:24px;padding-right:24px}
  .article,.faq,.author,.cta-band,.backbar{padding-left:24px;padding-right:24px}
  .lead-figure{padding-left:24px;padding-right:24px}
  .featured{grid-template-columns:1fr}
  .featured .media{min-height:210px}
  .featured .body{padding:32px 28px}
  .grid{grid-template-columns:1fr}
  footer{padding:30px 24px;flex-direction:column;gap:14px;text-align:center}
}
