/* keithdetros theme — main stylesheet (rebuilt v2.5) */
:root{
  --paper:#f5f3ee; --paper-deep:#ece8df; --card:#fbfaf7;
  --ink:#1a1a1a; --ink-soft:#4a4a46; --ink-faint:#8a877f;
  --accent:#2d5a3d; --accent-soft:rgba(45,90,61,0.08); --accent-line:rgba(45,90,61,0.3);
  --rule:rgba(26,26,26,0.12); --cream:#f5f3ee;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'DM Sans',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.kd-site{max-width:1200px;margin:0 auto;padding:0 3rem}

/* NAV */
.kd-nav{display:flex;align-items:center;justify-content:space-between;padding:1.75rem 0;border-bottom:1px solid var(--rule)}
.kd-logo-mark{width:42px;height:42px;background:#1a1a1a;display:flex;align-items:center;justify-content:center}
.kd-logo-mark span{font-family:var(--serif);font-weight:300;font-size:18px;color:var(--cream);letter-spacing:0.02em}
.kd-logo-sm{width:30px;height:30px}.kd-logo-sm span{font-size:13px}
.kd-nav-links{display:flex;gap:2.25rem;list-style:none;margin:0;padding:0}
.kd-nav-links a{font-size:13px;font-weight:400;letter-spacing:0.04em;color:var(--ink-soft);padding-bottom:4px;border-bottom:1px solid transparent}
.kd-nav-links a:hover{color:var(--ink)}
.kd-nav-links a.active{color:var(--accent);border-bottom-color:var(--accent)}
.kd-hamburger{display:none;background:none;border:0;padding:6px;cursor:pointer}
.kd-hamburger span{display:block;width:22px;height:1.5px;background:var(--ink);margin:5px 0}
.kd-mobile-nav{display:none;flex-direction:column;border-bottom:1px solid var(--rule)}
.kd-mobile-nav.open{display:flex}
.kd-mobile-nav a{padding:0.9rem 0;font-size:15px;border-top:1px solid var(--rule)}
.kd-mobile-nav a.active{color:var(--accent)}

/* SHARED */
.kd-eyebrow{font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);margin-bottom:0.75rem}
.kd-section-sub{margin:0;color:var(--ink-faint);font-size:14px}
.kd-btn{display:inline-block;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;padding:12px 26px;border-radius:3px;border:1px solid transparent;cursor:pointer}
.kd-btn-primary{background:var(--accent);color:#f5f3ee}
.kd-btn-primary:hover{filter:brightness(1.1)}
.kd-btn-outline{border-color:var(--accent-line);color:var(--accent);background:transparent}
.kd-btn-outline:hover{background:var(--accent-soft)}
.kd-cat{display:inline-block;font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);padding:3px 8px;border-radius:2px}
h1,h2{font-family:var(--serif);font-weight:300;letter-spacing:-0.01em;line-height:1.05}
h1 em,h2 em{font-style:italic;color:var(--accent)}

/* HERO */
.kd-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:4rem;align-items:center;padding:5rem 0 4.5rem}
.kd-hero-eyebrow{font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}
.kd-hero-name{font-size:clamp(3.5rem,8vw,6.5rem);margin:0 0 1.75rem;line-height:0.95}
.kd-hero-position{font-size:17px;color:var(--ink-soft);max-width:34em;margin:0 0 1.75rem}
.kd-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2.25rem}
.kd-hero-tag{font-size:12px;padding:5px 12px;border:1px solid var(--rule);border-radius:20px;color:var(--ink-soft)}
.kd-hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.kd-hero-photo,.kd-about-photo{aspect-ratio:4/5;background:var(--paper-deep);position:relative;overflow:hidden}
.kd-hero-photo img,.kd-about-photo img{width:100%;height:100%;object-fit:cover}

/* FOCUS */
.kd-focus{display:grid;grid-template-columns:200px 1fr;gap:2rem;padding:2.25rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.kd-focus-label{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink-soft)}
.kd-focus-list{display:grid;grid-template-columns:1fr 1fr;gap:0.9rem 2.5rem}
.kd-focus-item{display:flex;align-items:center;gap:12px;font-size:15px}
.kd-focus-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}

/* FEATURED (HOME) */
.kd-fi-home,.kd-writing-home{padding:4.5rem 0 1rem}
.kd-fi-home-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;gap:1rem}
.kd-fi-home-more{font-size:13px;color:var(--accent);white-space:nowrap}
.kd-fi-home-more:hover{text-decoration:underline}
.kd-spotlight,.kd-fi-page-spotlight{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;padding:2rem;background:var(--card);border:1px solid var(--rule);margin-bottom:1rem}
.kd-spotlight:hover,.kd-fi-page-spotlight:hover{border-color:var(--accent-line)}
.kd-spotlight-source,.kd-fpage-sp-source{font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent);margin-bottom:0.75rem}
.kd-spotlight-title,.kd-fpage-sp-title{font-family:var(--serif);font-size:26px;line-height:1.2;margin-bottom:1rem}
.kd-spotlight-desc,.kd-fpage-sp-desc{font-size:14px;color:var(--ink-soft);margin:0 0 1.5rem}
.kd-spotlight-meta,.kd-fpage-sp-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-faint)}
.kd-spotlight-link,.kd-fpage-sp-link{color:var(--accent);font-weight:500}
.kd-spotlight-img,.kd-fpage-sp-img{min-height:220px}
.kd-fi-list,.kd-fi-page-list{border-top:1px solid var(--rule)}
.kd-fi-item,.kd-fi-page-item{display:grid;grid-template-columns:88px 1fr auto;gap:1.5rem;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--rule)}
.kd-fi-item:hover .kd-fi-item-title,.kd-fi-page-item:hover .kd-fi-page-item-title{color:var(--accent)}
.kd-fi-thumb,.kd-fi-page-item-thumb{width:88px;height:62px}
.kd-fi-item-source,.kd-fi-page-item-source{font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px}
.kd-fi-item-title,.kd-fi-page-item-title{font-family:var(--serif);font-size:17px;line-height:1.3}
.kd-fi-page-item-desc{font-size:13px;color:var(--ink-soft);margin-top:6px;max-width:60em}
.kd-fi-item-meta,.kd-fi-page-item-meta{text-align:right;font-size:12px;color:var(--ink-faint);white-space:nowrap}
.kd-fi-item-link,.kd-fi-page-item-link{color:var(--accent);font-weight:500;display:block;margin-top:4px}

/* ARTICLE CARDS */
.kd-articles-home-grid,.kd-articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.kd-articles-home-card,.kd-article-card{display:flex;flex-direction:column;gap:0.6rem}
.kd-articles-home-card-img,.kd-article-card-img{aspect-ratio:16/10;margin-bottom:0.4rem}
.kd-articles-home-card-cats,.kd-article-card-cats{display:flex;gap:6px;flex-wrap:wrap}
.kd-articles-home-card-title,.kd-article-card-title{font-family:var(--serif);font-size:19px;line-height:1.3}
.kd-articles-home-card:hover .kd-articles-home-card-title,.kd-article-card:hover .kd-article-card-title{color:var(--accent)}
.kd-article-card-excerpt{font-size:13px;color:var(--ink-soft);margin:0}
.kd-articles-home-card-date,.kd-article-card-date{font-size:12px;color:var(--ink-faint)}

/* CTA */
.kd-cta-home{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:center;margin:5rem 0 0;padding:3.5rem;background:#1a1a1a;color:#f5f3ee}
.kd-cta-title{font-size:clamp(2rem,4vw,2.9rem);margin:0 0 1rem;color:#f5f3ee}
.kd-cta-title em{color:#9cc9a8}
.kd-cta-desc{color:rgba(245,243,238,0.7);font-size:15px;margin:0;max-width:34em}
.kd-cta-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.kd-cta-home .kd-btn-outline{border-color:rgba(245,243,238,0.3);color:#f5f3ee}

/* FOOTER */
.kd-footer{display:flex;justify-content:space-between;align-items:center;padding:2rem 0;margin-top:4rem;border-top:1px solid var(--rule);font-size:13px;color:var(--ink-faint)}
.kd-footer-left{display:flex;align-items:center;gap:12px}
.kd-footer p{margin:0}
.kd-footer a:hover{color:var(--accent)}

/* FEATURED IN PAGE */
.kd-fi-page-header,.kd-articles-header{padding:4.5rem 0 3rem}
.kd-fi-page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}
.kd-fi-page-header h1,.kd-articles-header h1,.kd-contact-page h1{font-size:clamp(2.75rem,6vw,4.5rem);margin:0 0 1.25rem}
.kd-fi-page-header p,.kd-articles-header p{color:var(--ink-soft);margin:0;max-width:36em}
.kd-fi-page-badge{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--rule);padding:6px 12px;border-radius:20px;white-space:nowrap}
.kd-fpage-sp-badge{display:inline-block;font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;background:var(--accent);color:#f5f3ee;padding:3px 9px;border-radius:2px;margin-bottom:1rem}
.kd-fi-page-list{margin-top:2rem}
.kd-show-more{font-family:inherit;font-size:12px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);background:transparent;border:1px solid var(--accent-line);padding:10px 24px;border-radius:3px;cursor:pointer;margin-top:1.5rem}
.kd-fi-rss-note{font-size:12px;color:var(--ink-faint);font-style:italic;padding:2rem 0 0}

/* ARTICLES PAGE */
.kd-filter-bar{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:2rem;margin-bottom:2.5rem;border-bottom:1px solid var(--rule)}
.kd-filter-btn{font-family:inherit;font-size:12px;padding:7px 16px;border:1px solid var(--rule);background:transparent;color:var(--ink-soft);border-radius:20px;cursor:pointer}
.kd-filter-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ABOUT */
.kd-about-hero{display:grid;grid-template-columns:1fr 1.6fr;gap:4rem;padding:4.5rem 0 1rem;align-items:start}
.kd-about-photo{position:sticky;top:2rem}
.kd-about-name{font-family:var(--serif);font-weight:300;font-size:clamp(2.5rem,5vw,3.75rem);line-height:1.05;margin-bottom:0.75rem}
.kd-about-role{font-size:13px;color:var(--ink-faint);margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--rule)}
.kd-about-bio{font-size:16px;color:var(--ink-soft);margin:0 0 1.25rem;max-width:40em;line-height:1.75}
.kd-spec-section{margin:2.5rem 0 2rem}
.kd-spec-label{font-family:var(--serif);font-style:italic;font-size:17px;margin-bottom:1rem}
.kd-spec-tags{display:flex;flex-wrap:wrap;gap:8px}
.kd-spec-tag{font-size:12px;padding:6px 13px;background:var(--accent-soft);color:var(--accent);border-radius:20px}
.kd-btn-row{display:flex;gap:12px}

/* CONTACT */
.kd-contact-page{display:grid;grid-template-columns:1fr 1.1fr;gap:5rem;padding:4.5rem 0 1rem}
.kd-contact-page > div:first-child > p{color:var(--ink-soft);margin:0 0 2.5rem;max-width:30em}
.kd-contact-details{border-top:1px solid var(--rule)}
.kd-contact-detail{display:grid;grid-template-columns:140px 1fr;padding:1rem 0;border-bottom:1px solid var(--rule);font-size:14px}
.kd-contact-detail-label{color:var(--ink-faint)}
.kd-contact-detail-value a{color:var(--accent)}
.kd-form{display:flex;flex-direction:column;gap:1.25rem;background:var(--card);border:1px solid var(--rule);padding:2.25rem}
.kd-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.kd-form-label{display:block;font-size:11px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}
.kd-form input,.kd-form textarea{width:100%;font-family:inherit;font-size:15px;font-weight:300;padding:11px 12px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:2px}
.kd-form textarea{min-height:150px;resize:vertical}
.kd-form-submit{align-self:flex-start;font-family:inherit;font-size:12px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;background:var(--accent);color:#f5f3ee;border:0;padding:13px 28px;border-radius:3px;cursor:pointer}
.kd-form-success{padding:2rem;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line)}

/* SINGLE */
.kd-article-header{max-width:780px;padding:4rem 0 2rem}
.kd-back{font-size:13px;color:var(--accent)}
.kd-article-title{font-size:clamp(2.25rem,5vw,3.5rem);margin:0.5rem 0 1.75rem;line-height:1.1}
.kd-byline{display:flex;align-items:center;gap:12px;font-size:14px}
.kd-byline-avatar,.kd-author-box-avatar{width:38px;height:38px;border-radius:50%;background:#1a1a1a;color:#f5f3ee;font-family:var(--serif);font-size:14px;display:flex;align-items:center;justify-content:center;flex:none}
.kd-byline-author{font-weight:500}
.kd-byline-meta{color:var(--ink-faint)}
.kd-article-hero{aspect-ratio:21/9;margin-bottom:3rem}
.kd-single-layout{display:grid;grid-template-columns:1fr 280px;gap:4rem}
.kd-article-body{font-family:var(--serif);font-size:19px;line-height:1.75;max-width:40em}
.kd-article-body p{margin:0 0 1.4rem}
.kd-article-body .kd-note{font-family:var(--sans);font-size:13px;color:var(--ink-faint);border:1px dashed var(--rule);padding:1rem 1.25rem}
.kd-author-box{margin:3rem 0;padding:1.75rem;border:1px solid var(--rule);background:var(--card)}
.kd-author-box-header{display:flex;gap:14px;align-items:center;margin-bottom:1rem}
.kd-author-box-name{font-family:var(--serif);font-size:18px}
.kd-author-box-role{font-size:12px;color:var(--ink-faint)}
.kd-author-box p{margin:0;font-size:14px;color:var(--ink-soft)}
.kd-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding-top:2rem;border-top:1px solid var(--rule)}
.kd-post-nav-right{text-align:right}
.kd-post-nav-label{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
.kd-post-nav-title{font-family:var(--serif);font-size:16px;line-height:1.3}
.kd-post-nav-title:hover{color:var(--accent)}
.kd-sidebar-title{font-family:var(--serif);font-style:italic;font-size:18px;padding-bottom:1rem;border-bottom:1px solid var(--rule);margin-bottom:1rem}
.kd-related-item{display:block;padding:0 0 1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--rule)}
.kd-related-thumb{aspect-ratio:16/9;margin-bottom:0.6rem}
.kd-related-cat{font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent)}
.kd-related-title{font-family:var(--serif);font-size:15px;line-height:1.3;margin:4px 0}
.kd-related-item:hover .kd-related-title{color:var(--accent)}
.kd-related-date{font-size:12px;color:var(--ink-faint)}



/* Thumbnails */
.kd-spotlight-img img,.kd-fpage-sp-img img,.kd-fi-thumb img,.kd-fi-page-item-thumb img,.kd-articles-home-card-img img,.kd-article-card-img img,.kd-related-thumb img,.kd-article-hero img{width:100%;height:100%;object-fit:cover}
.kd-articles-home-card-img,.kd-article-card-img,.kd-related-thumb,.kd-article-hero{overflow:hidden;background:var(--paper-deep)}

/* Insights pagination */
.kd-pagination{display:flex;gap:6px;flex-wrap:wrap;margin-top:3rem}
.kd-page-btn{font-size:13px;min-width:38px;height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule);color:var(--ink-soft);border-radius:3px}
.kd-page-btn:hover{border-color:var(--accent-line);color:var(--accent)}
.kd-page-btn.active{background:var(--accent);border-color:var(--accent);color:#f5f3ee}

/* WordPress content in posts */
.kd-article-body h2,.kd-article-body h3{font-family:var(--serif);font-weight:400;line-height:1.25;margin:2.25rem 0 1rem}
.kd-article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.kd-article-body img{height:auto;margin:1.5rem 0}
.kd-article-body blockquote{margin:2rem 0;padding-left:1.25rem;border-left:2px solid var(--accent);font-style:italic}
.kd-article-body ul,.kd-article-body ol{margin:0 0 1.4rem;padding-left:1.4rem}

/* RESPONSIVE */
@media (max-width:900px){
  .kd-site{padding:0 1.5rem}
  .kd-nav-links{display:none}
  .kd-hamburger{display:block}
  .kd-hero,.kd-about-hero,.kd-contact-page,.kd-single-layout,.kd-cta-home,.kd-spotlight,.kd-fi-page-spotlight{grid-template-columns:1fr;gap:2.5rem}
  .kd-hero{padding-top:3rem}
  .kd-hero-photo{max-width:420px}
  .kd-about-photo{position:static;max-width:360px}
  .kd-focus{grid-template-columns:1fr;gap:1rem}
  .kd-focus-list{grid-template-columns:1fr}
  .kd-articles-home-grid,.kd-articles-grid{grid-template-columns:1fr 1fr}
  .kd-cta-home{padding:2.25rem}
  .kd-cta-btns{justify-content:flex-start}
  .kd-fi-page-header{flex-direction:column;align-items:flex-start}
}
@media (max-width:600px){
  .kd-articles-home-grid,.kd-articles-grid{grid-template-columns:1fr}
  .kd-fi-item,.kd-fi-page-item{grid-template-columns:64px 1fr;gap:1rem}
  .kd-fi-thumb,.kd-fi-page-item-thumb{width:64px;height:48px}
  .kd-fi-item-meta,.kd-fi-page-item-meta{grid-column:2;text-align:left}
  .kd-fi-item-link,.kd-fi-page-item-link{display:inline;margin-left:10px}
  .kd-form-row{grid-template-columns:1fr}
  .kd-form{padding:1.5rem}
  .kd-footer{flex-direction:column;gap:1rem;align-items:flex-start}
  .kd-post-nav{grid-template-columns:1fr}
  .kd-post-nav-right{text-align:left}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
