:root{
  --dark:#0F0E0C;
  --charcoal:#1C1A16;
  --gold:#C4A35A;
  --gold-dim:#8A6E3A;
  --cream:#F5F2EA;
  --offwhite:#EDE9E0;
  --text:#1A1814;
  --subtext:#52504A;
  --dim:#A09880;
  --mid:#6A6050;
  --rule:#2E2B22;
  --ltgray:#D8D4CA;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--dark);font-family:'Inter',system-ui,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}
a{color:var(--gold);text-decoration:none;cursor:pointer}
img{max-width:100%;display:block}
h1,h2,h3,p{margin:0}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.serif{font-family:'DM Serif Display',serif}
.hidden{display:none!important}

@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}

/* ---------- reveal animation ---------- */
.rv{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.rv.vis{opacity:1;transform:none}
[data-stagger]{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
[data-stagger].vis{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .rv,[data-stagger]{opacity:1;transform:none}
  *{transition:none!important;animation:none!important}
}

/* ---------- section label ---------- */
.section-label{display:flex;align-items:center;gap:12px;font:600 10px Inter;letter-spacing:3px;color:var(--gold);text-transform:uppercase}
.section-label::before{content:'';display:block;width:32px;height:1px;background:var(--gold);flex-shrink:0}
.section-label.center{justify-content:center}

/* ---------- layout helpers ---------- */
.sec{padding:96px 24px}
.sec-dark{background:var(--dark)}
.sec-light{background:var(--cream)}
.wrap{max-width:1200px;margin:0 auto}
.wrap-narrow{max-width:760px;margin:0 auto}
.wrap-md{max-width:1000px;margin:0 auto}
.wrap-legal{max-width:720px;margin:0 auto}
.center{text-align:center}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:56px}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.rule-gold{width:32px;height:1px;background:var(--gold)}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;height:64px;background:var(--dark);border-bottom:1px solid var(--rule);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 24px;transition:box-shadow .3s ease}
.nav.scrolled{box-shadow:0 1px 12px rgba(0,0,0,.4)}
.nav-logo{font:600 13px Inter;letter-spacing:4px;color:#fff}
.nav-center{display:flex;gap:32px;align-items:center}
.nav-link{font:500 13px Inter;color:var(--dim);transition:color .2s ease;background:none;border:none;padding:0}
.nav-link:hover{color:#fff}
.nav-link.active{color:var(--gold)}
.nav-right{display:flex;align-items:center;gap:16px}
.nav-hamburger{display:none;flex-direction:column;gap:4px;padding:6px;background:none;border:none;cursor:pointer}
.nav-hamburger span{display:block;width:20px;height:3px;background:var(--gold)}
main{padding-top:64px}

/* ---------- mobile menu ---------- */
.mobile-menu{display:none;position:fixed;inset:0;background:var(--dark);z-index:200;flex-direction:column;align-items:center;justify-content:center;gap:28px}
.mobile-menu a.mlink{font:400 34px 'DM Serif Display',serif;color:#fff;transition:color .2s ease}
.mobile-menu a.mlink:hover{color:var(--gold)}
.mobile-close{position:absolute;top:20px;right:24px;color:var(--gold);font-size:28px;background:none;border:none;cursor:pointer;line-height:1}

/* ---------- buttons ---------- */
.btn{display:inline-block;font:600 13px Inter;letter-spacing:.5px;text-transform:uppercase;padding:14px 28px;border-radius:3px;cursor:pointer;border:1px solid transparent;text-align:center;transition:background .2s ease,color .2s ease,border-color .2s ease}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:var(--gold-dim);color:#fff}
.btn-outline{border-color:var(--gold);color:var(--gold);background:transparent}
.btn-outline:hover{background:var(--gold);color:#fff}
.btn-sm{padding:10px 20px;font-size:12px}
.btn-lg{padding:16px 32px}
.btn-block{display:block;width:100%}
.btn-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.inline-link{font:600 14px Inter;color:var(--gold)}
.inline-link:hover{color:var(--gold-dim)}

/* ---------- hero ---------- */
.hero{min-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px 24px}
.hero h1{font:400 62px/1.1 'DM Serif Display',serif;color:#fff;max-width:820px;margin-top:24px}
.hero p{font:400 18px/1.65 Inter;color:var(--dim);max-width:560px;margin:24px auto 0}
.hero-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:24px;font:400 12px Inter;letter-spacing:2px;text-transform:uppercase;color:var(--mid)}
.scroll-cue{margin-top:48px;color:var(--gold);font-size:18px;animation:pulse 2s ease-in-out infinite}
.page-hero{padding:120px 24px 96px;text-align:center;background:var(--dark)}
.page-hero h1{font:400 56px/1.1 'DM Serif Display',serif;color:#fff;max-width:860px;margin:24px auto 0}
.page-hero p{font:400 17px/1.65 Inter;color:var(--dim);max-width:560px;margin:20px auto 0}

/* ---------- cards ---------- */
.card{background:var(--charcoal);border-top:1.5px solid var(--gold);border-radius:2px;padding:28px;transition:transform .2s ease}
.card:hover{transform:translateY(-3px)}
.card-light{background:var(--offwhite)}
.card h3{font:600 19px/1.3 Inter;color:#fff;margin-bottom:12px}
.card-light h3{color:var(--text)}
.card p{font:400 15px/1.65 Inter;color:var(--dim)}
.card-light p{color:var(--subtext)}

/* ---------- checklist ---------- */
.checklist{display:flex;flex-direction:column;gap:14px}
.check-item{display:flex;gap:12px;font:400 15px/1.5 Inter}
.check-item .tick{color:var(--gold);font-weight:600;flex-shrink:0}

/* ---------- steps (how it works) ---------- */
.step-num{font:400 64px 'DM Serif Display',serif;color:var(--gold)}
.step-num-lg{font:400 80px/1 'DM Serif Display',serif;color:var(--gold)}
.step-title{font:600 18px Inter;color:var(--text);margin:12px 0 10px}
.step-p{font:400 15px/1.65 Inter;color:var(--subtext)}

/* ---------- before/after ---------- */
.ba-toggle{display:flex;gap:8px;margin-bottom:20px}
.ba-btn{font:600 12px Inter;letter-spacing:.5px;text-transform:uppercase;padding:9px 22px;border-radius:20px;background:var(--charcoal);color:var(--dim);border:1px solid var(--rule);cursor:pointer;transition:all .3s ease}
.ba-btn.active{background:var(--gold);color:#fff}
.ba-stack{display:grid}
.ba-card{grid-column:1;grid-row:1;background:var(--charcoal);border-radius:2px;padding:28px;opacity:0;pointer-events:none;transition:opacity .3s ease;position:relative}
.ba-card.active{opacity:1;pointer-events:auto;z-index:1}
.ba-head{display:flex;gap:14px;align-items:center}
.ba-avatar{width:56px;height:56px;border-radius:50%;background:var(--rule);flex-shrink:0}
.ba-avatar.gold-ring{border:2px solid var(--gold)}
.ba-name{font:600 15px Inter;color:var(--dim)}
.ba-card.after .ba-name{font:600 15px/1.35 Inter;color:#fff}
.ba-sub{font:400 12px Inter;color:var(--mid);margin-top:4px}
.ba-card.after .ba-sub{font:600 12px Inter;color:var(--gold)}
.ba-divider{height:1px;background:var(--rule);margin:20px 0}
.ba-label{font:600 11px Inter;letter-spacing:1px;color:var(--mid);text-transform:uppercase}
.ba-card.after .ba-label{color:var(--gold)}
.ba-bar{height:8px;border-radius:2px;background:var(--rule);margin-top:12px}
.ba-activity{font:400 13px Inter;color:var(--mid);margin-top:8px;font-style:italic}
.ba-card.after p{font:400 13px/1.6 Inter;color:var(--dim);margin:10px 0 0}
.ba-card.after .ba-activity{font:400 13px Inter;color:var(--dim);font-style:normal}

/* ---------- pricing ---------- */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;align-items:start}
.pricing-card{background:var(--offwhite);border-radius:2px;padding:28px;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease;margin-top:8px}
.pricing-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.pricing-card.dark-variant{background:var(--charcoal);box-shadow:none}
.pricing-card.dark-variant:hover{box-shadow:0 8px 24px rgba(0,0,0,.4)}
.pricing-card.popular{border-top:3px solid var(--gold);margin-top:0}
.pricing-card:not(.popular){border-top:1.5px solid var(--gold)}
.p-popular-label{font:600 10px Inter;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
.p-name{font:600 13px Inter;letter-spacing:2px;color:var(--text);text-transform:uppercase}
.dark-variant .p-name{color:#fff}
.p-price-row{margin:16px 0 4px}
.p-price{font:400 40px 'DM Serif Display',serif;color:var(--text)}
.dark-variant .p-price{color:#fff}
.p-price-was{font:400 20px 'DM Serif Display',serif;color:var(--mid);text-decoration:line-through;margin-right:8px}
.dark-variant .p-price-was{color:var(--dim)}
.p-monthly-was{text-decoration:line-through;color:var(--mid);margin-right:4px}
.dark-variant .p-monthly-was{color:var(--dim)}
.p-price-suffix{font:400 14px Inter;color:var(--subtext)}
.dark-variant .p-price-suffix{color:var(--dim)}
.p-monthly{font:500 14px Inter;color:var(--mid);min-height:20px}
.dark-variant .p-monthly{color:var(--dim)}
.p-divider{height:1px;background:var(--ltgray);margin:20px 0}
.dark-variant .p-divider{background:var(--rule)}
.p-items{display:flex;flex-direction:column;gap:10px;min-height:170px}
.p-item{display:flex;gap:10px;font:400 14px/1.5 Inter;color:var(--subtext)}
.dark-variant .p-item{color:var(--dim)}
.p-item .tick{color:var(--gold);font-weight:600;flex-shrink:0}
.p-note{font:400 12px Inter;color:var(--mid);font-style:italic;margin-top:12px;text-align:center}
.pricing-cta{border:1px solid var(--gold);margin-top:20px}
.pricing-cta.solid{background:var(--gold);color:#fff}
.pricing-cta.outline{background:transparent;color:var(--gold)}
.pricing-cta.outline.dark-variant{color:var(--gold)}
.pricing-cta:hover{background:var(--gold-dim)!important;color:#fff!important;border-color:var(--gold-dim)}
.spots-badge{background:var(--gold);color:#fff;font:600 12px Inter;letter-spacing:1px;text-transform:uppercase;padding:8px 20px;display:inline-block}

/* ---------- stats ---------- */
.stat{text-align:center}
.stat-num{font:400 56px 'DM Serif Display',serif;color:var(--gold)}
.stat-num.sm{font-size:52px}
.stat-num.xs{font-size:32px}
.stat-label{font:400 13px Inter;letter-spacing:1px;text-transform:uppercase;color:var(--dim);margin-top:8px;line-height:1.6}

/* ---------- testimonials ---------- */
.quote-mark{font:400 48px/0.6 'DM Serif Display',serif;color:var(--gold);margin-bottom:16px}
.quote-mark.sm{font-size:42px;margin-bottom:14px}
.t-quote{font:400 15px/1.7 Inter;color:var(--dim);font-style:italic}
.card-light .t-quote{color:var(--subtext)}
.t-foot{display:flex;gap:12px;align-items:center;margin-top:20px}
.t-avatar{width:40px;height:40px;border-radius:50%;border:1px solid var(--gold);flex-shrink:0;display:flex;align-items:center;justify-content:center;font:600 13px Inter;color:var(--gold);background:transparent}
.card-light .t-avatar{color:var(--gold-dim)}
.t-name{font:600 14px Inter;color:#fff}
.card-light .t-name{color:var(--text)}
.t-role{font:400 12px Inter;color:var(--mid)}
.t-tag{font:600 11px Inter;letter-spacing:1px;color:var(--gold-dim);text-transform:uppercase;margin-top:2px}

/* ---------- faq ---------- */
.faq-group{display:flex;flex-direction:column}
.faq-item{border-bottom:1px solid var(--ltgray)}
.faq-item.on-dark{border-bottom:1px solid var(--rule)}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font:500 16px Inter;color:var(--text);background:none;border:none;width:100%;text-align:left;cursor:pointer}
.faq-q.on-dark{color:#fff}
.faq-q-text{display:flex;flex-direction:column;gap:3px}
.faq-tag{font:400 13px Inter;color:var(--mid);font-weight:400}
.faq-chevron{color:var(--gold);transition:transform .3s ease;flex-shrink:0;font-size:20px}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a-inner{font:400 15px/1.65 Inter;color:var(--subtext);border-left:2px solid transparent;padding-left:0;margin:0 0 20px;transition:border-color .2s ease,padding-left .2s ease}
.faq-a-inner.on-dark{color:var(--dim)}
.faq-item.open .faq-a-inner{border-left-color:var(--gold);padding-left:16px}

/* ---------- quiz ---------- */
.quiz-box{background:var(--offwhite);border-top:1.5px solid var(--gold);border-radius:2px;padding:32px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.quiz-q{margin-bottom:24px}
.quiz-title{font:600 15px Inter;color:var(--text);margin-bottom:12px}
.quiz-opts{display:flex;flex-wrap:wrap;gap:8px}
.quiz-opt{font:500 13px Inter;padding:9px 16px;border-radius:3px;border:1px solid var(--gold);background:transparent;color:var(--gold-dim);cursor:pointer;transition:all .2s ease}
.quiz-opt.selected{background:var(--gold);color:#fff}
.quiz-result{border-top:1px solid var(--ltgray);padding-top:24px;margin-top:8px;display:none;opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease}
.quiz-result.show{display:block;opacity:1;transform:none}
.quiz-rec-label{font:600 10px Inter;letter-spacing:3px;color:var(--gold-dim);text-transform:uppercase}
.quiz-rec-name{font:400 32px 'DM Serif Display',serif;color:var(--gold);margin:8px 0}
.quiz-rec-why{font:400 14px/1.6 Inter;color:var(--subtext);margin:0 0 20px}
.quiz-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.quiz-reset{font:500 13px Inter;color:var(--mid);background:none;border:none;cursor:pointer}
.quiz-reset:hover{color:var(--gold)}

/* ---------- table ---------- */
.table-wrap{border-radius:2px;overflow-x:auto;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.table-head{display:grid;grid-template-columns:2.4fr 1fr 1fr 1fr;background:var(--charcoal);border-top:1.5px solid var(--gold);min-width:520px}
.table-head div{padding:16px 20px;font:600 13px Inter;color:#fff}
.table-head div:not(:first-child){padding:16px 8px;text-align:center}
.table-head div.g{color:var(--gold)}
.table-row{display:grid;grid-template-columns:2.4fr 1fr 1fr 1fr;min-width:520px}
.table-row .cell-name{padding:12px 20px;font:400 14px Inter;color:var(--text)}
.table-row .cell-val{padding:12px 8px;text-align:center;color:var(--gold);font:600 14px Inter}
.table-row .cell-val.a-cell{font:600 13px Inter;font-style:italic}
.table-row .cell-val.a-cell.no-italic{font-style:normal}

/* ---------- case studies ---------- */
.case-card{background:var(--charcoal);border-left:3px solid var(--gold);padding:32px}
.case-role{font:600 12px Inter;letter-spacing:2px;color:var(--gold);text-transform:uppercase;margin-bottom:20px}
.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}
.case-h{font:600 11px Inter;letter-spacing:2px;color:var(--mid);text-transform:uppercase;margin-bottom:10px}
.case-p{font:400 14px/1.6 Inter;color:var(--dim)}
.case-did{display:flex;flex-direction:column;gap:6px}
.case-did div{display:flex;gap:8px;font:400 13px/1.5 Inter;color:var(--dim)}
.case-did span.tick{color:var(--gold)}
.case-outcome{font:600 15px/1.55 Inter;color:var(--gold)}

/* ---------- numbers row ---------- */
.number-row{display:flex;gap:40px;align-items:center;padding:28px 0;border-bottom:1px solid var(--ltgray)}
.number-row:last-child{border-bottom:none}
.number-n{font:400 48px 'DM Serif Display',serif;color:var(--gold);width:130px;flex-shrink:0}
.number-p{font:400 16px/1.65 Inter;color:var(--subtext)}

/* ---------- timeline ---------- */
.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:24px;margin-top:48px;position:relative}
.timeline-rule{position:absolute;top:6px;left:2%;right:2%;height:1px;background:var(--gold)}
.timeline-item{position:relative}
.timeline-dot{width:13px;height:13px;border-radius:50%;background:var(--gold);margin-bottom:16px}
.timeline-label{font:600 14px Inter;color:var(--text)}
.timeline-desc{font:400 13px/1.55 Inter;color:var(--subtext);margin-top:6px}

/* ---------- weeks (involvement) ---------- */
.week-label{font:600 12px Inter;letter-spacing:2px;color:#fff;text-transform:uppercase;margin-bottom:8px}
.week-row{display:flex;gap:10px;align-items:baseline}
.week-who{font:600 10px Inter;letter-spacing:1px;color:var(--mid);text-transform:uppercase;width:70px;flex-shrink:0}
.week-who.us{color:var(--gold)}
.week-txt{font:400 13px/1.5 Inter;color:var(--dim)}
.week-txt.us{color:var(--gold)}

/* ---------- markets ---------- */
.market-flag{width:36px;height:24px;border:1px solid var(--ltgray);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:14px}
.market-flag svg{width:100%;height:100%;display:block}
.market-name{font:600 17px Inter;color:var(--text);margin-bottom:8px}
.market-note{font:400 13px/1.6 Inter;color:var(--subtext)}

/* ---------- why cards / about icons ---------- */
.why-icon{width:36px;height:36px;border:1px solid var(--gold);border-radius:2px;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:14px;flex-shrink:0}

/* ---------- book a call ---------- */
.book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));min-height:calc(100vh - 64px)}
.book-left{background:var(--cream);padding:80px 56px}
.book-right{background:var(--dark);padding:80px 56px;display:flex;flex-direction:column}
.book-founder{display:flex;gap:16px;align-items:center}
.book-avatar{width:64px;height:64px;border-radius:50%;border:1px solid var(--gold);flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.book-avatar svg{width:60%;height:60%;display:block}
.book-quote-card{background:var(--offwhite);border-top:1.5px solid var(--gold);padding:18px 20px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.calendar-frame-wrap{flex:1;min-height:480px;background:#fff;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;overflow:hidden}
.calendar-frame-wrap iframe{width:100%;height:600px;border:none;border-radius:4px;background:#fff}

/* ---------- legal ---------- */
.legal-section h3{font:600 18px Inter;color:var(--text);margin-bottom:10px}
.legal-section p{font:400 15px/1.7 Inter;color:var(--subtext)}
.legal-meta{font:400 13px Inter;color:var(--mid)}

/* ---------- footer ---------- */
.footer{background:var(--dark);border-top:1px solid var(--rule);padding:64px 24px 0}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px}
.footer-logo{font:600 13px Inter;letter-spacing:4px;color:#fff}
.footer-tag{font:400 14px Inter;color:var(--dim);margin-top:12px}
.footer-sub{font:400 13px/1.6 Inter;color:var(--mid);margin-top:6px}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links a{font:400 13px Inter;color:var(--dim)}
.footer-links a:hover{color:var(--gold)}
.footer-right{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.footer-social{display:inline-flex;width:32px;height:32px;border:1px solid var(--gold);align-items:center;justify-content:center;font:600 13px Inter;color:var(--gold);transition:background .2s ease,color .2s ease}
.footer-social:hover{background:var(--gold);color:var(--dark)}
.footer-copy{font:400 12px Inter;color:var(--mid)}
.footer-bottom{max-width:1200px;margin:48px auto 0;border-top:1px solid var(--rule);padding:20px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:24px;font:400 12px Inter;color:var(--mid)}
.footer-bottom a{color:var(--mid)}
.footer-bottom a:hover{color:var(--gold)}
.footer-microbar{border-top:1px solid var(--gold);padding:18px 24px;text-align:center;font:600 10px Inter;letter-spacing:3px;color:var(--dim);text-transform:uppercase;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:0}
.footer-microbar span.sep{color:var(--gold)}

/* ---------- blog listing ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.blog-card{display:flex;flex-direction:column;height:100%}
.blog-card-tag{font:600 11px Inter;letter-spacing:2px;color:var(--gold);text-transform:uppercase;margin-bottom:14px}
.blog-card h3{font:600 20px/1.35 Inter;margin-bottom:12px}
.blog-card p{flex:1}
.blog-card-meta{font:400 12px Inter;color:var(--mid);margin-top:20px;padding-top:16px;border-top:1px solid var(--rule)}
.card-light .blog-card-meta{border-top-color:var(--ltgray)}
.blog-card-link{font:600 13px Inter;color:var(--gold);margin-top:16px;display:inline-block}

/* ---------- breadcrumb ---------- */
.breadcrumb{font:400 13px Inter;color:var(--mid);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.breadcrumb a{color:var(--mid)}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb .sep{color:var(--rule)}

/* ---------- post ---------- */
.post-hero{padding:140px 24px 48px;background:var(--dark)}
.post-hero-inner{max-width:760px;margin:0 auto}
.post-tag{font:600 11px Inter;letter-spacing:2px;color:var(--gold);text-transform:uppercase}
.post-hero h1{font:400 44px/1.2 'DM Serif Display',serif;color:#fff;margin:18px 0}
.post-meta{font:400 13px Inter;color:var(--dim);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.post-meta .sep{color:var(--gold)}
.post-body{max-width:720px;margin:0 auto;padding:64px 24px}
.post-body p{font:400 17px/1.75 Inter;color:var(--subtext);margin-bottom:22px}
.post-body h2{font:600 26px Inter;color:var(--text);margin:44px 0 18px}
.post-body h3{font:600 19px Inter;color:var(--text);margin:32px 0 14px}
.post-body ul,.post-body ol{margin:0 0 22px;padding-left:22px;display:flex;flex-direction:column;gap:10px}
.post-body li{font:400 17px/1.65 Inter;color:var(--subtext)}
.post-body strong{color:var(--text);font-weight:600}
.post-body blockquote{margin:36px 0;padding:4px 0 4px 24px;border-left:3px solid var(--gold)}
.post-body blockquote p{font:italic 400 20px/1.6 'DM Serif Display',serif;color:var(--text);margin:0}
.post-body a{font-weight:600;text-decoration:underline;text-decoration-color:var(--gold-dim)}

/* ---------- author byline ---------- */
.byline{display:flex;gap:16px;align-items:center;max-width:720px;margin:0 auto;padding:32px 24px;border-top:1px solid var(--ltgray);border-bottom:1px solid var(--ltgray)}
.byline-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--gold);flex-shrink:0}
.byline-name{font:600 15px Inter;color:var(--text)}
.byline-role{font:400 13px Inter;color:var(--mid);margin-top:2px}
.byline-bio{font:400 13px/1.6 Inter;color:var(--subtext);margin-top:6px;max-width:560px}

/* ---------- related posts ---------- */
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}

/* ---------- responsive ---------- */
@media (max-width:1199px){
  .hero h1{font-size:52px}
}
@media (max-width:767px){
  .nav-center{display:none}
  .nav-hamburger{display:flex}
  .hero h1{font-size:38px!important}
  .page-hero h1{font-size:38px!important}
  h2.serif{font-size:32px!important}
  .grid-2{gap:40px}
  .pricing-grid{grid-template-columns:1fr}
  .pricing-card.popular{order:-1}
  .book-grid{min-height:auto;grid-template-columns:1fr}
  .book-left,.book-right{padding:48px 24px}
  .book-right{order:-1}
  .calendar-frame-wrap iframe{height:520px}
  .btn-row{flex-direction:column;align-items:stretch}
  .btn-row .btn{width:100%}
  .case-grid{grid-template-columns:1fr}
  .post-hero{padding:104px 24px 40px}
  .post-hero h1{font-size:32px!important}
  .post-body p,.post-body li{font-size:16px}
  .byline{flex-direction:column;align-items:flex-start;text-align:left}
}

/* ---------- pricing anchor offset (multi-page nav) ---------- */
#pricing{scroll-margin-top:80px}
