/* ── THEME TOKENS (inherited from home.css) ───────────────────────── */
:root {
  --primary:hsl(211,50%,34%);
  --primary-hover:hsl(211,50%,28%);
  --primary-soft:hsla(211,50%,34%,0.08);
  --ink:hsl(0,0%,10%); --ink-2:hsl(0,0%,25%); --ink-3:hsl(0,0%,40%); --ink-4:hsl(0,0%,53%);
  --line:hsl(35,10%,88%); --line-2:hsl(40,10%,92%);
  --bg:hsl(0,0%,100%);
  --surface:#fff;
  --header-bg:hsla(42,40%,96%,0.92);
  --gold:hsl(38,55%,52%); --gold-soft:hsl(38,50%,70%); --cream:hsl(42,40%,96%); --gold-tint:hsla(38,55%,52%,0.1);
  --slate:#2b3a4d;
  --radius:14px;
  --serif:"Lora",Georgia,serif;
  --sans:"IBM Plex Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",monospace;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --primary:hsl(211,42%,56%);
  --primary-hover:hsl(211,42%,64%);
  --primary-soft:hsla(211,42%,56%,0.12);
  --ink:hsl(40,14%,92%); --ink-2:hsl(40,9%,78%); --ink-3:hsl(40,7%,62%); --ink-4:hsl(40,5%,50%);
  --line:hsl(38,6%,26%); --line-2:hsl(38,6%,20%);
  --bg:hsl(38,8%,12%);
  --surface:hsl(38,7%,16%);
  --header-bg:hsla(38,9%,13%,0.92);
  --gold:hsl(38,66%,64%); --gold-soft:hsla(38,58%,56%,0.55); --cream:hsl(38,9%,14%); --gold-tint:hsla(38,60%,56%,0.14);
  --slate:hsl(38,9%,14%);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;background:var(--bg);min-height:100%;}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;}
a{text-decoration:none;color:inherit;}
button{cursor:pointer;border:none;background:none;font:inherit;color:inherit;}
.wrap{max-width:720px;margin:0 auto;padding:0 1.4rem;background:var(--bg);}
.progress{position:fixed;top:0;left:0;height:3px;background:var(--primary);width:0;z-index:100;transition:width 0.1s linear;}

/* ── HEADER (inherited 1:1 from home.css) ── */
.site-header{position:sticky;top:0;z-index:60;background:var(--header-bg);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);}
.header-inner{max-width:720px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0.625rem 1.4rem;height:58px;}
.header-back{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:0.4rem;margin-left:-0.35rem;border-radius:8px;color:var(--ink-2);flex-shrink:0;transition:color 0.15s ease,background 0.15s ease;text-decoration:none;}
.header-back svg{width:20px;height:20px;}
.header-back:hover{color:var(--primary);background:var(--line-2);}
.header-back:active{transform:scale(0.92);}
.logo-wordmark{display:flex;flex-direction:row;align-items:center;gap:0.55rem;line-height:1.12;margin-right:auto;}
.logo-text-col{display:flex;flex-direction:column;line-height:1.12;}
.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;}
.logo-mark svg{width:32px;height:32px;display:block;}
.logo-name{font-family:"Lora",Georgia,serif;font-weight:600;font-size:1rem;letter-spacing:-0.01em;color:var(--ink);}
.logo-sub{font-size:0.6rem;color:var(--ink-4);letter-spacing:0.01em;}
.header-right{display:flex;align-items:center;gap:0.55rem;}
.header-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;color:var(--ink-2);background:transparent;transition:all 0.16s ease;cursor:pointer;}
.header-icon-btn svg{width:17px;height:17px;}
.header-cta{font-family:"IBM Plex Mono",monospace;font-size:0.7rem;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink);padding:0.45rem 0.7rem;border:1px solid var(--ink);border-radius:6px;transition:all 0.18s ease;}
.header-cta:active{background:var(--ink);color:#fff;}
.header-kebab-wrap{position:relative;display:inline-flex;}
.kebab-menu{position:absolute;top:calc(100% + 0.4rem);right:0;z-index:300;min-width:172px;background:#fff;border:1px solid var(--line);border-radius:0.6rem;box-shadow:0 8px 28px rgba(0,0,0,0.12),0 2px 6px rgba(0,0,0,0.05);padding:0.3rem;display:none;flex-direction:column;gap:0.1rem;}
.kebab-item{display:flex;align-items:center;gap:0.6rem;width:100%;padding:0.6rem 0.7rem;border:none;background:none;cursor:pointer;border-radius:0.45rem;font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:0.88rem;color:var(--ink);text-align:left;transition:background 0.13s;}
.kebab-item svg{width:17px;height:17px;color:var(--ink-3);flex-shrink:0;}
.header-icon-btn[aria-expanded="true"]{color:var(--primary);}
.header-notary{display:inline-flex;align-items:center;height:30px;padding:0 0.7rem;margin-right:0.1rem;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--ink-2);font-family:"IBM Plex Mono",monospace;font-size:0.66rem;font-weight:500;letter-spacing:0.03em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:border-color 0.16s ease,color 0.16s ease;}
.header-notary:active{transform:scale(0.98);}
.kebab-authed{display:none;}
@media (hover:hover){
  .header-icon-btn:hover{border-color:var(--primary);color:var(--primary);}
}
@media (hover:hover){
}
@media (hover:hover){
  .header-cta:hover{background:var(--ink);color:#fff;}
}
@media (hover:hover){
  .kebab-item:hover{background:var(--line-2);}
}
@media (min-width:900px){
  .header-inner{max-width:720px;padding:0.9rem 1.4rem;height:72px;}
  .logo-name{font-size:1.1rem;}
  .logo-sub{font-size:0.66rem;}
  .header-cta{font-size:0.74rem;padding:0.55rem 0.9rem;}
}
@media (hover:hover){
  .header-notary:hover{border-color:var(--gold-soft);color:var(--ink);}
}
.kebab-menu.open{display:flex;}
.header-notary-label{display:inline;}
[data-theme="dark"] .kebab-menu{background:var(--surface);}

/* ── HERO ── */
.hero{padding:4rem 0 2.6rem;border-bottom:1px solid var(--line);}
.eyebrow{font-family:var(--mono);font-size:0.68rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-4);margin-bottom:1.4rem;display:flex;align-items:center;gap:0.6rem;}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--gold);}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,6vw,2.85rem);line-height:1.15;letter-spacing:-0.025em;color:var(--ink);margin-bottom:1.3rem;}
.dek{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--ink-2);line-height:1.55;max-width:38rem;}
.meta{margin-top:1.8rem;font-family:var(--mono);font-size:0.7rem;letter-spacing:0.05em;color:var(--ink-4);text-transform:uppercase;}

/* ── BODY ── */
article{padding:1.6rem 0 1rem;}
/* ── SCROLL REVEAL (in and out of view) ── */
.block{margin-bottom:2.6rem;opacity:0;transform:translateY(22px);transition:opacity 0.9s cubic-bezier(0.16,1,0.3,1),transform 0.9s cubic-bezier(0.16,1,0.3,1);will-change:opacity,transform;}
.block.in-view{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .block{opacity:1 !important;transform:none !important;transition:none !important;}
}
h2{font-family:var(--serif);font-weight:600;font-size:1.55rem;line-height:1.25;letter-spacing:-0.015em;color:var(--ink);margin-bottom:1rem;}
h2 .num{font-family:var(--mono);font-size:0.8rem;color:var(--gold);font-weight:500;display:block;margin-bottom:0.35rem;letter-spacing:0.06em;}
p{font-size:1.06rem;color:var(--ink-2);margin-bottom:1.1rem;}
p strong{color:var(--ink);font-weight:600;}
.hook{background:var(--surface);border-left:3px solid var(--primary);padding:1.5rem 1.6rem;border-radius:0 var(--radius) var(--radius) 0;margin-bottom:2.6rem;}
.hook p{font-size:1.1rem;color:var(--ink);margin-bottom:0.7rem;font-style:italic;font-family:var(--serif);}
.hook p:last-child{margin-bottom:0;}
.answer{background:var(--primary);color:#fff;border-radius:var(--radius);padding:1.8rem 1.7rem;margin-bottom:2.6rem;}
.answer .label{font-family:var(--mono);font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.65);margin-bottom:0.7rem;}
.answer p{color:#fff;font-size:1.12rem;line-height:1.6;margin-bottom:0;font-weight:400;}
.answer p strong{color:#fff;}
.tradition{border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.6rem;margin:2rem 0;background:var(--surface);position:relative;}
.tradition .tag{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:0.6rem;}
.tradition p{font-family:var(--serif);font-size:1.05rem;color:var(--ink);margin-bottom:0;font-style:italic;}
.steps{list-style:none;counter-reset:s;margin:1.2rem 0 0;}
.steps li{counter-increment:s;position:relative;padding:0 0 1.3rem 3rem;font-size:1.04rem;color:var(--ink-2);}
.steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:2rem;height:2rem;border-radius:50%;background:var(--line-2);border:1px solid var(--line);color:var(--primary);font-family:var(--mono);font-size:0.85rem;font-weight:500;display:flex;align-items:center;justify-content:center;}
.steps li strong{display:block;color:var(--ink);font-size:1.06rem;margin-bottom:0.15rem;}
.cost{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:1.4rem 0 0;background:var(--surface);}
.cost-row{display:flex;justify-content:space-between;align-items:baseline;padding:0.95rem 1.3rem;border-bottom:1px solid var(--line);}
.cost-row:last-child{border-bottom:none;}
.cost-row .name{font-family:var(--mono);font-size:0.74rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink-3);}
.cost-row .val{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:1.05rem;}
.cost-row.free .val{color:var(--primary);}
.cta{margin:3rem 0 1rem;background:var(--slate);color:#fff;border-radius:var(--radius);padding:2.6rem 1.9rem;text-align:center;position:relative;overflow:hidden;border:1px solid var(--line);}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,rgba(184,137,59,0.18),transparent 55%);}
.cta-inner{position:relative;z-index:1;}
.cta h2{color:#fff;margin-bottom:0.8rem;}
.cta p{color:rgba(255,255,255,0.78);max-width:30rem;margin:0 auto 1.7rem;font-size:1.04rem;}
.btn-row{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;font-family:var(--mono);font-size:0.78rem;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;text-decoration:none;padding:0.95rem 1.7rem;border-radius:9px;transition:all 0.18s ease;cursor:pointer;}
.btn-primary{background:var(--gold);color:#1c1408;border:1px solid var(--gold);}
.btn-primary:hover{background:var(--gold-soft);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.35);}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,0.07);}
.cta-fine{margin-top:1.4rem;font-family:var(--mono);font-size:0.66rem;letter-spacing:0.04em;color:rgba(255,255,255,0.5);text-transform:uppercase;}
.upgrade{border:1px dashed var(--line);border-radius:var(--radius);padding:1.5rem 1.6rem;margin:2.4rem 0;background:var(--surface);display:flex;gap:1.1rem;align-items:flex-start;}
.upgrade .dot{width:9px;height:9px;border-radius:50%;background:var(--gold);margin-top:0.5rem;flex-shrink:0;}
.upgrade p{margin-bottom:0;font-size:0.98rem;}
.upgrade strong{color:var(--ink);}


/* ── BYLINE ── */
.byline{position:relative;margin-top:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;font-family:var(--mono);font-size:0.68rem;letter-spacing:0.02em;color:var(--ink-4);}
.byline-item strong{color:var(--ink-3);font-weight:600;}
.byline-sep{color:var(--line);}
.author-link{font:inherit;color:var(--primary);background:none;border:none;padding:0;cursor:pointer;border-bottom:1px dotted var(--primary);transition:opacity 0.15s ease;}
.author-link strong{color:var(--primary);font-weight:600;}
.author-link:hover{opacity:0.75;}
.author-bio{position:absolute;top:calc(100% + 0.6rem);left:0;z-index:50;width:min(360px,calc(100vw - 2.8rem));max-height:min(70vh,420px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 34px rgba(20,28,40,0.22);padding:1.2rem 1.3rem;animation:bioIn 0.2s cubic-bezier(0.16,1,0.3,1);}
.author-bio[hidden]{display:none;}
@keyframes bioIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.author-bio-top{display:flex;gap:0.9rem;align-items:flex-start;overflow-y:auto;min-height:0;}
.author-avatar{flex-shrink:0;width:52px;height:52px;border-radius:50%;object-fit:cover;display:block;border:1px solid var(--line);position:sticky;top:0;}
.author-bio-text{margin:0;font-family:var(--sans);font-size:0.88rem;line-height:1.55;color:var(--ink-2);letter-spacing:normal;text-transform:none;}
.author-bio-foot{flex-shrink:0;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line);}
.author-linkedin{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--mono);font-size:0.72rem;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;color:#fff;background:#0a66c2;border-radius:8px;padding:0.6rem 1rem;text-decoration:none;transition:background 0.15s ease,transform 0.15s ease;}
.author-linkedin:hover{background:#085196;transform:translateY(-1px);}
.author-linkedin:active{transform:scale(0.96);}
.author-linkedin svg{width:15px;height:15px;}
@media (prefers-reduced-motion:reduce){.author-bio{animation:none;}.author-linkedin:hover{transform:none;}}

/* ── SERIES WIDGET (Part of the Series) ── */
.series{margin:0 0 2.8rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;}
.series-head{display:flex;align-items:center;justify-content:space-between;gap:0.8rem;padding:1.1rem 1.4rem;cursor:pointer;background:none;border:none;width:100%;text-align:left;}
.series-head-left{display:flex;flex-direction:column;gap:0.3rem;}
.series-eyebrow{display:flex;align-items:center;gap:0.45rem;font-family:var(--mono);font-size:0.6rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);}
.series-eyebrow svg{width:13px;height:13px;}
.series-title{font-family:var(--serif);font-weight:600;font-size:1.15rem;line-height:1.25;color:var(--ink);}
.series-chevron{flex-shrink:0;color:var(--ink-3);transition:transform 0.25s cubic-bezier(0.16,1,0.3,1);}
.series-chevron svg{width:18px;height:18px;display:block;}
.series.collapsed .series-chevron{transform:rotate(180deg);}
.series-body{border-top:1px solid var(--line);overflow:hidden;transition:max-height 0.35s cubic-bezier(0.16,1,0.3,1);}
.series.collapsed .series-body{max-height:0 !important;border-top-color:transparent;}

/* Stage sub-sections (each stage drills down to its workflows) */
.series-stage-group{border-bottom:1px solid var(--line);}
.series-stage-group:last-child{border-bottom:none;}
.series-stage-toggle{display:flex;align-items:center;gap:0.7rem;width:100%;padding:0.95rem 1.4rem;background:none;border:none;cursor:pointer;text-align:left;}
.series-stage-label{flex:1;font-family:var(--mono);font-size:0.66rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-2);}
.series-stage-count{font-family:var(--mono);font-size:0.62rem;font-weight:500;color:var(--ink-4);background:var(--line-2);border-radius:20px;padding:0.1rem 0.5rem;min-width:1.4rem;text-align:center;}
.series-stage-chev{width:16px;height:16px;flex-shrink:0;color:var(--ink-3);transition:transform 0.25s cubic-bezier(0.16,1,0.3,1);}
.series-stage-group.collapsed .series-stage-chev{transform:rotate(-90deg);}
.series-list{list-style:none;counter-reset:ser;margin:0;padding:0 0.6rem 0.7rem;overflow:hidden;transition:max-height 0.3s cubic-bezier(0.16,1,0.3,1),opacity 0.25s ease;}
.series-stage-group.collapsed .series-list{max-height:0 !important;opacity:0;padding-top:0;padding-bottom:0;}
.series-item{counter-increment:ser;}
.series-link{display:flex;align-items:baseline;gap:0.7rem;padding:0.6rem 0.8rem;border-radius:9px;text-decoration:none;transition:background 0.16s ease;}
.series-link:hover{background:var(--line-2);}
.series-link::before{content:counter(ser);font-family:var(--mono);font-size:0.72rem;font-weight:500;color:var(--ink-4);min-width:1rem;}
.series-link .series-name{font-size:0.92rem;line-height:1.4;color:var(--ink);}
.series-item.current .series-link{background:var(--primary-soft);cursor:default;}
.series-item.current .series-link::before{color:var(--primary);}
.series-item.current .series-name{color:var(--primary);font-weight:600;}
.series-current-tag{display:block;margin-top:0.15rem;font-family:var(--mono);font-size:0.58rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-4);}
.series-item.upcoming .series-link{cursor:default;}
.series-item.upcoming .series-name{color:var(--ink-3);}
.series-item.upcoming .series-link::before{color:var(--ink-4);opacity:0.6;}
.series-item.upcoming:hover .series-link{background:transparent;}
.series-soon-tag{display:inline-block;margin-left:0.5rem;font-family:var(--mono);font-size:0.54rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-4);background:var(--line-2);border:1px solid var(--line);border-radius:4px;padding:0.1rem 0.35rem;vertical-align:middle;}
@media (prefers-reduced-motion:reduce){
  .series-chevron,.series-body,.series-stage-chev,.series-list{transition:none;}
}

/* ── WORKFLOW WIDGET ── */
.wf-widget{margin:2.8rem 0 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;}
.wf-widget-head{padding:1.4rem 1.6rem 0;}
.wf-widget-eyebrow{font-family:var(--mono);font-size:0.62rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:0.5rem;}
.wf-widget-track{display:inline-block;font-family:var(--mono);font-size:0.58rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:var(--ink-3);background:var(--line-2);border:1px solid var(--line);padding:0.2rem 0.5rem;border-radius:5px;margin-bottom:0.8rem;}
.wf-widget-name{font-family:var(--serif);font-weight:600;font-size:1.3rem;line-height:1.25;color:var(--ink);margin-bottom:0.5rem;}
.wf-widget-desc{font-size:0.96rem;color:var(--ink-2);line-height:1.55;margin-bottom:0;}
.wf-widget-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 1.6rem;margin-top:1.3rem;border-top:1px solid var(--line);background:var(--bg);flex-wrap:wrap;}
.wf-widget-price{font-family:var(--mono);font-size:0.74rem;font-weight:500;letter-spacing:0.03em;color:var(--ink-3);text-transform:uppercase;}
.wf-widget-add{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;font-family:var(--mono);font-size:0.74rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:#fff;background:var(--primary);border:none;border-radius:8px;padding:0.7rem 1.2rem;text-decoration:none;transition:background 0.16s ease,transform 0.16s ease;cursor:pointer;}
.wf-widget-add:hover{background:var(--primary-hover);transform:translateY(-1px);}
.wf-widget-add svg{width:15px;height:15px;}
.wf-widget-add.added{background:var(--surface);color:var(--primary);border:1px solid var(--primary);}
.wf-widget-add.added:hover{background:var(--primary-soft);transform:none;}
.wf-widget-note{padding:0 1.6rem 1.3rem;margin:0;font-family:var(--mono);font-size:0.62rem;letter-spacing:0.02em;color:var(--ink-4);}

.sources{margin:2.6rem 0 0;padding-top:1.8rem;border-top:1px solid var(--line);}
.sources .src-label{font-family:var(--mono);font-size:0.66rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-4);margin-bottom:1rem;}
.src-list{list-style:none;counter-reset:src;display:flex;flex-direction:column;gap:0.7rem;}
.src-list li{counter-increment:src;position:relative;padding-left:1.9rem;font-size:0.9rem;line-height:1.5;color:var(--ink-2);}
.src-list li::before{content:counter(src);position:absolute;left:0;top:0.05rem;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--line-2);border:1px solid var(--line);color:var(--primary);font-family:var(--mono);font-size:0.66rem;font-weight:500;display:flex;align-items:center;justify-content:center;}
.src-list a{color:var(--primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color 0.15s;}
.src-list a:hover{border-bottom-color:var(--primary);}
.src-list .src-org{color:var(--ink);font-weight:600;}

/* ── RELATED READING ── */
.related{margin-top:2.6rem;}
.related-list{list-style:none;margin:0.4rem 0 0;padding:0;display:flex;flex-direction:column;}
.related-item{border-bottom:1px solid var(--line);}
.related-item:last-child{border-bottom:none;}
.related-link{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:0.95rem 0;text-decoration:none;transition:opacity 0.15s ease;}
.related-link:hover .related-title{color:var(--primary);}
.related-text{display:flex;flex-direction:column;gap:0.25rem;}
.related-stage{font-family:var(--mono);font-size:0.58rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);}
.related-title{font-family:var(--serif);font-size:1.02rem;line-height:1.3;color:var(--ink);transition:color 0.15s ease;}
.related-arrow{flex-shrink:0;color:var(--ink-4);font-size:0.9rem;align-self:center;transition:transform 0.15s ease;}
.related-link:hover .related-arrow{transform:translateX(3px);color:var(--primary);}
.related-item.upcoming .related-link{cursor:default;}
.related-item.upcoming .related-title{color:var(--ink-3);}
.related-soon{flex-shrink:0;align-self:center;font-family:var(--mono);font-size:0.54rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-4);background:var(--line-2);border:1px solid var(--line);border-radius:4px;padding:0.1rem 0.35rem;}

/* ── FOOTER (inherited from home.css) ── */
[data-theme="light"] .site-footer,
[data-theme="light"] .footer-cta-strip{background:hsl(42,40%,96%) !important;}
[data-theme="light"] .footer-main,
[data-theme="light"] .footer-bottom-bar{background:hsl(42,40%,96%) !important;}
[data-theme="dark"] .footer-cta-strip,
[data-theme="dark"] .site-footer{background:var(--bg) !important;}
.footer-guarantee-inner{justify-content:center;}
/* ── FOOTER (Groupvestors-style dark) ───────────────────────────── */
.site-footer{background:var(--cream);color:var(--ink);}
/* CTA strip */
.footer-cta-strip{padding:2rem 1.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream);}
.footer-cta-inner{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start;}
.footer-cta-heading{font-family:"Lora",Georgia,serif;font-weight:600;font-size:1.2rem;color:var(--ink);line-height:1.25;}
.footer-cta-sub{font-size:0.84rem;color:var(--ink);line-height:1.5;max-width:32rem;}
.footer-cta-btn{display:inline-flex;align-items:center;gap:0.45rem;font-family:"IBM Plex Mono",monospace;font-size:0.75rem;font-weight:600;color:#fff;background:var(--primary);border:none;border-radius:6px;padding:0.65rem 1.25rem;text-decoration:none;transition:all 0.15s;white-space:nowrap;}
.footer-cta-btn svg{width:13px;height:13px;flex-shrink:0;}
/* Main cols */
.footer-main{padding:2.5rem 1.5rem 2rem;min-height:1px;}
.footer-main-inner{display:grid;grid-template-columns:1fr;gap:2rem;max-width:860px;margin:0 auto;}
/* Brand col */
.footer-brand-logo{font-family:"Lora",Georgia,serif;font-weight:600;font-size:1.05rem;color:var(--ink);margin-bottom:0.15rem;}
.footer-brand-by{font-size:0.65rem;color:var(--ink);letter-spacing:0.03em;margin-bottom:0.75rem;}
.footer-brand-desc{font-size:0.78rem;color:var(--ink);line-height:1.6;max-width:22rem;margin-bottom:0.875rem;}
/* Nav col */
.footer-col-label{font-family:"IBM Plex Mono",monospace;font-size:0.62rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);margin-bottom:0.75rem;}
/* Contact col */
.footer-contact-item{margin-bottom:0.875rem;}
.footer-contact-item:last-child{margin-bottom:0;}
.footer-contact-label{font-family:"IBM Plex Mono",monospace;font-size:0.62rem;color:var(--ink);letter-spacing:0.05em;text-transform:uppercase;margin-bottom:0.2rem;}
.footer-contact-link,.footer-contact-text{font-size:0.82rem;color:var(--ink);text-decoration:none;transition:color 0.15s;display:block;}
/* Guarantee col */
.footer-guar-title{font-family:"IBM Plex Mono",monospace;font-size:0.68rem;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:0.4rem;margin-bottom:0.6rem;}
.footer-guar-title::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--primary);flex-shrink:0;}
.footer-guar-items{display:flex;flex-direction:column;gap:0.4rem;}
.footer-guar-item{font-size:0.75rem;color:var(--ink);line-height:1.45;}
/* Bottom bar */
.footer-bottom-bar{padding:1.25rem 1.5rem calc(1.25rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);}
.footer-bottom-inner{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:0.875rem;}
.footer-copy{font-family:"IBM Plex Mono",monospace;font-size:0.62rem;letter-spacing:0.04em;color:var(--ink);}
.footer-disclaimer{font-size:0.65rem;color:var(--ink);line-height:1.65;max-width:860px;}
/* ── Report-a-bug footer link + overlay ───────────────────────────────── */
.footer-bug-link{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;opacity:0.85;}
@media (hover:hover){
  .footer-cta-btn:hover{background:var(--primary-hover);}
}
@media (hover:hover){
  .footer-contact-link:hover{color:var(--ink);}
}
@media (min-width:700px){
  .footer-cta-inner{flex-direction:row;align-items:center;justify-content:space-between;}
  .footer-cta-sub{max-width:none;}
  .footer-main-inner{grid-template-columns:1.8fr 1fr 1fr 1.2fr;}
  .footer-bottom-inner{flex-direction:row;justify-content:center;align-items:center;}
  .footer-copy{text-align:center;}
  .footer-disclaimer{margin-left:auto;margin-right:auto;text-align:center;}
}
@media (hover:hover){
  .footer-bug-link:hover{opacity:1;}
}
@media(max-width:560px){.hero{padding:3rem 0 2.2rem;}.answer,.cta,.hook{padding:1.5rem 1.3rem;}.btn{width:100%;}}
/* ── SCROLL TO TOP (matches /home) ── */
.scroll-top-btn{position:fixed;right:1.1rem;bottom:calc(env(safe-area-inset-bottom,0px) + 1.1rem);z-index:400;width:44px;height:44px;border-radius:50%;border:none;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(20,28,40,0.28);cursor:pointer;opacity:0;transform:translateY(10px) scale(0.9);pointer-events:none;transition:opacity 0.2s ease,transform 0.2s ease,background 0.15s ease;}
.scroll-top-btn.visible{opacity:1;transform:none;pointer-events:auto;}
.scroll-top-btn svg{width:20px;height:20px;}
.scroll-top-btn:hover{background:var(--primary-hover);}
.scroll-top-btn:active{transform:scale(0.92);}
@media (prefers-reduced-motion:reduce){.scroll-top-btn{transition:opacity 0.2s ease;}}

/* ── TOUCH / TAP FEEDBACK ── */
.wf-widget-add,.header-cta,.header-notary,.header-icon-btn,.kebab-item,.src-list a,.footer-cta-btn,.footer-contact-link{
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.wf-widget-add:active,.footer-cta-btn:active{transform:scale(0.96);}
.header-cta:active,.header-notary:active,.header-icon-btn:active{transform:scale(0.92);}
.kebab-item:active{background:var(--line-2);}
.src-list a:active{opacity:0.6;}
.wf-widget:active{transform:scale(0.995);}
.wf-widget{transition:transform 0.16s cubic-bezier(0.16,1,0.3,1);}
@media (prefers-reduced-motion:reduce){
  .wf-widget-add:active,.footer-cta-btn:active,.header-cta:active,.header-notary:active,.header-icon-btn:active,.wf-widget:active{transform:none;}
}

/* ── Floating Feedback button + Report-a-bug modal (article pages) ────── */
.feedback-fab{
  position:fixed;
  right:0;
  top:50%;
  transform:translateY(-50%) rotate(180deg);
  writing-mode:vertical-rl;
  z-index:470;
  background:var(--primary);
  color:#fff;
  border:none;
  border-radius:0 8px 8px 0;
  padding:0.85rem 0.5rem;
  font-family:"IBM Plex Mono",monospace;
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:-2px 2px 10px rgba(0,0,0,0.18);
  transition:background 0.15s ease,padding 0.15s ease;
}
.feedback-fab:hover{padding-right:0.7rem;}
.feedback-fab:active{transform:translateY(-50%) rotate(180deg) scale(0.97);}
@media (max-width:599px){ .feedback-fab{font-size:0.66rem;padding:0.7rem 0.42rem;} }

/* Report-a-bug modal — copied verbatim from the app so it looks identical.
   Full-screen panel on mobile; contained centered card on desktop (≥850px). */
.bug-overlay{position:fixed;inset:0;z-index:660;display:none;}
.bug-overlay.open{display:block;}
.bug-card{position:fixed;inset:0;width:100%;background:var(--surface);display:flex;flex-direction:column;overflow:auto;padding:1.5rem 1.4rem 1.4rem;}
.bug-close{position:absolute;top:0.7rem;right:0.85rem;background:none;border:none;font-size:1.5rem;line-height:1;color:var(--ink-3);cursor:pointer;padding:0.2rem;}
.bug-title{font-family:"Lora",Georgia,serif;font-size:1.3rem;font-weight:600;color:var(--ink);margin:0 0 0.4rem;}
.bug-sub{font-size:0.85rem;color:var(--ink-3);line-height:1.5;margin:0 0 1.1rem;}
.bug-label{display:block;font-family:"IBM Plex Mono",monospace;font-size:0.66rem;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-2);margin:0 0 0.4rem;}
.bug-optional{text-transform:none;letter-spacing:0;color:var(--ink-3);font-weight:400;}
.bug-textarea,.bug-input{width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:0.5rem;padding:0.65rem 0.7rem;font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:16px;color:var(--ink);margin-bottom:1rem;resize:vertical;}
.bug-select{width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:0.5rem;padding:0.65rem 0.7rem;font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:16px;color:var(--ink);margin-bottom:1rem;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.7rem center;padding-right:2rem;cursor:pointer;}
.bug-select:focus{outline:none;border-color:var(--primary);}
.bug-textarea:focus,.bug-input:focus{outline:none;border-color:var(--primary);}
.bug-msg{font-size:0.82rem;line-height:1.4;margin-bottom:0.7rem;min-height:1.1rem;}
.bug-msg-err{color:var(--danger,#b3261e);}
.bug-msg-ok{color:var(--p-green,#2e7d52);}
.bug-submit{width:100%;background:var(--ink);color:#fff;border:none;border-radius:0.5rem;padding:0.75rem 1rem;font-family:"IBM Plex Mono",monospace;font-size:0.78rem;font-weight:500;text-transform:uppercase;letter-spacing:0.03em;cursor:pointer;transition:opacity 0.15s ease;}
.bug-submit:disabled{opacity:0.55;cursor:default;}
@media (min-width:850px){
  .bug-overlay.open{display:flex;align-items:center;justify-content:center;padding:2rem;background:rgba(20,28,40,0.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
  .bug-card{position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;width:100%;max-width:560px;max-height:86vh;border-radius:0.9rem;box-shadow:0 16px 48px rgba(0,0,0,0.28);border:1px solid var(--line);overflow:auto;}
}

/* Dark-theme fixes for the bug modal (article pages). The base rules use
   #fff inputs and an --ink button; in dark mode those render as bright
   slabs, so override to themed surfaces + a readable brand-blue button. */
[data-theme="dark"] .bug-card,
[data-theme="dark"] .bug-textarea,
[data-theme="dark"] .bug-input,
[data-theme="dark"] .bug-select{ background:var(--surface) !important; color:var(--ink) !important; }
[data-theme="dark"] .bug-textarea::placeholder,
[data-theme="dark"] .bug-input::placeholder{ color:var(--ink-4) !important; }
[data-theme="dark"] .bug-submit{ background:var(--primary) !important; color:#fff !important; }
