/*
Theme Name: SwiftBlog
Theme URI: https://example.com/swiftblog
Author: SwiftBlog
Author URI: https://example.com
Description: A blazing-fast, universal blogging theme for any niche. Fully responsive, accessibility-ready, dark-mode aware, with built-in Table of Contents, reading progress bar, related posts, author bio, 3-column footer, and smart plugin recommendations. Zero JavaScript dependencies.
Version: 2.0.0
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, one-column, two-columns, right-sidebar, custom-colors, custom-logo, custom-menu, featured-images, footer-widgets, sticky-post, theme-options, translation-ready, accessibility-ready, block-style-variations, wide-blocks
Text Domain: swiftblog
*/

/* === RESET & BASE === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Georgia,'Times New Roman',Times,serif;background:#fff;color:#1a1a1a;line-height:1.7;font-size:1.0625rem}

/* === CSS VARIABLES === */
:root{
  --accent:#1a56db;
  --accent-dark:#1440a8;
  --gray-50:#fafafa;
  --gray-100:#f4f4f5;
  --gray-200:#e4e4e7;
  --gray-400:#a1a1aa;
  --gray-600:#52525b;
  --gray-900:#18181b;
  --max-w:680px;
  --max-w-wide:1100px;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --heading-font:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* === LAYOUT === */
.site{display:flex;flex-direction:column;min-height:100vh}
.site-content{flex:1}
.container{width:100%;max-width:var(--max-w-wide);margin:0 auto;padding:0 1.25rem}
.content-area{max-width:var(--max-w);margin:0 auto}

/* === SKIP LINK === */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:0;top:0;width:auto;height:auto;padding:.75rem 1.25rem;background:var(--accent);color:#fff;font-family:var(--sans);font-size:.875rem;font-weight:600;z-index:9999;text-decoration:none}

/* === HEADER === */
.site-header{border-bottom:1px solid var(--gray-200);padding:1.125rem 0;background:#fff;position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.site-branding a{text-decoration:none;color:var(--gray-900);font-family:var(--heading-font);font-weight:700;font-size:1.25rem;letter-spacing:-.02em}
.site-description{font-size:.8rem;color:var(--gray-400);font-family:var(--sans);margin-top:.125rem}
.custom-logo{height:2.25rem;width:auto;display:block}

/* === NAV === */
.main-navigation ul{list-style:none;display:flex;gap:1.5rem;flex-wrap:wrap}
.main-navigation a{text-decoration:none;color:var(--gray-600);font-family:var(--sans);font-size:.875rem;font-weight:500;transition:color .15s}
.main-navigation a:hover,.main-navigation .current-menu-item>a{color:var(--accent)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.25rem;color:var(--gray-900)}
.nav-toggle svg{display:block}

/* === HERO / FEATURED === */
.page-header{padding:3.5rem 0 2.5rem;text-align:center}
.page-header h1{font-family:var(--heading-font);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;letter-spacing:-.03em;color:var(--gray-900);line-height:1.15}
.page-header .archive-description{color:var(--gray-600);margin-top:.75rem;font-size:1rem;max-width:480px;margin-left:auto;margin-right:auto}

/* === POST LIST === */
.posts-grid{padding:2.5rem 0}
.post-card{display:grid;grid-template-columns:1fr;gap:0;border-bottom:1px solid var(--gray-200);padding:1.75rem 0}
.post-card:last-child{border-bottom:none}
.post-meta{font-family:var(--sans);font-size:.8125rem;color:var(--gray-400);margin-bottom:.5rem;display:flex;flex-wrap:wrap;gap:.375rem .75rem;align-items:center}
.post-meta a{color:var(--gray-400);text-decoration:none}
.post-meta a:hover{color:var(--accent)}
.cat-badge{background:var(--gray-100);color:var(--gray-600);padding:.125rem .5rem;border-radius:2rem;font-size:.75rem;font-weight:600;font-family:var(--sans);text-decoration:none!important}
.cat-badge:hover{background:var(--accent);color:#fff!important}
.post-card h2{font-family:var(--heading-font);font-size:1.3125rem;font-weight:700;line-height:1.25;letter-spacing:-.02em;margin-bottom:.5rem}
.post-card h2 a{color:var(--gray-900);text-decoration:none}
.post-card h2 a:hover{color:var(--accent)}
.post-excerpt{color:var(--gray-600);font-size:.9375rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.read-more{display:inline-block;margin-top:.75rem;font-family:var(--sans);font-size:.8125rem;font-weight:600;color:var(--accent);text-decoration:none;letter-spacing:.01em}
.read-more:hover{text-decoration:underline}
.post-thumb{border-radius:.375rem;width:100%;height:200px;object-fit:cover;margin-bottom:1rem}

/* === SINGLE POST === */
.entry-header{padding:2.5rem 0 1.5rem}
.entry-header h1{font-family:var(--heading-font);font-size:clamp(1.625rem,4vw,2.375rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;color:var(--gray-900)}
.entry-header .post-meta{margin-top:.875rem}
.featured-image-wrap{margin-bottom:2rem}
.featured-image-wrap img{width:100%;border-radius:.5rem;height:auto;display:block}
.entry-content{font-size:1.0625rem;line-height:1.8}
.entry-content p{margin-bottom:1.375rem}
.entry-content h2,.entry-content h3,.entry-content h4{font-family:var(--heading-font);font-weight:700;letter-spacing:-.02em;margin:2rem 0 .75rem;line-height:1.2}
.entry-content h2{font-size:1.5rem}
.entry-content h3{font-size:1.25rem}
.entry-content h4{font-size:1.0625rem}
.entry-content a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.entry-content a:hover{color:var(--accent-dark)}
.entry-content ul,.entry-content ol{padding-left:1.5rem;margin-bottom:1.375rem}
.entry-content li{margin-bottom:.375rem}
.entry-content blockquote{border-left:3px solid var(--accent);padding:.75rem 1.25rem;margin:1.75rem 0;background:var(--gray-50);border-radius:0 .25rem .25rem 0}
.entry-content blockquote p{margin:0;color:var(--gray-600);font-style:italic}
.entry-content pre{background:var(--gray-900);color:#e4e4e7;padding:1.25rem;border-radius:.375rem;overflow-x:auto;font-size:.875rem;margin-bottom:1.375rem;line-height:1.5}
.entry-content code{font-family:'SFMono-Regular',Consolas,monospace;font-size:.875em;background:var(--gray-100);padding:.125em .35em;border-radius:.25rem}
.entry-content pre code{background:transparent;padding:0;font-size:inherit}
.entry-content img{max-width:100%;height:auto;border-radius:.375rem;display:block}
.entry-content figure{margin:1.75rem 0}
.entry-content figcaption{font-size:.8125rem;color:var(--gray-400);font-family:var(--sans);text-align:center;margin-top:.5rem}
.entry-content table{width:100%;border-collapse:collapse;margin-bottom:1.375rem;font-size:.9375rem}
.entry-content th,.entry-content td{padding:.625rem .875rem;border:1px solid var(--gray-200);text-align:left}
.entry-content th{background:var(--gray-50);font-family:var(--sans);font-weight:600;font-size:.875rem}
.wp-block-image,.wp-block-video,.wp-block-embed{margin:1.75rem 0}

/* === POST FOOTER === */
.entry-footer{padding:1.75rem 0;border-top:1px solid var(--gray-200);margin-top:2rem;font-family:var(--sans);font-size:.875rem;color:var(--gray-600)}
.tags-list a{display:inline-block;background:var(--gray-100);color:var(--gray-600);padding:.2rem .625rem;border-radius:2rem;font-size:.8125rem;text-decoration:none;margin:.2rem .15rem}
.tags-list a:hover{background:var(--accent);color:#fff}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--gray-200);margin-top:2rem}
.post-nav a{font-family:var(--sans);font-size:.875rem;color:var(--gray-600);text-decoration:none;line-height:1.3}
.post-nav a strong{display:block;color:var(--gray-900);font-size:.9375rem;margin-top:.25rem}
.post-nav a:hover strong{color:var(--accent)}
.post-nav-next{text-align:right}
.post-nav-prev::before{content:'← '}
.post-nav-next::after{content:' →'}

/* === SIDEBAR === */
.widget-area{padding:1rem 0}
.widget{margin-bottom:2rem}
.widget-title{font-family:var(--sans);font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-400);margin-bottom:.875rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-200)}
.widget ul{list-style:none}
.widget ul li{padding:.3rem 0;border-bottom:1px solid var(--gray-100);font-size:.9375rem}
.widget ul li:last-child{border-bottom:none}
.widget ul li a{color:var(--gray-600);text-decoration:none;font-family:var(--sans)}
.widget ul li a:hover{color:var(--accent)}
.widget_search .search-form{display:flex;gap:.5rem}
.widget_search input[type="search"]{flex:1;padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:.25rem;font-size:.9375rem;font-family:var(--sans)}
.widget_search button{padding:.5rem .875rem;background:var(--accent);color:#fff;border:none;border-radius:.25rem;cursor:pointer;font-family:var(--sans);font-size:.875rem;font-weight:600}

/* === COMMENTS === */
.comments-area{padding:2rem 0;border-top:1px solid var(--gray-200);margin-top:2rem}
.comments-title{font-family:var(--heading-font);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}
.comment-list{list-style:none}
.comment{padding:1rem 0;border-bottom:1px solid var(--gray-100)}
.comment-author{font-family:var(--sans);font-weight:600;font-size:.9375rem}
.comment-metadata{font-family:var(--sans);font-size:.8125rem;color:var(--gray-400);margin:.25rem 0 .75rem}
.comment-content p{font-size:.9375rem;margin-bottom:.75rem}
.comment-reply-link{font-family:var(--sans);font-size:.8125rem;color:var(--accent);text-decoration:none;font-weight:600}
.comment-form label{display:block;font-family:var(--sans);font-size:.875rem;font-weight:600;margin-bottom:.375rem;color:var(--gray-600)}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--gray-200);border-radius:.25rem;font-size:.9375rem;font-family:inherit;margin-bottom:1rem}
.comment-form textarea{min-height:130px;resize:vertical;line-height:1.65}
.comment-form input:focus,.comment-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.comment-form .submit{background:var(--accent);color:#fff;border:none;padding:.65rem 1.5rem;border-radius:.25rem;font-family:var(--sans);font-size:.9375rem;font-weight:600;cursor:pointer}
.comment-form .submit:hover{background:var(--accent-dark)}

/* === PAGINATION === */
.pagination{display:flex;justify-content:center;gap:.5rem;padding:2.5rem 0;flex-wrap:wrap}
.pagination a,.pagination span{font-family:var(--sans);font-size:.875rem;padding:.5rem .875rem;border:1px solid var(--gray-200);border-radius:.25rem;text-decoration:none;color:var(--gray-600);line-height:1}
.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent)}
.pagination a:hover{border-color:var(--accent);color:var(--accent)}

/* === FOOTER === */
.site-footer{border-top:1px solid var(--gray-200);padding:2rem 0;background:var(--gray-50);margin-top:3rem}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-family:var(--sans);font-size:.8125rem;color:var(--gray-400)}
.footer-inner a{color:var(--gray-400);text-decoration:none}
.footer-inner a:hover{color:var(--accent)}
.footer-nav ul{list-style:none;display:flex;gap:1.25rem;flex-wrap:wrap}

/* === UTILITIES === */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.sticky-label{display:inline-block;background:var(--accent);color:#fff;font-family:var(--sans);font-size:.7rem;font-weight:700;padding:.1rem .45rem;border-radius:2rem;margin-right:.4rem;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle}
.no-results{text-align:center;padding:3rem 0;font-family:var(--sans);color:var(--gray-600)}
.no-results h2{font-size:1.5rem;font-weight:700;margin-bottom:.75rem;color:var(--gray-900)}

/* === RESPONSIVE === */
@media(max-width:768px){
  .header-inner{position:relative}
  .nav-toggle{display:flex;align-items:center;justify-content:center}
  .main-navigation{display:none;position:absolute;top:100%;left:-1.25rem;right:-1.25rem;background:#fff;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);padding:1rem 1.25rem}
  .main-navigation.is-open{display:block}
  .main-navigation ul{flex-direction:column;gap:.125rem}
  .main-navigation a{display:block;padding:.5rem 0;font-size:1rem}
  .post-nav{grid-template-columns:1fr}
  .post-nav-next{text-align:left}
}
@media(min-width:769px){
  .has-sidebar{display:grid;grid-template-columns:1fr 280px;gap:3rem;align-items:start}
  .has-sidebar .content-area{max-width:none}
}
@media(prefers-color-scheme:dark){
  :root{--gray-50:#18181b;--gray-100:#27272a;--gray-200:#3f3f46;--gray-400:#71717a;--gray-600:#a1a1aa;--gray-900:#fafafa}
  body{background:#111;color:#e4e4e7}
  .site-header,.site-footer{background:#111}
  .entry-content pre{background:#000}
}
@media print{
  .site-header,.site-footer,.widget-area,.pagination,.comments-area,.post-nav{display:none}
  body{font-size:12pt;color:#000}
  a{color:#000;text-decoration:underline}
}


/* Homepage + Ads */
.hp-hero{background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 100%);padding:4rem 0 3.5rem;text-align:center;color:#fff}.hp-hero__title{font-family:var(--heading-font);font-size:clamp(1.875rem,5vw,3rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem;color:#fff}.hp-hero__sub{font-size:1.0625rem;color:rgba(255,255,255,.78);max-width:520px;margin:0 auto 1.75rem;line-height:1.65}.hp-hero__search{display:flex;flex-wrap:nowrap;max-width:480px;margin:0 auto;gap:0;border-radius:.375rem;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.3)}.hp-hero__search p{display:contents}.hp-hero__search input,.hp-hero__search input[type="search"]{flex:1;min-width:0;padding:.75rem 1rem;border:none;font-size:1rem;font-family:var(--sans);background:#fff;color:var(--gray-900);outline:none;-webkit-appearance:none;appearance:none}.hp-hero__search button,.hp-hero__search input[type="submit"]{flex-shrink:0;padding:.75rem 1.25rem;background:var(--accent);color:#fff;border:none;font-family:var(--sans);font-size:.9375rem;font-weight:600;cursor:pointer;white-space:nowrap;border-radius:0}.hp-hero__search button:hover,.hp-hero__search input[type="submit"]:hover{background:var(--accent-dark)}.hp-section-title{font-family:var(--sans);font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--gray-400);margin-bottom:1.5rem;padding-bottom:.625rem;border-bottom:1px solid var(--gray-200)}.hp-featured{padding:3rem 0 2rem}.hp-featured__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.hp-featured__grid{grid-template-columns:1fr 1fr}.hp-featured__hero{grid-row:1/3}}@media(min-width:900px){.hp-featured__grid{grid-template-columns:1.6fr 1fr;grid-template-rows:auto auto auto}.hp-featured__hero{grid-row:1/4}}.hp-featured__hero img,.hp-featured__side .hp-side__img img,.hp-post-card__img img{width:100%;display:block;border-radius:.375rem;object-fit:cover}.hp-featured__hero img{height:340px}.hp-card__img-wrap{display:block;overflow:hidden;border-radius:.375rem}.hp-card__img-wrap img{transition:transform .3s}.hp-card__img-wrap:hover img{transform:scale(1.03)}.hp-card__body{padding:.875rem 0 0}.hp-card__title{font-family:var(--heading-font);font-weight:700;letter-spacing:-.02em;line-height:1.25;margin:.375rem 0 .5rem}.hp-card__title a{color:var(--gray-900);text-decoration:none}.hp-card__title a:hover{color:var(--accent)}.hp-card__title--lg{font-size:1.3125rem}.hp-card__excerpt{font-size:.9375rem;color:var(--gray-600);line-height:1.6;margin-bottom:.625rem}.hp-featured__side{display:grid;grid-template-columns:110px 1fr;gap:.875rem;align-items:start}.hp-side__img{display:block;overflow:hidden;border-radius:.25rem;flex-shrink:0}.hp-side__img img{width:110px;height:80px;object-fit:cover;border-radius:.25rem;transition:transform .3s}.hp-side__img:hover img{transform:scale(1.04)}.hp-side__body{min-width:0}.hp-side__body .hp-card__title{font-size:.9375rem;margin-top:.25rem}.hp-recent{padding:2rem 0}.hp-recent__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:540px){.hp-recent__grid{grid-template-columns:1fr 1fr}}@media(min-width:900px){.hp-recent__grid{grid-template-columns:1fr 1fr 1fr}}.hp-post-card{display:flex;flex-direction:column}.hp-post-card__img{display:block;overflow:hidden;border-radius:.375rem;margin-bottom:.75rem}.hp-post-card__img img{width:100%;height:180px;object-fit:cover;transition:transform .3s}.hp-post-card__img:hover img{transform:scale(1.03)}.hp-post-card__body{flex:1}.hp-post-card .hp-card__title{font-size:1rem}.hp-recent__more{text-align:center;padding:2rem 0 .5rem}.hp-btn-outline{display:inline-block;font-family:var(--sans);font-size:.9375rem;font-weight:600;padding:.65rem 1.75rem;border:2px solid var(--accent);color:var(--accent);border-radius:.25rem;text-decoration:none;transition:background .15s,color .15s}.hp-btn-outline:hover{background:var(--accent);color:#fff}.hp-about{padding:2.5rem 0;background:var(--gray-50);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}.hp-about__inner{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;max-width:720px;margin:0 auto}.hp-about__img img{width:90px;height:90px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid var(--gray-200)}.hp-about__text h2{font-family:var(--heading-font);font-size:1.1875rem;font-weight:700;margin-bottom:.5rem}.hp-about__text p{color:var(--gray-600);font-size:.9375rem;line-height:1.65;margin-bottom:.625rem}.hp-newsletter{padding:3.5rem 0;background:var(--accent);color:#fff;text-align:center}.hp-newsletter__inner{max-width:520px;margin:0 auto}.hp-newsletter h2{font-family:var(--heading-font);font-size:clamp(1.375rem,3vw,1.875rem);font-weight:800;letter-spacing:-.025em;margin-bottom:.75rem;color:#fff}.hp-newsletter p{color:rgba(255,255,255,.82);font-size:1rem;margin-bottom:1.5rem}.hp-newsletter__form{display:flex;flex-wrap:nowrap;gap:0;border-radius:.375rem;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.2);max-width:460px;margin:0 auto}.hp-newsletter__form p{display:contents}.hp-newsletter__form input[type="email"]{flex:1;min-width:0;padding:.75rem 1rem;border:none;font-size:1rem;font-family:var(--sans);outline:none;color:var(--gray-900);-webkit-appearance:none;appearance:none}.hp-newsletter__form button,.hp-newsletter__form input[type="submit"]{flex-shrink:0;padding:.75rem 1.25rem;background:#0f172a;color:#fff;border:none;font-family:var(--sans);font-size:.9375rem;font-weight:700;cursor:pointer;white-space:nowrap;border-radius:0}.hp-newsletter__form button:hover,.hp-newsletter__form input[type="submit"]:hover{background:#1e293b}@media(max-width:480px){.hp-newsletter__form{flex-direction:column}.hp-newsletter__form input[type="email"],.hp-newsletter__form button{width:100%}}.hp-newsletter__note{font-size:.8125rem;color:rgba(255,255,255,.6);margin-top:.875rem;margin-bottom:0}.ad-wrap{text-align:center;overflow:hidden}.ad-wrap--ad-header{padding:.5rem 0;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.ad-wrap--ad-below-hero,.ad-wrap--ad-footer{padding:1rem 0}.ad-slot{display:flex;justify-content:center;align-items:center;min-height:1px}@media(prefers-color-scheme:dark){.hp-hero{background:linear-gradient(135deg,#020617 0%,#0c1a2e 100%)}.hp-about{background:var(--gray-50);border-color:var(--gray-200)}.ad-wrap--ad-header{background:var(--gray-50);border-color:var(--gray-200)}}

/* === SEARCH & FORM FIXES === */
.hp-hero__search-wrap{max-width:480px;margin:0 auto}
.hp-hero__search{display:flex;flex-wrap:nowrap;width:100%;border-radius:.375rem;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.3)}
.hp-hero__search input[type="search"]{flex:1;min-width:0;padding:.75rem 1rem;border:none;font-size:1rem;font-family:var(--sans);background:#fff;color:#18181b;outline:none;-webkit-appearance:none;appearance:none;border-radius:0}
.hp-hero__search button[type="submit"]{flex-shrink:0;padding:.75rem 1.25rem;background:var(--accent);color:#fff;border:none;font-family:var(--sans);font-size:.9375rem;font-weight:600;cursor:pointer;white-space:nowrap;border-radius:0}
.hp-hero__search button[type="submit"]:hover{background:var(--accent-dark)}
/* Newsletter form robustness */
.hp-newsletter__form{display:flex;flex-wrap:nowrap;width:100%;max-width:460px;margin:0 auto;border-radius:.375rem;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.2)}
.hp-newsletter__form input[type="email"]{flex:1;min-width:0;padding:.75rem 1rem;border:none;font-size:1rem;font-family:var(--sans);outline:none;color:#18181b;-webkit-appearance:none;appearance:none;border-radius:0}
.hp-newsletter__form button[type="submit"]{flex-shrink:0;padding:.75rem 1.25rem;background:#0f172a;color:#fff;border:none;font-family:var(--sans);font-size:.9375rem;font-weight:700;cursor:pointer;white-space:nowrap;border-radius:0}
.hp-newsletter__form button[type="submit"]:hover{background:#1e293b}
@media(max-width:420px){
  .hp-hero__search,.hp-newsletter__form{flex-direction:column;border-radius:.375rem}
  .hp-hero__search input[type="search"],.hp-hero__search button[type="submit"],.hp-newsletter__form input[type="email"],.hp-newsletter__form button[type="submit"]{width:100%;border-radius:0}
}


/* ════════════════════════════════════════════════════════════════════════════
   PK-HERO — Option C hero section (replaces .hp-hero)
   Brand: #5b21b6 / accent-dark: #4c1d95
   ════════════════════════════════════════════════════════════════════════════ */

.pk-hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 64px;
  text-align:center;
  background:#fff;
}

/* Dot-grid background */
.pk-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle,#c4b5fd 1px,transparent 1px);
  background-size:28px 28px;
  opacity:.2;
  pointer-events:none;
}

/* Soft purple radial glow */
.pk-hero::after{
  content:'';
  position:absolute;
  top:-100px;
  left:50%;
  transform:translateX(-50%);
  width:700px;
  height:420px;
  background:radial-gradient(ellipse at center,#ede9fe 0%,transparent 68%);
  pointer-events:none;
  z-index:0;
}

.pk-hero__inner{
  position:relative;
  z-index:1;
  max-width:720px;
  margin:0 auto;
  padding:0 1.5rem;
}

/* Eyebrow pill */
.pk-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:#ede9fe;
  color:#5b21b6;
  font-family:var(--heading-font);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:5px 16px;
  border-radius:100px;
  border:1px solid #ddd6fe;
  margin-bottom:1.5rem;
  animation:pk-fade-up .45s ease both;
}

.pk-eyebrow-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#5b21b6;
  flex-shrink:0;
  animation:pk-pulse 2s ease infinite;
}

/* Headline */
.pk-hero__headline{
  font-family:var(--heading-font);
  font-size:clamp(1.875rem,5vw,3rem);
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.03em;
  color:#1e1b4b;
  margin-bottom:1.125rem;
  animation:pk-fade-up .45s .08s ease both;
}

.pk-hero__headline em{
  font-style:normal;
  color:#5b21b6;
  position:relative;
}

.pk-hero__headline em::after{
  content:'';
  position:absolute;
  bottom:-3px;
  left:0;
  width:100%;
  height:3px;
  background:#5b21b6;
  border-radius:2px;
  opacity:.28;
}

/* Subheading */
.pk-hero__sub{
  font-size:clamp(.9375rem,2.2vw,1.125rem);
  color:#52525b;
  line-height:1.7;
  max-width:560px;
  margin:0 auto 2rem;
  animation:pk-fade-up .45s .16s ease both;
}

/* CTA row */
.pk-hero__ctas{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.75rem;
  margin-bottom:1.25rem;
  animation:pk-fade-up .45s .24s ease both;
}

.pk-btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.8125rem 1.625rem;
  border-radius:.5rem;
  font-family:var(--heading-font);
  font-size:.9375rem;
  font-weight:700;
  text-decoration:none;
  border:none;
  cursor:pointer;
  letter-spacing:-.01em;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
}

.pk-btn:hover{transform:translateY(-2px);}
.pk-btn:active{transform:translateY(0);}

.pk-btn--primary{
  background:#5b21b6;
  color:#fff;
  box-shadow:0 4px 16px rgba(91,33,182,.3);
}

.pk-btn--primary:hover{
  background:#4c1d95;
  color:#fff;
  box-shadow:0 6px 22px rgba(91,33,182,.4);
}

.pk-btn--ghost{
  background:transparent;
  color:#5b21b6;
  border:1.5px solid #c4b5fd;
}

.pk-btn--ghost:hover{
  background:#f5f3ff;
  border-color:#5b21b6;
}

.pk-btn__arrow{
  display:inline-block;
  transition:transform .15s ease;
  font-style:normal;
}

.pk-btn:hover .pk-btn__arrow{transform:translateX(3px);}

/* Social proof */
.pk-hero__proof{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.375rem 1rem;
  animation:pk-fade-up .45s .32s ease both;
}

.pk-proof__item{
  display:inline-flex;
  align-items:center;
  gap:.3125rem;
  font-family:var(--sans);
  font-size:.8125rem;
  color:#a1a1aa;
}

.pk-proof__dot{
  width:3px;
  height:3px;
  border-radius:50%;
  background:#d4d4d8;
  flex-shrink:0;
}

.pk-proof__icon{
  width:14px;
  height:14px;
  color:#5b21b6;
  flex-shrink:0;
}

/* Animations */
@keyframes pk-fade-up{
  from{opacity:0;transform:translateY(14px);}
  to{opacity:1;transform:translateY(0);}
}

@keyframes pk-pulse{
  0%,100%{opacity:1;}
  50%{opacity:.35;}
}

/* Responsive */
@media(max-width:540px){
  .pk-hero{padding:52px 0 48px;}
  .pk-hero__ctas{flex-direction:column;align-items:stretch;max-width:300px;margin-left:auto;margin-right:auto;}
  .pk-btn{justify-content:center;padding:.8125rem 1.25rem;}
  .pk-proof__dot{display:none;}
  .pk-hero__proof{flex-direction:column;gap:.375rem;}
}

/* Dark mode */
@media(prefers-color-scheme:dark){
  .pk-hero{background:#0f0f12;}
  .pk-hero::before{opacity:.08;}
  .pk-hero::after{background:radial-gradient(ellipse at center,rgba(91,33,182,.18) 0%,transparent 68%);}
  .pk-hero__eyebrow{background:rgba(91,33,182,.22);color:#c4b5fd;border-color:rgba(196,181,253,.25);}
  .pk-eyebrow-dot{background:#a78bfa;}
  .pk-hero__headline{color:#f5f3ff;}
  .pk-hero__headline em{color:#a78bfa;}
  .pk-hero__headline em::after{background:#a78bfa;}
  .pk-hero__sub{color:#a1a1aa;}
  .pk-btn--primary{background:#5b21b6;box-shadow:0 4px 16px rgba(91,33,182,.4);}
  .pk-btn--primary:hover{background:#6d28d9;}
  .pk-btn--ghost{color:#c4b5fd;border-color:rgba(196,181,253,.35);}
  .pk-btn--ghost:hover{background:rgba(91,33,182,.15);border-color:#a78bfa;}
  .pk-proof__item{color:#71717a;}
  .pk-proof__dot{background:#3f3f46;}
  .pk-proof__icon{color:#a78bfa;}
}


/* ════════════════════════════════════════════════════════════════════
   READING PROGRESS BAR
   ════════════════════════════════════════════════════════════════════ */
#reading-progress{
  position:fixed;top:0;left:0;height:3px;width:0%;
  background:var(--accent);z-index:9999;
  transition:width .1s linear;
  pointer-events:none;
}

/* ════════════════════════════════════════════════════════════════════
   TABLE OF CONTENTS
   ════════════════════════════════════════════════════════════════════ */
.toc{
  background:var(--gray-50);
  border:1px solid var(--gray-200);
  border-left:3px solid var(--accent);
  border-radius:.375rem;
  padding:1.125rem 1.375rem;
  margin:1.75rem 0;
  font-family:var(--sans);
}
.toc__title{
  font-size:.75rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--gray-400);margin-bottom:.625rem;
}
.toc__list{
  margin:0;padding-left:1.25rem;
  display:flex;flex-direction:column;gap:.3rem;
}
.toc__list li{font-size:.9rem;}
.toc__list a{
  color:var(--gray-600);text-decoration:none;
  transition:color .15s;
}
.toc__list a:hover{color:var(--accent);}

/* ════════════════════════════════════════════════════════════════════
   AUTHOR BIO BOX
   ════════════════════════════════════════════════════════════════════ */
.author-bio{
  display:flex;align-items:flex-start;gap:1.125rem;
  padding:1.5rem;
  background:var(--gray-50);
  border:1px solid var(--gray-200);
  border-radius:.5rem;
  margin:2.5rem 0;
  font-family:var(--sans);
}
.author-bio__avatar{
  width:72px;height:72px;border-radius:50%;
  flex-shrink:0;object-fit:cover;
  border:2px solid var(--gray-200);
}
.author-bio__body{flex:1;min-width:0;}
.author-bio__name{
  font-weight:700;font-size:.9375rem;
  color:var(--gray-900);margin-bottom:.35rem;
}
.author-bio__desc{
  font-size:.875rem;color:var(--gray-600);
  line-height:1.65;margin:0;
}
@media(max-width:480px){
  .author-bio{flex-direction:column;align-items:center;text-align:center;}
}

/* ════════════════════════════════════════════════════════════════════
   RELATED POSTS
   ════════════════════════════════════════════════════════════════════ */
.related-posts{
  border-top:1px solid var(--gray-200);
  padding:2rem 0 1rem;
  margin-top:2rem;
}
.related-posts__title{
  font-family:var(--sans);font-size:.8125rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  color:var(--gray-400);margin-bottom:1.25rem;
  padding-bottom:.5rem;border-bottom:1px solid var(--gray-200);
}
.related-posts__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:1.25rem;
}
.related-post{
  text-decoration:none;color:inherit;
  display:flex;flex-direction:column;gap:.625rem;
}
.related-post__img{
  width:100%;height:130px;object-fit:cover;
  border-radius:.375rem;display:block;
  transition:opacity .2s;
}
.related-post:hover .related-post__img{opacity:.85;}
.related-post__title{
  font-family:var(--heading-font);font-size:.9375rem;
  font-weight:600;color:var(--gray-900);line-height:1.3;
  transition:color .15s;
}
.related-post:hover .related-post__title{color:var(--accent);}

/* ════════════════════════════════════════════════════════════════════
   FOOTER WIDGETS — 3-column grid
   ════════════════════════════════════════════════════════════════════ */
.footer-widgets{
  background:var(--gray-50);
  border-top:1px solid var(--gray-200);
  padding:2.5rem 0 1.5rem;
}
.footer-widgets__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:2rem;
}
.footer-widget-col .widget-title{
  font-family:var(--sans);font-size:.8125rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  color:var(--gray-400);margin-bottom:.875rem;
  padding-bottom:.5rem;border-bottom:1px solid var(--gray-200);
}
.footer-bar{
  background:#fff;
  border-top:1px solid var(--gray-200);
  padding:.875rem 0;
}
.footer-inner{
  display:flex;align-items:center;
  justify-content:space-between;flex-wrap:wrap;gap:.75rem;
}
.footer-copy{
  font-family:var(--sans);font-size:.8125rem;color:var(--gray-400);
}
.footer-copy a{color:var(--gray-400);text-decoration:none;}
.footer-copy a:hover{color:var(--accent);}
.footer-nav ul{
  list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;
}
.footer-nav a{
  font-family:var(--sans);font-size:.8125rem;
  color:var(--gray-400);text-decoration:none;
}
.footer-nav a:hover{color:var(--accent);}

/* ════════════════════════════════════════════════════════════════════
   RESPONSIVE IMPROVEMENTS — Mobile-first polish
   ════════════════════════════════════════════════════════════════════ */
/* Fluid images everywhere */
img{max-width:100%;height:auto;}

/* Prevent horizontal scroll on small screens */
body{overflow-x:hidden;}

/* Touch-friendly tap targets */
@media(max-width:768px){
  .main-navigation a{padding:.625rem 0;min-height:44px;display:flex;align-items:center;}
  .pk-btn{min-height:48px;}
  .hp-newsletter__form input[type="email"],
  .hp-newsletter__form button{min-height:48px;}

  /* Stack footer bar on mobile */
  .footer-inner{flex-direction:column;align-items:flex-start;gap:.5rem;}
  .footer-widgets__grid{grid-template-columns:1fr;}

  /* Related posts single column on very small screens */
  .related-posts__grid{grid-template-columns:1fr;}

  /* Author bio: smaller avatar on mobile */
  .author-bio__avatar{width:56px;height:56px;}

  /* Better post card layout on mobile */
  .post-card{padding:1.25rem 0;}
  .post-thumb{height:170px;}
}

/* Tablet: 2-column related posts */
@media(min-width:540px) and (max-width:799px){
  .related-posts__grid{grid-template-columns:1fr 1fr;}
}

/* Wide screens: sidebar layout already handled */
@media(min-width:1100px){
  .container{padding:0 2rem;}
}

/* ════════════════════════════════════════════════════════════════════
   FOCUS VISIBLE — accessibility
   ════════════════════════════════════════════════════════════════════ */
:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:2px;
}
a:focus:not(:focus-visible){outline:none;}

/* ════════════════════════════════════════════════════════════════════
   DARK MODE — extend to new components
   ════════════════════════════════════════════════════════════════════ */
@media(prefers-color-scheme:dark){
  .toc{background:var(--gray-50);border-color:var(--gray-200);}
  .author-bio{background:var(--gray-50);border-color:var(--gray-200);}
  .footer-widgets{background:#111;border-color:var(--gray-200);}
  .footer-bar{background:#111;border-color:var(--gray-200);}
  .related-post__title{color:var(--gray-900);}
  #reading-progress{background:var(--accent);}
}

/* ════════════════════════════════════════════════════════════════════
   PRINT — extend to new components
   ════════════════════════════════════════════════════════════════════ */
@media print{
  #reading-progress,.related-posts,.author-bio,.toc{display:none;}
}
