/*
Theme Name: Global Leaders Hub
Theme URI: https://globalleadershub.com/
Author: Sandeep Anand
Author URI: https://sandeepanand.in/
Description: Custom black-and-gold theme for Global Leaders Hub (globalleadershub.com), built to match the sandeepanand.in design system. Includes a dynamic homepage, About page, blog archive with infinite scroll, and a full single-post template with table of contents, FAQ accordion, and product CTA.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: global-leaders-hub
*/

/* ==========================================================================
   This stylesheet is a merge of the design-system CSS used across all
   Global Leaders Hub page types (home, about, blog archive, single post).
   There is some intentional overlap between sections for safety — nothing
   here needs to be deduplicated for the site to work correctly.
   ========================================================================== */

:root{--goldrgb:201,147,58;--golddark:#a87228}
/* ══ DESIGN SYSTEM ══ */
:root{
  --ink:#080808;--ink2:#0f0f0f;--ink3:#161616;--ink4:#1e1e1e;--ink5:#252525;
  --gold:#c9933a;--glt:#e8bf78;--gdim:rgba(201,147,58,.12);
  --bdr:rgba(201,147,58,.18);--bdim:rgba(201,147,58,.07);
  --white:#fff;--cream:#f0ebe0;--grey:#888;--grey2:#555;
  --fd:'Cormorant Garamond',Georgia,serif;--fb:'Outfit',sans-serif
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{font-family:'Outfit',sans-serif !important;font-weight:300;background:#080808 !important;color:#f0ebe0 !important;overflow-x:hidden;max-width:100%;width:100%;padding-top:70px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:'Outfit',sans-serif}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.02;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ── UTILS ── */
.btng{display:inline-flex !important;align-items:center;gap:9px;padding:14px 30px;background:linear-gradient(135deg,#c9933a,#a87228) !important;color:#080808 !important;-webkit-text-fill-color:#080808 !important;font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;border:none !important;cursor:pointer;border-radius:2px;transition:all .25s}
.btng:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(201,147,58,.4)}
.btno{display:inline-flex;align-items:center;gap:9px;padding:13px 28px;border:1px solid #c9933a !important;color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;font-weight:500;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:all .25s;background:transparent !important}
.btno:hover{background:#c9933a !important;color:#080808 !important;-webkit-text-fill-color:#080808 !important}

/* ── NAV ── */
.sa-nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(8,8,8,.93) !important;backdrop-filter:blur(20px);border-bottom:1px solid rgba(201,147,58,.18) !important;padding:0 40px}
.sa-nav .navi{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:70px}
.sa-nav .nav-logo img{height:34px;width:auto}
.sa-nav .navul{display:flex;list-style:none}
.sa-nav .navul a{display:block;padding:8px 16px;font-size:.72rem !important;letter-spacing:.08em;text-transform:uppercase;color:rgba(240,235,224,.55) !important;-webkit-text-fill-color:rgba(240,235,224,.55) !important;font-weight:500;transition:color .2s;position:relative}
.sa-nav .navul a::after{content:'';position:absolute;bottom:0;left:16px;right:16px;height:1px;background:#c9933a;transform:scaleX(0);transition:transform .25s}
.sa-nav .navul a:hover,.sa-nav .navul a.cur{color:#e8bf78 !important;-webkit-text-fill-color:#e8bf78 !important}
.sa-nav .navul a:hover::after,.sa-nav .navul a.cur::after{transform:scaleX(1)}
.sa-nav .hass{position:relative}
.sa-nav .subm{position:absolute;top:100%;left:0;background:#161616;border:1px solid rgba(201,147,58,.18);min-width:210px;list-style:none;opacity:0;pointer-events:none;transform:translateY(-6px);transition:all .25s;z-index:201}
.sa-nav .hass:hover .subm{opacity:1;pointer-events:all;transform:translateY(0)}
.sa-nav .subm li a{padding:10px 18px;border-bottom:1px solid rgba(201,147,58,.07);display:block;font-size:.72rem;text-transform:none;letter-spacing:.03em}
.sa-nav .ncta{padding:8px 20px;border:1px solid #c9933a !important;color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;transition:all .25s;border-radius:2px;background:transparent !important}
.sa-nav .ncta:hover{background:#c9933a !important;color:#080808 !important;-webkit-text-fill-color:#080808 !important}
.sa-nav .hmbg{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px}
.sa-nav .hmbg span{width:22px;height:1.5px;background:#f0ebe0;display:block;transition:all .3s}
.sa-nav .hmbg.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.sa-nav .hmbg.open span:nth-child(2){opacity:0}
.sa-nav .hmbg.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobm{display:none;position:fixed;top:70px;left:0;right:0;bottom:0;z-index:199;background:#0f0f0f;border-bottom:1px solid rgba(201,147,58,.18);padding:18px 40px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.mobm.open{display:block}
.mobm ul{list-style:none}.mobm ul li{border-bottom:1px solid rgba(201,147,58,.07)}.mobm ul li a{display:block;padding:14px 0;font-size:.9rem;color:#f0ebe0}

/* ── PAGE HERO ── */
.phero{padding:100px 40px 64px;text-align:center;position:relative;z-index:1;overflow:hidden}
.phero::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(201,147,58,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(201,147,58,.07) 1px,transparent 1px);
  background-size:72px 72px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 10%,transparent 75%)}
.phero::after{content:'';position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:700px;height:700px;z-index:0;pointer-events:none;background:radial-gradient(circle,rgba(201,147,58,.07) 0%,transparent 62%)}
.ph-in{position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;gap:14px;margin-bottom:22px;animation:rUp .8s cubic-bezier(.22,1,.36,1) both;flex-wrap:wrap;justify-content:center}
.eln{width:44px;height:1px;background:linear-gradient(90deg,transparent,#c9933a)}.eln.r{background:linear-gradient(90deg,#c9933a,transparent)}
.eyebrow span{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:#c9933a;font-weight:500}
.phero h1{font-family:'Cormorant Garamond',Georgia,serif !important;font-size:clamp(2.4rem,8vw,5.2rem) !important;font-weight:300;color:#fff !important;line-height:1.05;margin-bottom:14px;animation:rUp .8s .1s cubic-bezier(.22,1,.36,1) both}
.phero h1 em{font-style:italic;color:#c9933a !important}
.phero-sub{font-size:.95rem;color:rgba(240,235,224,.58);max-width:520px;margin:0 auto;line-height:1.8;animation:rUp .8s .2s cubic-bezier(.22,1,.36,1) both}

/* ── ARCHIVE LAYOUT ── */
.archive-shell{max-width:1200px;margin:0 auto;padding:0 40px 88px;position:relative;z-index:1}
.archive-cols{display:grid;grid-template-columns:1fr 292px;gap:48px;align-items:start}

/* ── FILTER TABS ──────────────────────────────────────────────────
   v2: added -webkit-text-fill-color everywhere color is set, as
   defense-in-depth against sitewide Additional CSS button rules
   (this is what caused the tabs to render with invisible text —
   see functions.php-side fix note). Also bumped touch target size
   on mobile in the responsive block below. ─────────────────────── */
.ftabs{display:flex;gap:0;border:1px solid rgba(201,147,58,.18) !important;border-radius:2px;overflow:hidden;margin-bottom:32px;animation:rUp .8s .3s cubic-bezier(.22,1,.36,1) both;background:#080808 !important}
.ftab{
  flex:1;padding:12px 4px;text-align:center;
  font-family:'Outfit',sans-serif !important;
  font-size:.62rem !important;letter-spacing:.09em;text-transform:uppercase;font-weight:500;
  color:rgba(240,235,224,.55) !important;
  -webkit-text-fill-color:rgba(240,235,224,.55) !important;
  cursor:pointer;transition:all .2s;
  border:none !important;border-right:1px solid rgba(201,147,58,.18) !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:none !important;
  -webkit-appearance:none;appearance:none;
  min-height:44px;
}
.ftab:last-child{border-right:none !important}
.ftab.on,
.ftab:hover{
  color:#c9933a !important;
  -webkit-text-fill-color:#c9933a !important;
  background:rgba(201,147,58,.12) !important;
}
.ftab:focus{
  color:#c9933a !important;
  -webkit-text-fill-color:#c9933a !important;
  background:rgba(201,147,58,.12) !important;
  outline:none !important;
  box-shadow:none !important;
}

/* ── BLOG GRID ── */
.blg{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(201,147,58,.18);border:1px solid rgba(201,147,58,.18);min-height:120px}
/* v3 FIX: grid/flex items default to min-width:auto, meaning they will
   NOT shrink below their content's natural width — a single long
   unbroken run of text (a keyword-stuffed excerpt, a URL, etc.) or an
   image before object-fit fully applies can silently force the whole
   grid track, and therefore the whole page, wider than the viewport.
   This is almost certainly what was pushing the featured card (and
   the page itself, hence the full-height scrollbar) past 100vw on
   mobile. min-width:0 lets grid/flex items actually shrink to fit. */
.blg,.bl,.blb,.blim,.archive-cols,.archive-cols>*,.sidebar,.ftabs{min-width:0}

/* card */
.bl{background:#0f0f0f;overflow:hidden;display:flex;flex-direction:column;transition:background .3s,opacity .5s,transform .5s;opacity:0;transform:translateY(18px);position:relative}
.bl.visible{opacity:1;transform:translateY(0)}
.bl:hover{background:#161616}
.bl-feat{grid-column:1/-1}
.bl-feat .blttl{font-size:1.42rem}
.bl-feat .blb{padding:28px 30px 32px}
.blim{background:#1e1e1e;position:relative;flex-shrink:0;padding:10px 10px 0;overflow:hidden}
.blim img{width:100%;max-width:100%;height:auto;max-height:360px;object-fit:contain;object-position:center top;display:block;transition:transform .55s}
.bl:hover .blim img{transform:scale(1.02)}
.bl-feat .blim{padding:16px 16px 0;margin-top:16px}
.bl-feat .blim img{max-height:460px}
.bl-badge{position:absolute;top:12px;left:12px;padding:4px 12px;background:#c9933a !important;color:#080808 !important;-webkit-text-fill-color:#080808 !important;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;border-radius:2px;z-index:10;box-shadow:0 3px 10px rgba(0,0,0,.55);pointer-events:none}
.blim-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#161616 0%,#252525 100%);padding:20px}
.blim-ph span{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:300;color:rgba(201,147,58,.28);text-align:center;line-height:1.35}
.blb{padding:22px 22px 26px;flex:1;display:flex;flex-direction:column}
.blcat{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;font-weight:500;margin-bottom:7px}
.blttl{font-family:'Cormorant Garamond',Georgia,serif !important;font-size:1.06rem;font-weight:600;color:#fff !important;line-height:1.26;margin-bottom:8px;flex:1;overflow-wrap:break-word;word-break:break-word;max-width:100%}
.blttl a{color:#fff !important;-webkit-text-fill-color:#fff !important}
.blttl a:hover{color:#e8bf78 !important;-webkit-text-fill-color:#e8bf78 !important}
.blex{font-size:.78rem;color:#888;line-height:1.65;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;word-break:break-word;max-width:100%}
.blmeta{font-size:.64rem;color:#555;display:flex;align-items:center;gap:7px}
.blmeta-dot{width:3px;height:3px;border-radius:50%;background:#555;flex-shrink:0}
.blrd{display:inline-flex;align-items:center;gap:5px;margin-top:12px;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;font-weight:500;width:fit-content}
.blrd:hover{color:#e8bf78 !important;-webkit-text-fill-color:#e8bf78 !important}

/* ── LOAD STATES ── */
#load-area{padding:32px 0;text-align:center}
.spinner{width:28px;height:28px;border:2px solid rgba(201,147,58,.2);border-top-color:#c9933a;border-radius:50%;animation:spin .75s linear infinite;margin:0 auto}
@keyframes spin{to{transform:rotate(360deg)}}
.end-rule{display:flex;align-items:center;gap:16px;justify-content:center}
.end-rule::before,.end-rule::after{content:'';flex:1;max-width:52px;height:1px}
.end-rule::before{background:linear-gradient(90deg,transparent,#c9933a)}
.end-rule::after{background:linear-gradient(90deg,#c9933a,transparent)}
.end-rule span{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#555}
.blg-msg{grid-column:1/-1;padding:60px 24px;text-align:center;color:#888;font-size:.88rem;line-height:1.8}
.blg-msg a{color:#c9933a}

/* ── SIDEBAR ── */
.sidebar{position:sticky;top:90px;display:flex;flex-direction:column;gap:18px}
.sb-card{background:#0f0f0f !important;border:1px solid rgba(201,147,58,.18) !important;padding:22px}
.sb-head{
  font-family:'Outfit',sans-serif !important;
  font-size:.58rem !important;letter-spacing:.16em;text-transform:uppercase;
  color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;font-weight:600;
  margin-bottom:14px;padding-bottom:10px;
  border-bottom:1px solid rgba(201,147,58,.07) !important;
  background:transparent !important;
}
/* search */
.sb-search{display:flex}
.sb-in{
  flex:1;padding:9px 13px;
  background:#1e1e1e !important;
  border:1px solid rgba(201,147,58,.18) !important;
  border-right:none !important;
  outline:none;
  color:#fff !important;
  font-size:16px;
  font-family:'Outfit',sans-serif !important;
}
.sb-in::placeholder{color:#555 !important}
.sb-btn{
  padding:9px 15px;
  background:#c9933a !important;
  border:none !important;
  cursor:pointer;
  color:#080808 !important;
  -webkit-text-fill-color:#080808 !important;
  font-size:.82rem;
  transition:background .2s;
  flex-shrink:0;
  border-radius:0 !important;
  box-shadow:none !important;
  min-width:44px;
}
.sb-btn:hover{background:#e8bf78 !important}

/* categories sidebar */
.sb-catlist{list-style:none !important;margin:0 !important;padding:0 !important}
.sb-catlist li{
  border-bottom:1px solid rgba(201,147,58,.07) !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.sb-catlist li:last-child{border-bottom:none !important}
.sb-catlist button{
  display:flex !important;align-items:center;justify-content:space-between;
  width:100% !important;
  padding:11px 0 !important;
  min-height:44px;
  background:none !important;
  border:none !important;
  cursor:pointer;
  font-family:'Outfit',sans-serif !important;
  font-size:.8rem !important;
  color:#aaa !important;
  -webkit-text-fill-color:#aaa !important;
  transition:color .2s;
  text-align:left;
  border-radius:0 !important;
  box-shadow:none !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  font-weight:400 !important;
}
.sb-catlist button:hover,
.sb-catlist button.on{color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;background:transparent !important}
.sb-catlist button:focus{outline:none !important;box-shadow:none !important}
/* count badge */
.sb-catlist button em{
  font-style:normal;
  font-size:.62rem;
  color:#666 !important;
  -webkit-text-fill-color:#666 !important;
  background:#161616 !important;
  padding:2px 8px;
  border-radius:2px;
  min-width:24px;
  text-align:center;
  font-weight:400;
  flex-shrink:0;
}
.sb-catlist button.on em{color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;background:rgba(201,147,58,.12) !important}

/* popular posts */
.sb-poplist{display:flex;flex-direction:column;gap:14px}
.sb-pop{display:flex;gap:12px;align-items:flex-start}
.sb-pop-img{width:60px;height:46px;object-fit:cover;flex-shrink:0;background:#1e1e1e}
.sb-pop-ttl{font-family:'Cormorant Garamond',serif !important;font-size:.88rem;font-weight:600;color:#f0ebe0 !important;-webkit-text-fill-color:#f0ebe0 !important;line-height:1.3;transition:color .2s;display:block}
.sb-pop-ttl:hover{color:#e8bf78 !important;-webkit-text-fill-color:#e8bf78 !important}
.sb-pop-date{font-size:.62rem;color:#555;margin-top:3px}

/* newsletter */
.sb-nl-in{display:block;width:100%;padding:10px 13px;background:#1e1e1e !important;border:1px solid rgba(201,147,58,.18) !important;outline:none;color:#fff !important;font-size:16px;margin-bottom:9px;font-family:'Outfit',sans-serif !important}
.sb-nl-in::placeholder{color:#555 !important}
.sb-nl-btn{width:100%;padding:13px;background:linear-gradient(135deg,#c9933a,#a87228) !important;border:none !important;cursor:pointer;color:#080808 !important;-webkit-text-fill-color:#080808 !important;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:opacity .2s;border-radius:0 !important;box-shadow:none !important;font-family:'Outfit',sans-serif !important;min-height:44px}
.sb-nl-btn:hover{opacity:.88}

/* sidebar CTA */
.sb-cta{background:#161616 !important;border:1px solid rgba(201,147,58,.18) !important;padding:24px;text-align:center}
.sb-cta-h{font-family:'Cormorant Garamond',serif !important;font-size:1.18rem;font-weight:300;color:#fff !important;line-height:1.28;margin-bottom:8px}
.sb-cta-h em{font-style:italic;color:#c9933a !important}
.sb-cta-p{font-size:.74rem;color:#888 !important;margin-bottom:16px;line-height:1.65}

/* ── FOOTER ── */
.ft{position:relative;z-index:1;background:#080808 !important;padding:64px 40px 38px}
.fttop{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;padding-bottom:48px;border-bottom:1px solid rgba(201,147,58,.18)}
.ftbr img{height:34px;width:auto;margin-bottom:14px}
.ftbr p{font-size:.8rem;color:#888;line-height:1.7;max-width:240px}
.ftcol h4{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;font-weight:600;margin-bottom:16px}
.ftcol ul{list-style:none}.ftcol ul li{margin-bottom:9px}
.ftcol ul li a{font-size:.82rem;color:#888;transition:color .2s}.ftcol ul li a:hover{color:#e8bf78}
.ftbot{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding-top:26px;flex-wrap:wrap;gap:14px}
.ftcp{font-size:.72rem;color:#555}.ftcp a{color:#c9933a}
.ftsoc{display:flex;gap:12px}
.soca{width:36px;height:36px;border:1px solid rgba(201,147,58,.18);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#888;transition:all .25s}
.soca:hover{border-color:#c9933a;color:#c9933a;background:rgba(201,147,58,.12)}

/* float CTA */
.fcta{position:fixed;bottom:28px;right:28px;z-index:150;animation:rUp 1s 1.2s cubic-bezier(.22,1,.36,1) both}
.fcta a{display:flex;align-items:center;gap:9px;padding:12px 20px;background:#c9933a !important;color:#080808 !important;-webkit-text-fill-color:#080808 !important;font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border-radius:2px;box-shadow:0 8px 28px rgba(201,147,58,.42);transition:all .25s}
.fcta a:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(201,147,58,.52)}
.dot{width:6px;height:6px;background:#080808;border-radius:50%;animation:pd 2s infinite;flex-shrink:0}

@keyframes rUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes pd{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media(max-width:1040px){
  .archive-cols{grid-template-columns:1fr}
  .sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
  .blg{grid-template-columns:repeat(2,1fr)}
  .bl-feat{grid-column:1/-1}
  .fttop{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  body{padding-top:62px}
  .sa-nav{padding:0 16px}
  .sa-nav .navi{height:62px}
  .sa-nav .navul{display:none}
  .sa-nav .hmbg{display:flex}
  .mobm{top:62px}
  .mobm{padding:12px 20px 24px}
  .phero{padding:56px 20px 40px}
  .phero-sub{font-size:.88rem}
  .eyebrow{gap:8px;margin-bottom:16px}
  .eln{width:26px}
  .eyebrow span{font-size:.58rem;letter-spacing:.12em}
  .archive-shell{padding-left:20px;padding-right:20px;padding-bottom:56px}

  /* Filter tabs: horizontal scroll with visible affordance + bigger
     touch targets instead of squeezing 6 tabs into one row */
  .ftabs{
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;border-radius:2px;
    -ms-overflow-style:none;scrollbar-width:none;
  }
  .ftabs::-webkit-scrollbar{display:none}
  .ftab{flex:0 0 auto;padding:12px 18px;font-size:.68rem;scroll-snap-align:start;min-width:auto}

  /* Blog grid → single column, bigger tap targets, more breathing room */
  .blg{grid-template-columns:1fr}
  .bl-feat .blb{padding:22px 20px 26px}
  .bl-feat .blttl{font-size:1.2rem}
  .blb{padding:20px}
  .blttl{font-size:1.02rem}

  /* Sidebar: stack fully on phones (2-col grid only makes sense on
     tablet widths, not narrow phones) */
  .sidebar{grid-template-columns:1fr}
  .sb-card{padding:18px}

  .fttop{grid-template-columns:1fr;gap:32px}
  .ft{padding:48px 20px 28px}
  .ftbot{flex-direction:column;align-items:flex-start}
  .fcta{bottom:16px;right:16px}
  .fcta a{padding:11px 16px;font-size:.68rem}
}
@media(max-width:420px){
  .phero h1{font-size:2.1rem !important}
  .ftab{padding:12px 14px;font-size:.64rem}
  .blb{padding:16px}
}
.logo-text{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.05rem;letter-spacing:.04em;color:#fff !important;-webkit-text-fill-color:#fff !important}

/* ── HOME PAGE EXTRAS ── */
.hhero{padding:150px 40px 90px;text-align:center;position:relative;z-index:1;overflow:hidden}
.hhero::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(var(--goldrgb),.07) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--goldrgb),.07) 1px,transparent 1px);
  background-size:72px 72px;mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,black 10%,transparent 75%)}
.hhero::after{content:'';position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:900px;height:900px;z-index:0;pointer-events:none;background:radial-gradient(circle,rgba(var(--goldrgb),.08) 0%,transparent 62%)}
.hh-in{position:relative;z-index:1;max-width:820px;margin:0 auto}
.hhero h1{font-family:var(--fd) !important;font-size:clamp(2.6rem,7vw,5rem) !important;font-weight:300;color:#fff !important;line-height:1.08;margin-bottom:22px}
.hhero h1 em{font-style:italic;color:var(--gold) !important}
.hhero-sub{font-size:1.02rem;color:rgba(240,235,224,.62);max-width:600px;margin:0 auto 36px;line-height:1.8}
.hh-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* Proof bar */
.pbar{max-width:1000px;margin:0 auto;padding:0 40px 70px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);position:relative;z-index:1}
.pbar-i{background:var(--ink);padding:26px 16px;text-align:center}
.pbar-n{font-family:var(--fd);font-size:2.1rem;font-weight:600;color:#fff;line-height:1}
.pbar-l{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin-top:8px}

/* Section shell */
.sec{max-width:1200px;margin:0 auto;padding:90px 40px;position:relative;z-index:1}
.sec-hd{text-align:center;max-width:640px;margin:0 auto 56px}
.sec-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:16px;justify-content:center}
.sec-eyebrow span{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:500}
.sec-h2{font-family:var(--fd) !important;font-size:clamp(1.9rem,4vw,2.7rem);font-weight:300;color:#fff;line-height:1.15}
.sec-h2 em{font-style:italic;color:var(--gold)}
.sec-sub{font-size:.9rem;color:var(--grey);line-height:1.8;margin-top:14px}

/* Pillars */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr)}
.pillar{background:var(--ink2);padding:32px 26px}
.pillar-num{font-family:var(--fd);font-size:.85rem;color:var(--gold);margin-bottom:14px;letter-spacing:.05em}
.pillar-h{font-family:var(--fd);font-size:1.28rem;font-weight:600;color:#fff;margin-bottom:10px;line-height:1.25}
.pillar-p{font-size:.82rem;color:var(--grey);line-height:1.7}

/* Offers */
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.offer{background:var(--ink2);border:1px solid var(--bdr);padding:30px 26px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.offer:hover{border-color:rgba(var(--goldrgb),.5);transform:translateY(-4px)}
.offer-h{font-family:var(--fd);font-size:1.32rem;font-weight:600;color:#fff;margin-bottom:10px;line-height:1.25}
.offer-p{font-size:.82rem;color:var(--grey);line-height:1.7;margin-bottom:20px;flex:1}
.offer-lnk{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:500;width:fit-content}
.offer-lnk:hover{color:var(--glt)}

/* Testimonials */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tcard{background:var(--ink2);border:1px solid var(--bdr);padding:28px 24px}
.tquote{font-family:var(--fd);font-style:italic;font-size:1.02rem;color:#f0ebe0;line-height:1.6;margin-bottom:16px}
.tauth{font-size:.72rem;color:var(--gold);letter-spacing:.03em}
.tstars{color:var(--gold);font-size:.8rem;margin-bottom:10px;letter-spacing:2px}

/* Blog teaser */
.bteaser{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bt-card{background:var(--ink2);border:1px solid var(--bdr);padding:0;overflow:hidden;transition:background .25s}
.bt-card:hover{background:var(--ink3)}
.bt-im{height:150px;background:linear-gradient(135deg,var(--ink3),var(--ink5));display:flex;align-items:center;justify-content:center}
.bt-im span{font-family:var(--fd);color:rgba(var(--goldrgb),.28);font-size:.9rem}
.bt-body{padding:22px}
.bt-cat{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:8px;display:block}
.bt-h{font-family:var(--fd);font-size:1.08rem;font-weight:600;color:#fff;line-height:1.3}

/* Methodology strip */
.method{background:var(--ink2);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:80px 40px;position:relative;z-index:1}
.method-in{max-width:900px;margin:0 auto;text-align:center}
.method-tag{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.method-h{font-family:var(--fd);font-size:clamp(1.7rem,3.6vw,2.4rem);font-weight:300;color:#fff;line-height:1.25;margin-bottom:20px}
.method-h em{font-style:italic;color:var(--gold)}
.method-p{font-size:.92rem;color:var(--grey);line-height:1.85;max-width:680px;margin:0 auto}

/* Newsletter (adapted from single-post template) */
#sa-nl-section{max-width:1200px;margin:0 auto 0;padding:80px 40px;position:relative;z-index:1;text-align:center}
#sa-nl-section .sa-nl-inner{background:var(--ink2);border:1px solid var(--bdr);padding:56px 40px;position:relative;overflow:hidden}
.sa-eyebrow{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.sa-headline{font-family:var(--fd);font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:300;color:#fff;line-height:1.3;margin-bottom:14px}
.sa-headline em{font-style:italic;color:var(--gold)}
.sa-sub{font-size:.86rem;color:var(--grey);max-width:540px;margin:0 auto 26px;line-height:1.75}
.sa-proof{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}
.sa-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(var(--goldrgb),.08);border:1px solid rgba(var(--goldrgb),.2);color:rgba(240,235,224,.7);font-size:.68rem;font-weight:500;padding:6px 14px;border-radius:100px}
.sa-pill .sa-dot{color:var(--gold);font-size:.8rem}
.sa-form-wrap{max-width:460px;margin:0 auto;position:relative;z-index:1}
#sa-nl-form-main{display:flex;border:1px solid rgba(var(--goldrgb),.3);border-radius:2px;overflow:hidden;background:rgba(6,9,15,.6)}
#sa-nl-email-main{flex:1;padding:14px 18px;background:transparent;border:none;outline:none;color:#f0ebe2;font-family:var(--fb);font-size:14.5px;font-weight:300;min-width:0}
#sa-nl-email-main::placeholder{color:rgba(240,235,224,.3)}
#sa-nl-btn-main{padding:14px 26px;background:linear-gradient(135deg,var(--gold),var(--golddark));border:none;cursor:pointer;color:#060606;font-family:var(--fb);font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}
#sa-nl-btn-main:hover:not(:disabled){opacity:.88}
.sa-trust-note{font-size:.72rem;color:rgba(240,235,224,.4);margin:14px auto 0;max-width:420px;line-height:1.65}
#sa-nl-ok-main{display:none;flex-direction:column;align-items:center;gap:10px;padding:20px}
#sa-nl-ok-main .sa-ok-icon{width:44px;height:44px;border-radius:50%;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);display:flex;align-items:center;justify-content:center;font-size:18px;color:#4ade80}
#sa-nl-ok-main .sa-ok-title{font-size:1rem;font-weight:700;color:#fff}
#sa-nl-ok-main .sa-ok-sub{font-size:.78rem;color:rgba(240,235,224,.55);max-width:360px}
#sa-nl-err-main{display:none;align-items:center;gap:10px;background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.22);border-radius:2px;padding:12px 16px;margin-top:10px;font-size:.76rem;color:#f87171;text-align:left}
#sa-nl-err-main a{color:var(--glt)}

/* Final CTA */
.fcta-band{max-width:1200px;margin:0 auto;padding:0 40px 100px;position:relative;z-index:1;text-align:center}
.fcta-band-in{background:linear-gradient(135deg,rgba(var(--goldrgb),.1),transparent);border:1px solid rgba(var(--goldrgb),.28);padding:70px 40px}
.fcta-h{font-family:var(--fd);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:300;color:#fff;margin-bottom:16px;line-height:1.2}
.fcta-h em{font-style:italic;color:var(--gold)}
.fcta-p{font-size:.92rem;color:var(--grey);margin-bottom:30px}

@media(max-width:1040px){
  .pbar{grid-template-columns:repeat(2,1fr)}
  .pillars{grid-template-columns:repeat(2,1fr)}
  .offers,.tgrid,.bteaser{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .hhero{padding:110px 20px 60px}
  .sec{padding:60px 20px}
  .pbar{padding:0 20px 50px}
  .pillars{grid-template-columns:1fr}
  .offers,.tgrid,.bteaser{grid-template-columns:1fr}
  .method{padding:56px 20px}
  #sa-nl-section{padding:56px 20px}
  #sa-nl-section .sa-nl-inner{padding:36px 22px}
  .fcta-band{padding:0 20px 60px}
  .fcta-band-in{padding:46px 24px}
}

.ahero{padding:150px 40px 70px;text-align:center;position:relative;z-index:1;overflow:hidden}
.ahero::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(var(--goldrgb),.07) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--goldrgb),.07) 1px,transparent 1px);
  background-size:72px 72px;mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,black 10%,transparent 75%)}
.ah-in{position:relative;z-index:1;max-width:760px;margin:0 auto}
.ahero h1{font-family:var(--fd) !important;font-size:clamp(2.3rem,6vw,4rem) !important;font-weight:300;color:#fff !important;line-height:1.12;margin-bottom:20px}
.ahero h1 em{font-style:italic;color:var(--gold) !important}
.ahero-sub{font-size:.98rem;color:rgba(240,235,224,.6);max-width:600px;margin:0 auto;line-height:1.8}

.abody{max-width:820px;margin:0 auto;padding:0 40px 30px;position:relative;z-index:1}
.a-h2{font-family:var(--fd);font-size:1.7rem;font-weight:600;color:#fff;margin-bottom:20px}
.a-p{font-size:.94rem;color:rgba(240,235,224,.72);line-height:1.9;margin-bottom:20px}

.astats{max-width:900px;margin:60px auto;padding:0 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);position:relative;z-index:1}
.astat{background:var(--ink2);padding:28px 16px;text-align:center}
.astat-n{font-family:var(--fd);font-size:2.1rem;font-weight:600;color:#fff}
.astat-l{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin-top:8px}

.amethod{background:var(--ink2);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:70px 40px;text-align:center;position:relative;z-index:1}
.amethod-in{max-width:760px;margin:0 auto}
.amethod-h{font-family:var(--fd);font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:300;color:#fff;margin-bottom:18px}
.amethod-h em{font-style:italic;color:var(--gold)}
.amethod-p{font-size:.9rem;color:var(--grey);line-height:1.85}

.acred{max-width:820px;margin:70px auto;padding:0 40px;position:relative;z-index:1}
.acred-h{font-family:var(--fd);font-size:1.4rem;font-weight:600;color:#fff;margin-bottom:22px;text-align:center}
.acred-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.acred-item{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;color:rgba(240,235,224,.75);line-height:1.5}
.acred-item::before{content:'✦';color:var(--gold);flex-shrink:0}

.asister{max-width:820px;margin:0 auto 70px;padding:0 40px;position:relative;z-index:1}
.asister-card{background:var(--ink2);border:1px solid var(--bdr);padding:30px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.asister-h{font-family:var(--fd);font-size:1.15rem;font-weight:600;color:#fff;margin-bottom:6px}
.asister-p{font-size:.8rem;color:var(--grey)}

.acta-band{max-width:1200px;margin:0 auto;padding:0 40px 100px;position:relative;z-index:1;text-align:center}
.acta-band-in{background:linear-gradient(135deg,rgba(var(--goldrgb),.1),transparent);border:1px solid rgba(var(--goldrgb),.28);padding:64px 40px}
.acta-h{font-family:var(--fd);font-size:clamp(1.7rem,3.6vw,2.3rem);font-weight:300;color:#fff;margin-bottom:14px}
.acta-h em{font-style:italic;color:var(--gold)}
.acta-p{font-size:.9rem;color:var(--grey);margin-bottom:26px}

@media(max-width:720px){
  .ahero{padding:110px 20px 50px}
  .abody{padding:0 20px 20px}
  .astats{grid-template-columns:repeat(2,1fr);padding:0 20px;margin:40px auto}
  .amethod{padding:50px 20px}
  .acred{padding:0 20px;margin:50px auto}
  .acred-list{grid-template-columns:1fr}
  .asister{padding:0 20px;margin:0 auto 50px}
  .asister-card{flex-direction:column;align-items:flex-start;text-align:left}
  .acta-band{padding:0 20px 60px}
  .acta-band-in{padding:44px 22px}
}

/* ══ DESIGN SYSTEM ══ */
:root{
  --ink:#080808;--ink2:#0f0f0f;--ink3:#161616;--ink4:#1e1e1e;--ink5:#252525;
  --gold:#c9933a;--glt:#e8bf78;--gdim:rgba(201,147,58,.12);
  --bdr:rgba(201,147,58,.18);--bdim:rgba(201,147,58,.07);
  --white:#fff;--cream:#f0ebe0;--grey:#888;--grey2:#555;
  --fd:'Cormorant Garamond',Georgia,serif;--fb:'Outfit',sans-serif
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{font-family:'Outfit',sans-serif !important;font-weight:300;background:#080808 !important;color:#f0ebe0 !important;overflow-x:hidden;max-width:100%;width:100%;padding-top:70px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:'Outfit',sans-serif}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.02;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ── UTILS ── */
.btng{display:inline-flex !important;align-items:center;gap:9px;padding:14px 30px;background:linear-gradient(135deg,#c9933a,#a87228) !important;color:#080808 !important;-webkit-text-fill-color:#080808 !important;font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;border:none !important;cursor:pointer;border-radius:2px;transition:all .25s}
.btng:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(201,147,58,.4)}
.btno{display:inline-flex;align-items:center;gap:9px;padding:13px 28px;border:1px solid #c9933a !important;color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;font-weight:500;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:all .25s;background:transparent !important}
.btno:hover{background:#c9933a !important;color:#080808 !important;-webkit-text-fill-color:#080808 !important}

/* ── NAV ── */
.sa-nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(8,8,8,.93) !important;backdrop-filter:blur(20px);border-bottom:1px solid rgba(201,147,58,.18) !important;padding:0 40px}
.sa-nav .navi{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:70px}
.sa-nav .nav-logo img{height:34px;width:auto}
.sa-nav .navul{display:flex;list-style:none}
.sa-nav .navul a{display:block;padding:8px 16px;font-size:.72rem !important;letter-spacing:.08em;text-transform:uppercase;color:rgba(240,235,224,.55) !important;-webkit-text-fill-color:rgba(240,235,224,.55) !important;font-weight:500;transition:color .2s;position:relative}
.sa-nav .navul a::after{content:'';position:absolute;bottom:0;left:16px;right:16px;height:1px;background:#c9933a;transform:scaleX(0);transition:transform .25s}
.sa-nav .navul a:hover,.sa-nav .navul a.cur{color:#e8bf78 !important;-webkit-text-fill-color:#e8bf78 !important}
.sa-nav .navul a:hover::after,.sa-nav .navul a.cur::after{transform:scaleX(1)}
.sa-nav .hass{position:relative}
.sa-nav .subm{position:absolute;top:100%;left:0;background:#161616;border:1px solid rgba(201,147,58,.18);min-width:210px;list-style:none;opacity:0;pointer-events:none;transform:translateY(-6px);transition:all .25s;z-index:201}
.sa-nav .hass:hover .subm{opacity:1;pointer-events:all;transform:translateY(0)}
.sa-nav .subm li a{padding:10px 18px;border-bottom:1px solid rgba(201,147,58,.07);display:block;font-size:.72rem;text-transform:none;letter-spacing:.03em}
.sa-nav .ncta{padding:8px 20px;border:1px solid #c9933a !important;color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;transition:all .25s;border-radius:2px;background:transparent !important}
.sa-nav .ncta:hover{background:#c9933a !important;color:#080808 !important;-webkit-text-fill-color:#080808 !important}
.sa-nav .hmbg{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px}
.sa-nav .hmbg span{width:22px;height:1.5px;background:#f0ebe0;display:block;transition:all .3s}
.sa-nav .hmbg.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.sa-nav .hmbg.open span:nth-child(2){opacity:0}
.sa-nav .hmbg.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobm{display:none;position:fixed;top:70px;left:0;right:0;bottom:0;z-index:199;background:#0f0f0f;border-bottom:1px solid rgba(201,147,58,.18);padding:18px 40px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.mobm.open{display:block}
.mobm ul{list-style:none}.mobm ul li{border-bottom:1px solid rgba(201,147,58,.07)}.mobm ul li a{display:block;padding:14px 0;font-size:.9rem;color:#f0ebe0}

/* ── PAGE HERO ── */
.phero{padding:100px 40px 64px;text-align:center;position:relative;z-index:1;overflow:hidden}
.phero::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(201,147,58,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(201,147,58,.07) 1px,transparent 1px);
  background-size:72px 72px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 10%,transparent 75%)}
.phero::after{content:'';position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:700px;height:700px;z-index:0;pointer-events:none;background:radial-gradient(circle,rgba(201,147,58,.07) 0%,transparent 62%)}
.ph-in{position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;gap:14px;margin-bottom:22px;animation:rUp .8s cubic-bezier(.22,1,.36,1) both;flex-wrap:wrap;justify-content:center}
.eln{width:44px;height:1px;background:linear-gradient(90deg,transparent,#c9933a)}.eln.r{background:linear-gradient(90deg,#c9933a,transparent)}
.eyebrow span{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:#c9933a;font-weight:500}
.phero h1{font-family:'Cormorant Garamond',Georgia,serif !important;font-size:clamp(2.4rem,8vw,5.2rem) !important;font-weight:300;color:#fff !important;line-height:1.05;margin-bottom:14px;animation:rUp .8s .1s cubic-bezier(.22,1,.36,1) both}
.phero h1 em{font-style:italic;color:#c9933a !important}
.phero-sub{font-size:.95rem;color:rgba(240,235,224,.58);max-width:520px;margin:0 auto;line-height:1.8;animation:rUp .8s .2s cubic-bezier(.22,1,.36,1) both}

/* ── ARCHIVE LAYOUT ── */
.archive-shell{max-width:1200px;margin:0 auto;padding:0 40px 88px;position:relative;z-index:1}
.archive-cols{display:grid;grid-template-columns:1fr 292px;gap:48px;align-items:start}

/* ── FILTER TABS ──────────────────────────────────────────────────
   v2: added -webkit-text-fill-color everywhere color is set, as
   defense-in-depth against sitewide Additional CSS button rules
   (this is what caused the tabs to render with invisible text —
   see functions.php-side fix note). Also bumped touch target size
   on mobile in the responsive block below. ─────────────────────── */
.ftabs{display:flex;gap:0;border:1px solid rgba(201,147,58,.18) !important;border-radius:2px;overflow:hidden;margin-bottom:32px;animation:rUp .8s .3s cubic-bezier(.22,1,.36,1) both;background:#080808 !important}
.ftab{
  flex:1;padding:12px 4px;text-align:center;
  font-family:'Outfit',sans-serif !important;
  font-size:.62rem !important;letter-spacing:.09em;text-transform:uppercase;font-weight:500;
  color:rgba(240,235,224,.55) !important;
  -webkit-text-fill-color:rgba(240,235,224,.55) !important;
  cursor:pointer;transition:all .2s;
  border:none !important;border-right:1px solid rgba(201,147,58,.18) !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:none !important;
  -webkit-appearance:none;appearance:none;
  min-height:44px;
}
.ftab:last-child{border-right:none !important}
.ftab.on,
.ftab:hover{
  color:#c9933a !important;
  -webkit-text-fill-color:#c9933a !important;
  background:rgba(201,147,58,.12) !important;
}
.ftab:focus{
  color:#c9933a !important;
  -webkit-text-fill-color:#c9933a !important;
  background:rgba(201,147,58,.12) !important;
  outline:none !important;
  box-shadow:none !important;
}

/* ── BLOG GRID ── */
.blg{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(201,147,58,.18);border:1px solid rgba(201,147,58,.18);min-height:120px}
/* v3 FIX: grid/flex items default to min-width:auto, meaning they will
   NOT shrink below their content's natural width — a single long
   unbroken run of text (a keyword-stuffed excerpt, a URL, etc.) or an
   image before object-fit fully applies can silently force the whole
   grid track, and therefore the whole page, wider than the viewport.
   This is almost certainly what was pushing the featured card (and
   the page itself, hence the full-height scrollbar) past 100vw on
   mobile. min-width:0 lets grid/flex items actually shrink to fit. */
.blg,.bl,.blb,.blim,.archive-cols,.archive-cols>*,.sidebar,.ftabs{min-width:0}

/* card */
.bl{background:#0f0f0f;overflow:hidden;display:flex;flex-direction:column;transition:background .3s,opacity .5s,transform .5s;opacity:0;transform:translateY(18px);position:relative}
.bl.visible{opacity:1;transform:translateY(0)}
.bl:hover{background:#161616}
.bl-feat{grid-column:1/-1}
.bl-feat .blttl{font-size:1.42rem}
.bl-feat .blb{padding:28px 30px 32px}
.blim{background:#1e1e1e;position:relative;flex-shrink:0;padding:10px 10px 0;overflow:hidden}
.blim img{width:100%;max-width:100%;height:auto;max-height:360px;object-fit:contain;object-position:center top;display:block;transition:transform .55s}
.bl:hover .blim img{transform:scale(1.02)}
.bl-feat .blim{padding:16px 16px 0;margin-top:16px}
.bl-feat .blim img{max-height:460px}
.bl-badge{position:absolute;top:12px;left:12px;padding:4px 12px;background:#c9933a !important;color:#080808 !important;-webkit-text-fill-color:#080808 !important;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;border-radius:2px;z-index:10;box-shadow:0 3px 10px rgba(0,0,0,.55);pointer-events:none}
.blim-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#161616 0%,#252525 100%);padding:20px}
.blim-ph span{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:300;color:rgba(201,147,58,.28);text-align:center;line-height:1.35}
.blb{padding:22px 22px 26px;flex:1;display:flex;flex-direction:column}
.blcat{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;font-weight:500;margin-bottom:7px}
.blttl{font-family:'Cormorant Garamond',Georgia,serif !important;font-size:1.06rem;font-weight:600;color:#fff !important;line-height:1.26;margin-bottom:8px;flex:1;overflow-wrap:break-word;word-break:break-word;max-width:100%}
.blttl a{color:#fff !important;-webkit-text-fill-color:#fff !important}
.blttl a:hover{color:#e8bf78 !important;-webkit-text-fill-color:#e8bf78 !important}
.blex{font-size:.78rem;color:#888;line-height:1.65;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;word-break:break-word;max-width:100%}
.blmeta{font-size:.64rem;color:#555;display:flex;align-items:center;gap:7px}
.blmeta-dot{width:3px;height:3px;border-radius:50%;background:#555;flex-shrink:0}
.blrd{display:inline-flex;align-items:center;gap:5px;margin-top:12px;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;font-weight:500;width:fit-content}
.blrd:hover{color:#e8bf78 !important;-webkit-text-fill-color:#e8bf78 !important}

/* ── LOAD STATES ── */
#load-area{padding:32px 0;text-align:center}
.spinner{width:28px;height:28px;border:2px solid rgba(201,147,58,.2);border-top-color:#c9933a;border-radius:50%;animation:spin .75s linear infinite;margin:0 auto}
@keyframes spin{to{transform:rotate(360deg)}}
.end-rule{display:flex;align-items:center;gap:16px;justify-content:center}
.end-rule::before,.end-rule::after{content:'';flex:1;max-width:52px;height:1px}
.end-rule::before{background:linear-gradient(90deg,transparent,#c9933a)}
.end-rule::after{background:linear-gradient(90deg,#c9933a,transparent)}
.end-rule span{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#555}
.blg-msg{grid-column:1/-1;padding:60px 24px;text-align:center;color:#888;font-size:.88rem;line-height:1.8}
.blg-msg a{color:#c9933a}

/* ── SIDEBAR ── */
.sidebar{position:sticky;top:90px;display:flex;flex-direction:column;gap:18px}
.sb-card{background:#0f0f0f !important;border:1px solid rgba(201,147,58,.18) !important;padding:22px}
.sb-head{
  font-family:'Outfit',sans-serif !important;
  font-size:.58rem !important;letter-spacing:.16em;text-transform:uppercase;
  color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;font-weight:600;
  margin-bottom:14px;padding-bottom:10px;
  border-bottom:1px solid rgba(201,147,58,.07) !important;
  background:transparent !important;
}
/* search */
.sb-search{display:flex}
.sb-in{
  flex:1;padding:9px 13px;
  background:#1e1e1e !important;
  border:1px solid rgba(201,147,58,.18) !important;
  border-right:none !important;
  outline:none;
  color:#fff !important;
  font-size:16px;
  font-family:'Outfit',sans-serif !important;
}
.sb-in::placeholder{color:#555 !important}
.sb-btn{
  padding:9px 15px;
  background:#c9933a !important;
  border:none !important;
  cursor:pointer;
  color:#080808 !important;
  -webkit-text-fill-color:#080808 !important;
  font-size:.82rem;
  transition:background .2s;
  flex-shrink:0;
  border-radius:0 !important;
  box-shadow:none !important;
  min-width:44px;
}
.sb-btn:hover{background:#e8bf78 !important}

/* categories sidebar */
.sb-catlist{list-style:none !important;margin:0 !important;padding:0 !important}
.sb-catlist li{
  border-bottom:1px solid rgba(201,147,58,.07) !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.sb-catlist li:last-child{border-bottom:none !important}
.sb-catlist button{
  display:flex !important;align-items:center;justify-content:space-between;
  width:100% !important;
  padding:11px 0 !important;
  min-height:44px;
  background:none !important;
  border:none !important;
  cursor:pointer;
  font-family:'Outfit',sans-serif !important;
  font-size:.8rem !important;
  color:#aaa !important;
  -webkit-text-fill-color:#aaa !important;
  transition:color .2s;
  text-align:left;
  border-radius:0 !important;
  box-shadow:none !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  font-weight:400 !important;
}
.sb-catlist button:hover,
.sb-catlist button.on{color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;background:transparent !important}
.sb-catlist button:focus{outline:none !important;box-shadow:none !important}
/* count badge */
.sb-catlist button em{
  font-style:normal;
  font-size:.62rem;
  color:#666 !important;
  -webkit-text-fill-color:#666 !important;
  background:#161616 !important;
  padding:2px 8px;
  border-radius:2px;
  min-width:24px;
  text-align:center;
  font-weight:400;
  flex-shrink:0;
}
.sb-catlist button.on em{color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;background:rgba(201,147,58,.12) !important}

/* popular posts */
.sb-poplist{display:flex;flex-direction:column;gap:14px}
.sb-pop{display:flex;gap:12px;align-items:flex-start}
.sb-pop-img{width:60px;height:46px;object-fit:cover;flex-shrink:0;background:#1e1e1e}
.sb-pop-ttl{font-family:'Cormorant Garamond',serif !important;font-size:.88rem;font-weight:600;color:#f0ebe0 !important;-webkit-text-fill-color:#f0ebe0 !important;line-height:1.3;transition:color .2s;display:block}
.sb-pop-ttl:hover{color:#e8bf78 !important;-webkit-text-fill-color:#e8bf78 !important}
.sb-pop-date{font-size:.62rem;color:#555;margin-top:3px}

/* newsletter */
.sb-nl-in{display:block;width:100%;padding:10px 13px;background:#1e1e1e !important;border:1px solid rgba(201,147,58,.18) !important;outline:none;color:#fff !important;font-size:16px;margin-bottom:9px;font-family:'Outfit',sans-serif !important}
.sb-nl-in::placeholder{color:#555 !important}
.sb-nl-btn{width:100%;padding:13px;background:linear-gradient(135deg,#c9933a,#a87228) !important;border:none !important;cursor:pointer;color:#080808 !important;-webkit-text-fill-color:#080808 !important;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:opacity .2s;border-radius:0 !important;box-shadow:none !important;font-family:'Outfit',sans-serif !important;min-height:44px}
.sb-nl-btn:hover{opacity:.88}

/* sidebar CTA */
.sb-cta{background:#161616 !important;border:1px solid rgba(201,147,58,.18) !important;padding:24px;text-align:center}
.sb-cta-h{font-family:'Cormorant Garamond',serif !important;font-size:1.18rem;font-weight:300;color:#fff !important;line-height:1.28;margin-bottom:8px}
.sb-cta-h em{font-style:italic;color:#c9933a !important}
.sb-cta-p{font-size:.74rem;color:#888 !important;margin-bottom:16px;line-height:1.65}

/* ── FOOTER ── */
.ft{position:relative;z-index:1;background:#080808 !important;padding:64px 40px 38px}
.fttop{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;padding-bottom:48px;border-bottom:1px solid rgba(201,147,58,.18)}
.ftbr img{height:34px;width:auto;margin-bottom:14px}
.ftbr p{font-size:.8rem;color:#888;line-height:1.7;max-width:240px}
.ftcol h4{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#c9933a !important;-webkit-text-fill-color:#c9933a !important;font-weight:600;margin-bottom:16px}
.ftcol ul{list-style:none}.ftcol ul li{margin-bottom:9px}
.ftcol ul li a{font-size:.82rem;color:#888;transition:color .2s}.ftcol ul li a:hover{color:#e8bf78}
.ftbot{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding-top:26px;flex-wrap:wrap;gap:14px}
.ftcp{font-size:.72rem;color:#555}.ftcp a{color:#c9933a}
.ftsoc{display:flex;gap:12px}
.soca{width:36px;height:36px;border:1px solid rgba(201,147,58,.18);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#888;transition:all .25s}
.soca:hover{border-color:#c9933a;color:#c9933a;background:rgba(201,147,58,.12)}

/* float CTA */
.fcta{position:fixed;bottom:28px;right:28px;z-index:150;animation:rUp 1s 1.2s cubic-bezier(.22,1,.36,1) both}
.fcta a{display:flex;align-items:center;gap:9px;padding:12px 20px;background:#c9933a !important;color:#080808 !important;-webkit-text-fill-color:#080808 !important;font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border-radius:2px;box-shadow:0 8px 28px rgba(201,147,58,.42);transition:all .25s}
.fcta a:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(201,147,58,.52)}
.dot{width:6px;height:6px;background:#080808;border-radius:50%;animation:pd 2s infinite;flex-shrink:0}

@keyframes rUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes pd{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media(max-width:1040px){
  .archive-cols{grid-template-columns:1fr}
  .sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
  .blg{grid-template-columns:repeat(2,1fr)}
  .bl-feat{grid-column:1/-1}
  .fttop{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  body{padding-top:62px}
  .sa-nav{padding:0 16px}
  .sa-nav .navi{height:62px}
  .sa-nav .navul{display:none}
  .sa-nav .hmbg{display:flex}
  .mobm{top:62px}
  .mobm{padding:12px 20px 24px}
  .phero{padding:56px 20px 40px}
  .phero-sub{font-size:.88rem}
  .eyebrow{gap:8px;margin-bottom:16px}
  .eln{width:26px}
  .eyebrow span{font-size:.58rem;letter-spacing:.12em}
  .archive-shell{padding-left:20px;padding-right:20px;padding-bottom:56px}

  /* Filter tabs: horizontal scroll with visible affordance + bigger
     touch targets instead of squeezing 6 tabs into one row */
  .ftabs{
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;border-radius:2px;
    -ms-overflow-style:none;scrollbar-width:none;
  }
  .ftabs::-webkit-scrollbar{display:none}
  .ftab{flex:0 0 auto;padding:12px 18px;font-size:.68rem;scroll-snap-align:start;min-width:auto}

  /* Blog grid → single column, bigger tap targets, more breathing room */
  .blg{grid-template-columns:1fr}
  .bl-feat .blb{padding:22px 20px 26px}
  .bl-feat .blttl{font-size:1.2rem}
  .blb{padding:20px}
  .blttl{font-size:1.02rem}

  /* Sidebar: stack fully on phones (2-col grid only makes sense on
     tablet widths, not narrow phones) */
  .sidebar{grid-template-columns:1fr}
  .sb-card{padding:18px}

  .fttop{grid-template-columns:1fr;gap:32px}
  .ft{padding:48px 20px 28px}
  .ftbot{flex-direction:column;align-items:flex-start}
  .fcta{bottom:16px;right:16px}
  .fcta a{padding:11px 16px;font-size:.68rem}
}
@media(max-width:420px){
  .phero h1{font-size:2.1rem !important}
  .ftab{padding:12px 14px;font-size:.64rem}
  .blb{padding:16px}
}
.logo-text{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.05rem;letter-spacing:.04em;color:#fff !important;-webkit-text-fill-color:#fff !important}


/* ==========================================================================
   BLOG POST / ARTICLE / LEGAL PAGE PROSE STYLING
   Scoped entirely to .page-wrap — this used to only exist inside each
   standalone post file's own <style> tag, so imported posts (and these
   new legal pages, which reuse the same content structure) had zero
   styling. Fixed by merging it here, but properly scoped this time so
   it can't leak onto the homepage, About, or Contact pages.
   ========================================================================== */
.page-wrap{
  --pw-black:#080808;--pw-gold:#C9933A;--pw-gold-light:#e8b96a;--pw-gold-pale:#faf5eb;
  --pw-gold-border:rgba(201,147,58,0.25);--pw-white:#ffffff;--pw-off-white:#fafaf8;
  --pw-grey-soft:#f6f5f3;--pw-grey-mid:#9a9690;--pw-grey-dark:#3a3835;
  --pw-body-font:'Outfit',sans-serif;--pw-display-font:'Cormorant Garamond',serif;
  background:var(--pw-white);color:var(--pw-black);
  max-width:800px;margin:0 auto;padding:4rem 2rem;
  font-family:var(--pw-body-font);font-size:17px;line-height:1.78;
}
.page-wrap h2{font-family:var(--pw-display-font);font-size:clamp(1.65rem,3vw,2.15rem);font-weight:700;color:var(--pw-black);margin:3rem 0 0.8rem;line-height:1.22;}
.page-wrap h3{font-family:var(--pw-display-font);font-size:1.28rem;font-weight:700;color:var(--pw-grey-dark);margin:2rem 0 0.55rem;}
.page-wrap p{margin-bottom:1.25rem;color:#222;}
.page-wrap strong{font-weight:600;color:var(--pw-black);}
.page-wrap a{color:var(--pw-gold);text-decoration:none;}
.page-wrap a:hover{text-decoration:underline;}
.page-wrap .gold-rule{height:3px;width:48px;background:linear-gradient(90deg,var(--pw-gold),transparent);margin:0.4rem 0 1.6rem;border-radius:2px;}
.page-wrap .toc{background:var(--pw-grey-soft);border:1px solid #ebe8e2;border-radius:8px;padding:1.4rem 1.6rem;margin:2rem 0;font-size:0.88rem;}
.page-wrap .toc-title{font-family:var(--pw-display-font);font-weight:700;font-size:1rem;margin-bottom:0.8rem;color:var(--pw-black);}
.page-wrap .toc ol{padding-left:1.3rem;color:var(--pw-grey-dark);}
.page-wrap .toc li{margin-bottom:0.3rem;}
.page-wrap .toc a{color:var(--pw-grey-dark);}
.page-wrap blockquote{border-left:3px solid var(--pw-gold);margin:2.2rem 0;padding:1.2rem 1.6rem;background:var(--pw-gold-pale);border-radius:0 8px 8px 0;}
.page-wrap blockquote p{font-family:var(--pw-display-font);font-size:1.22rem;font-style:italic;color:var(--pw-grey-dark);margin:0;line-height:1.5;}
.page-wrap .num-list{list-style:none;padding:0;margin:1.2rem 0 1.8rem;}
.page-wrap .num-list li{display:flex;gap:1rem;margin-bottom:1.1rem;align-items:flex-start;}
.page-wrap .num-badge{flex-shrink:0;width:30px;height:30px;background:var(--pw-black);color:var(--pw-gold);font-size:0.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:3px;margin-top:3px;}
.page-wrap .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:1.5rem 0 2rem;}
.page-wrap .card{border:1px solid #ebe8e2;border-radius:8px;padding:1.25rem;background:var(--pw-off-white);}
.page-wrap .card-icon{font-size:1.5rem;margin-bottom:0.5rem;}
.page-wrap .card h4{font-family:var(--pw-display-font);font-size:1.02rem;font-weight:700;margin-bottom:0.3rem;color:var(--pw-black);}
.page-wrap .card p{font-size:0.83rem;color:var(--pw-grey-dark);margin:0;line-height:1.55;}
.page-wrap .table-wrap{overflow-x:auto;margin:1.5rem 0;}
.page-wrap table{width:100%;border-collapse:collapse;font-size:0.91rem;}
.page-wrap thead th{background:var(--pw-black);color:var(--pw-gold);font-family:var(--pw-display-font);font-size:0.97rem;padding:0.85rem 1rem;text-align:left;white-space:nowrap;}
.page-wrap tbody td{padding:0.78rem 1rem;border-bottom:1px solid #ebe8e2;vertical-align:top;}
.page-wrap tbody tr:nth-child(even) td{background:var(--pw-grey-soft);}
.page-wrap .highlight{background:var(--pw-black);color:var(--pw-white);padding:2rem;border-radius:10px;margin:2.5rem 0;}
.page-wrap .highlight h3{color:var(--pw-gold);margin:0 0 0.7rem;}
.page-wrap .highlight p{color:#ccc;font-size:0.93rem;margin-bottom:0.5rem;}
.page-wrap .highlight p:last-child{margin:0;}
.page-wrap .faq-wrap{margin:3.5rem 0;}
.page-wrap .faq-item{border-bottom:1px solid #ebe8e2;padding:1.1rem 0;}
.page-wrap .faq-item:first-of-type{border-top:1px solid #ebe8e2;}
.page-wrap .faq-q{font-family:var(--pw-display-font);font-size:1.1rem;font-weight:700;color:var(--pw-black);cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;user-select:none;}
.page-wrap .faq-q::after{content:'+';color:var(--pw-gold);font-size:1.5rem;flex-shrink:0;line-height:1;transition:transform 0.22s;}
.page-wrap .faq-item.open .faq-q::after{transform:rotate(45deg);}
.page-wrap .faq-a{display:none;padding-top:0.75rem;color:var(--pw-grey-dark);font-size:0.94rem;line-height:1.72;}
.page-wrap .faq-item.open .faq-a{display:block;}
.page-wrap .cta-box{background:linear-gradient(135deg,#0d0d0b 0%,#1a1810 100%);border:1px solid var(--pw-gold-border);border-radius:12px;padding:3.2rem 2rem;text-align:center;margin:4rem 0;}
.page-wrap .cta-box h2{font-family:var(--pw-display-font);color:var(--pw-white);font-size:2.1rem;margin:0 0 0.7rem;}
.page-wrap .cta-box p{color:#aaa;margin-bottom:1.6rem;font-size:0.95rem;}
.page-wrap .cta-btn{display:inline-block;background:var(--pw-gold);color:var(--pw-black);padding:0.95rem 2.4rem;border-radius:5px;font-weight:700;font-size:0.88rem;letter-spacing:0.06em;text-decoration:none;text-transform:uppercase;transition:background 0.2s,transform 0.15s;}
.page-wrap .cta-btn:hover{background:var(--pw-gold-light);transform:translateY(-1px);text-decoration:none;}
.page-wrap .cta-secondary{margin-top:1rem;font-size:0.85rem;color:#888;}
.page-wrap .cta-secondary a{color:var(--pw-gold);}
.page-wrap .cta-stats{display:flex;justify-content:center;gap:2.5rem;margin-top:2rem;flex-wrap:wrap;}
.page-wrap .cta-stat .n{display:block;font-family:var(--pw-display-font);font-size:1.9rem;font-weight:700;color:var(--pw-gold);}
.page-wrap .cta-stat .l{font-size:0.75rem;color:#888;letter-spacing:0.05em;text-transform:uppercase;}
.page-wrap .author-card{display:flex;align-items:center;gap:1.25rem;padding:1.6rem;border:1px solid #ebe8e2;border-radius:10px;margin:3.5rem 0;background:var(--pw-grey-soft);}
.page-wrap .author-av{width:58px;height:58px;border-radius:50%;background:var(--pw-black);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--pw-display-font);font-size:1.4rem;color:var(--pw-gold);font-weight:700;border:2px solid rgba(201,147,58,0.3);}
.page-wrap .author-name{font-weight:600;font-size:0.95rem;color:var(--pw-black);}
.page-wrap .author-bio{font-size:0.82rem;color:var(--pw-grey-mid);line-height:1.55;margin-top:0.22rem;}
@media(max-width:600px){.page-wrap{padding:2.5rem 1.2rem;}}

/* The dark hero header above .page-wrap (single.php builds this from
   real post data) — also scoped, uses the same --pw-* variables. */
header.hero{background:#080808;padding:4.5rem 2rem 4rem;text-align:center;position:relative;overflow:hidden;}
header.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 70% 0%,rgba(201,147,58,0.1) 0%,transparent 55%);pointer-events:none;}
header.hero .hero-tag{display:inline-block;background:rgba(201,147,58,0.12);color:#C9933A;border:1px solid rgba(201,147,58,0.28);font-size:0.7rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;padding:0.32rem 1rem;border-radius:2px;margin-bottom:1.6rem;}
header.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,5vw,3.1rem);font-weight:700;color:#ffffff;line-height:1.18;max-width:840px;margin:0 auto 1.4rem;letter-spacing:-0.01em;}
header.hero h1 em{color:#C9933A;font-style:italic;}
header.hero .hero-intro{font-size:1.05rem;color:#bbb;max-width:600px;margin:0 auto 1.8rem;line-height:1.65;}
header.hero .hero-meta{color:#9a9690;font-size:0.82rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap;}
header.hero .hero-meta span::before{content:'·';margin-right:0.4rem;color:rgba(201,147,58,0.5);}
header.hero .hero-meta span:first-child::before{display:none;}
@media(max-width:600px){header.hero{padding:3rem 1.2rem 2.5rem;}}


/* ==========================================================================
   NAV DROPDOWN SUPPORT (Products/Services, or any menu item with children)
   ========================================================================== */
.navul li { position: relative; }
.navul li.menu-item-has-children > a::after { content: '\25BE'; font-size: .6em; margin-left: 5px; opacity: .55; position: relative; top: -1px; }
.navul .sub-menu {
  display: none; position: absolute; top: 100%; left: 0; min-width: 240px;
  background: var(--ink2, #101018); border: 1px solid var(--bdr, rgba(201,147,58,.15));
  padding: 8px 0; z-index: 200; box-shadow: 0 16px 36px rgba(0,0,0,.45);
  list-style: none; margin: 0;
}
.navul li:hover > .sub-menu, .navul li:focus-within > .sub-menu { display: block; }
.navul .sub-menu li { display: block; }
.navul .sub-menu a { display: block; padding: 10px 20px; font-size: .8rem; color: rgba(240,235,224,.72); white-space: nowrap; letter-spacing: normal; text-transform: none; }
.navul .sub-menu a:hover, .navul .sub-menu a:focus { color: var(--gold); background: rgba(var(--goldrgb,201,147,58),.07); }
.mobm-menu .sub-menu { list-style: none; margin: 6px 0 10px 18px; padding: 0; }
.mobm-menu .sub-menu a { font-size: .82em; opacity: .72 }
.mobm-extra { list-style: none; margin: 18px 0 0; padding: 18px 0 0; border-top: 1px solid rgba(201,147,58,.15); }
.mobm-extra a { display: block; padding: 10px 0; color: rgba(240,235,224,.75); font-size: .9rem; }
.nav-sister-lnk { font-size: .68rem; letter-spacing: .04em; color: rgba(240,235,224,.5); white-space: nowrap; }
.nav-sister-lnk:hover { color: var(--gold, #C9933A); }
@media (max-width: 1040px) { .nav-sister-lnk { display: none; } }

/* ==========================================================================
   FOOTER NEWSLETTER
   ========================================================================== */
.ftnl { position: relative; z-index: 1; background: rgba(var(--goldrgb,201,147,58),.07); border-top: 1px solid var(--bdr, rgba(201,147,58,.15)); border-bottom: 1px solid var(--bdr, rgba(201,147,58,.15)); padding: 64px 40px; margin-top: 40px; }
.ftnl-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.ftnl-h { font-family: var(--fd, serif); font-size: 1.25rem; font-weight: 600; color: #fff; margin-bottom: 4px; }
.ftnl-sub { font-size: .8rem; color: var(--grey, #9a9690); max-width: 440px; }
.ftnl-form { display: flex; gap: 10px; flex-wrap: wrap; }
.ftnl-form input { padding: 12px 16px; background: rgba(6,9,15,.6); border: 1px solid rgba(var(--goldrgb,201,147,58),.3); border-radius: 2px; color: #f0ebe2; font-family: var(--fb, sans-serif); font-size: 13.5px; min-width: 140px; outline: none; }
.ftnl-form input::placeholder { color: rgba(240,235,224,.35); }
.ftnl-form button { padding: 12px 24px; background: linear-gradient(135deg, var(--gold, #C9933A), var(--golddark, #a87228)); border: none; border-radius: 2px; color: #060606; font-family: var(--fb, sans-serif); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; white-space: nowrap; }
.ftnl-form button:disabled { opacity: .6; cursor: default; }
.ftnl-msg { max-width: 1200px; margin: 12px auto 0; text-align: center; font-size: .78rem; padding: 0 40px; }
@media (max-width: 900px) {
  .ftnl { padding: 44px 20px; margin-top: 20px; }
  .ftnl-inner { flex-direction: column; align-items: flex-start; }
  .ftnl-form { width: 100%; }
  .ftnl-form input { flex: 1; min-width: 100px; }
  .ftnl-msg { padding: 0 20px; }
}


/* ==========================================================================
   SINGLE POST — TWO-COLUMN LAYOUT WITH SIDEBAR
   (Author, Recent Posts, Categories, Newsletter)
   ========================================================================== */
.post-layout {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  align-items: start;
}
/* .page-wrap normally self-centers with its own max-width — inside the
   two-column layout it should just fill its grid column instead. */
.post-layout .page-wrap {
  max-width: none;
  margin: 0;
  padding: 4rem 0;
}
.post-sidebar {
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 3.5rem 0;
}
.sbw {
  background: var(--ink2, #101018);
  border: 1px solid var(--bdr, rgba(201,147,58,.15));
  padding: 26px;
}
.sbw h4 {
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold, #C9933A);
  font-weight: 600;
  margin-bottom: 16px;
}
.sbw-empty { font-size: .8rem; color: var(--grey, #9a9690); }

/* Author widget */
.sbw-author { text-align: center; }
.sbw-author-av {
  width: 56px; height: 56px; border-radius: 50%;
  background: #080808; border: 2px solid rgba(201,147,58,.3);
  color: var(--gold, #C9933A); font-family: var(--fd, serif); font-size: 1.3rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 12px;
}
.sbw-author-name { font-family: var(--fd, serif); font-size: 1rem; font-weight: 600; color: #fff; margin-bottom: 8px; }
.sbw-author-bio { font-size: .76rem; color: var(--grey, #9a9690); line-height: 1.6; margin-bottom: 14px; }
.sbw-author-lnk { font-size: .72rem; color: var(--gold, #C9933A); font-weight: 500; }
.sbw-author-lnk:hover { color: var(--glt, #e8bf78); }

/* Recent posts widget */
.sbw-recent-item { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 16px; }
.sbw-recent-item:last-child { margin-bottom: 0; }
.sbw-recent-thumb {
  width: 56px; height: 56px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--ink3, #17171f), var(--ink5, #1e1e28));
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.sbw-recent-thumb span { font-family: var(--fd, serif); color: rgba(var(--goldrgb,201,147,58),.3); font-size: .6rem; text-align: center; }
.sbw-recent-title { font-size: .82rem; color: #f0ebe0; line-height: 1.35; margin-bottom: 4px; }
.sbw-recent-item:hover .sbw-recent-title { color: var(--gold, #C9933A); }
.sbw-recent-date { font-size: .68rem; color: var(--grey, #9a9690); }

/* Categories widget */
.sbw-categories ul { list-style: none; }
.sbw-categories li { border-bottom: 1px solid rgba(201,147,58,.08); }
.sbw-categories li:last-child { border-bottom: none; }
.sbw-categories a {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 0; font-size: .82rem; color: rgba(240,235,224,.75);
}
.sbw-categories a:hover { color: var(--gold, #C9933A); }
.sbw-categories a span {
  font-size: .68rem; color: var(--grey, #9a9690); background: rgba(255,255,255,.04);
  padding: 2px 7px; border-radius: 10px;
}

/* Newsletter widget */
.sbw-newsletter p { font-size: .78rem; color: var(--grey, #9a9690); line-height: 1.6; margin-bottom: 16px; }
.sbw-newsletter form { display: flex; flex-direction: column; gap: 10px; }
.sbw-newsletter input {
  padding: 11px 14px; background: rgba(6,9,15,.6); border: 1px solid rgba(var(--goldrgb,201,147,58),.3);
  border-radius: 2px; color: #f0ebe2; font-family: var(--fb, sans-serif); font-size: 13px; outline: none;
}
.sbw-newsletter input::placeholder { color: rgba(240,235,224,.35); }
.sbw-newsletter button {
  padding: 11px; background: linear-gradient(135deg, var(--gold, #C9933A), var(--golddark, #a87228));
  border: none; border-radius: 2px; color: #060606; font-family: var(--fb, sans-serif);
  font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer;
}
.sbw-newsletter button:disabled { opacity: .6; cursor: default; }
.sbw-nl-msg { font-size: .72rem; margin-top: 10px; }

@media (max-width: 1000px) {
  .post-layout { grid-template-columns: 1fr; padding: 0 20px; }
  .post-sidebar { position: static; padding: 0 0 3rem; }
  .post-layout .page-wrap { padding: 3rem 0 1rem; }
}

/* Imported post content already contains an inline author-card (part of
   the standard post template) — hide it here since the sidebar now has
   its own dedicated author widget, avoiding a duplicate section. */
.post-layout .page-wrap .author-card { display: none; }
