/*
Theme Name: DPurohit Minimal v4
Theme URI: https://dpurohit.com/
Author: OpenAI for Dharmayu Purohit
Description: Minimal, editorial WordPress theme for a senior technology and transformation leader. Five-destination architecture: Home, Insights, Life Experiences, About Me, Contact.
Version: 4.0.0
Text Domain: dpurohit-minimal-v4
*/

:root {
  --dp-bg: #F7F4EE;
  --dp-ink: #0B1F33;
  --dp-accent: #2F6F6D;
  --dp-site-width: 1160px;
  --dp-reading-width: 720px;
  --dp-radius: 18px;
  --dp-border: color-mix(in srgb, var(--dp-ink) 14%, transparent);
  --dp-muted: color-mix(in srgb, var(--dp-ink) 68%, transparent);
  --dp-soft: color-mix(in srgb, var(--dp-ink) 5%, transparent);
  --dp-heading-font: "Source Serif 4", Georgia, "Times New Roman", serif;
  --dp-body-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--dp-bg);
  color: var(--dp-ink);
  font-family: var(--dp-body-font);
  font-size: 18px;
  line-height: 1.68;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
a:hover { color: var(--dp-accent); }
img { max-width: 100%; height: auto; }
button, input, textarea { font: inherit; }
::selection { background: var(--dp-accent); color: var(--dp-bg); }

.dp-shell { width: min(calc(100% - 40px), var(--dp-site-width)); margin-inline: auto; }
.dp-reading { width: min(100%, var(--dp-reading-width)); margin-inline: auto; }
.dp-skip-link { position: absolute; left: -9999px; }
.dp-skip-link:focus { left: 16px; top: 16px; z-index: 9999; background: var(--dp-ink); color: var(--dp-bg); padding: 10px 14px; }

.site-header { position: sticky; top: 0; z-index: 30; background: color-mix(in srgb, var(--dp-bg) 92%, transparent); backdrop-filter: blur(14px); border-bottom: 1px solid var(--dp-border); }
.site-header__inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.site-branding a { text-decoration: none; }
.site-title { font-family: var(--dp-heading-font); font-size: 24px; font-weight: 650; letter-spacing: -0.02em; }
.site-description { display: none; }
.custom-logo { max-height: 42px; width: auto; }
.main-navigation ul { display: flex; gap: 24px; list-style: none; margin: 0; padding: 0; align-items: center; }
.main-navigation a { text-decoration: none; font-size: 14px; font-weight: 650; letter-spacing: 0.01em; }
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a { color: var(--dp-accent); }
.menu-toggle { display: none; border: 1px solid var(--dp-border); background: transparent; color: var(--dp-ink); border-radius: 999px; padding: 8px 12px; }

main { min-height: 60vh; }
.dp-hero { padding: clamp(84px, 10vw, 150px) 0 clamp(72px, 9vw, 128px); border-bottom: 1px solid var(--dp-border); }
.dp-kicker { margin: 0 0 16px; color: var(--dp-accent); font-size: 13px; font-weight: 760; letter-spacing: 0.12em; text-transform: uppercase; }
.dp-hero h1, .dp-page-hero h1, .entry-title, .archive-title {
  font-family: var(--dp-heading-font);
  font-weight: 620;
  letter-spacing: -0.045em;
  line-height: 0.99;
}
.dp-hero h1 { max-width: 900px; margin: 0; font-size: clamp(52px, 7.5vw, 96px); }
.dp-hero__lede { max-width: 770px; margin: 32px 0 0; color: var(--dp-muted); font-size: clamp(20px, 2vw, 27px); line-height: 1.48; }
.dp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.dp-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 18px; border: 1px solid var(--dp-ink); border-radius: 999px; background: var(--dp-ink); color: var(--dp-bg); text-decoration: none; font-size: 14px; font-weight: 700; }
.dp-button:hover { background: var(--dp-accent); border-color: var(--dp-accent); color: var(--dp-bg); }
.dp-button--quiet { background: transparent; color: var(--dp-ink); }
.dp-button--quiet:hover { color: var(--dp-bg); }

.dp-section { padding: clamp(64px, 8vw, 112px) 0; border-bottom: 1px solid var(--dp-border); }
.dp-section__head { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 50px; align-items: start; margin-bottom: 48px; }
.dp-section__head h2 { margin: 0; font-family: var(--dp-heading-font); font-size: clamp(36px, 4.5vw, 58px); line-height: 1.04; letter-spacing: -0.035em; font-weight: 620; }
.dp-section__head p { margin: 5px 0 0; color: var(--dp-muted); max-width: 680px; }
.dp-streams { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.dp-stream { padding: clamp(28px, 4vw, 46px); border: 1px solid var(--dp-border); border-radius: var(--dp-radius); background: color-mix(in srgb, var(--dp-bg) 96%, var(--dp-ink) 4%); }
.dp-stream h3 { margin: 0 0 12px; font-family: var(--dp-heading-font); font-size: 34px; line-height: 1.12; letter-spacing: -0.025em; }
.dp-stream p { color: var(--dp-muted); margin: 0 0 24px; }
.dp-text-link { color: var(--dp-accent); font-weight: 720; text-decoration: none; }
.dp-text-link:hover { text-decoration: underline; }

.dp-list { display: grid; gap: 0; border-top: 1px solid var(--dp-border); }
.dp-card { display: grid; grid-template-columns: 190px 1fr auto; gap: 30px; align-items: start; padding: 30px 0; border-bottom: 1px solid var(--dp-border); }
.dp-card__meta { color: var(--dp-muted); font-size: 13px; font-weight: 650; letter-spacing: 0.035em; text-transform: uppercase; }
.dp-card h3 { margin: 0 0 8px; font-family: var(--dp-heading-font); font-size: clamp(25px, 3vw, 36px); line-height: 1.12; letter-spacing: -0.025em; font-weight: 610; }
.dp-card h3 a { text-decoration: none; }
.dp-card p { margin: 0; color: var(--dp-muted); max-width: 680px; }
.dp-card__arrow { color: var(--dp-accent); font-size: 28px; line-height: 1; }

.dp-note { max-width: 840px; font-family: var(--dp-heading-font); font-size: clamp(27px, 3.4vw, 44px); line-height: 1.25; letter-spacing: -0.025em; }
.dp-note p { margin: 0; }
.dp-note strong { color: var(--dp-accent); font-weight: 620; }

.dp-page-hero { padding: 88px 0 52px; border-bottom: 1px solid var(--dp-border); }
.dp-page-hero h1, .archive-title { margin: 0; font-size: clamp(48px, 6.5vw, 78px); }
.dp-page-hero p, .archive-description { max-width: 760px; color: var(--dp-muted); font-size: 21px; margin: 24px 0 0; }
.dp-content-wrap { padding: 64px 0 96px; }
.entry-content { font-size: 19px; }
.entry-content > * { max-width: var(--dp-reading-width); margin-left: auto; margin-right: auto; }
.entry-content > .alignwide { max-width: 980px; }
.entry-content > .alignfull { max-width: none; }
.entry-content h2, .entry-content h3, .entry-content h4 { font-family: var(--dp-heading-font); line-height: 1.15; letter-spacing: -0.02em; margin-top: 2.2em; margin-bottom: 0.65em; }
.entry-content h2 { font-size: 38px; }
.entry-content h3 { font-size: 29px; }
.entry-content p, .entry-content li { color: color-mix(in srgb, var(--dp-ink) 90%, transparent); }
.entry-content blockquote { border-left: 3px solid var(--dp-accent); margin-top: 2em; margin-bottom: 2em; padding: 4px 0 4px 24px; font-family: var(--dp-heading-font); font-size: 27px; line-height: 1.35; }
.entry-content code { font-size: 0.9em; }
.entry-content a { color: var(--dp-accent); }

.dp-article-head { padding: 84px 0 48px; border-bottom: 1px solid var(--dp-border); }
.dp-article-head .entry-title { margin: 0; max-width: 930px; font-size: clamp(46px, 6vw, 76px); }
.dp-article-meta { margin-top: 24px; color: var(--dp-muted); font-size: 14px; }
.dp-article-excerpt { max-width: 770px; margin-top: 25px; color: var(--dp-muted); font-size: 21px; }

.dp-empty { padding: 30px 0; color: var(--dp-muted); }

.dp-contact-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 64px; align-items: start; }
.dp-contact-copy h2 { margin-top: 0; font-family: var(--dp-heading-font); font-size: 38px; }
.dp-contact-copy p { color: var(--dp-muted); }
.dp-form { display: grid; gap: 18px; }
.dp-form label { display: grid; gap: 7px; font-size: 14px; font-weight: 700; }
.dp-form input, .dp-form textarea { width: 100%; border: 1px solid var(--dp-border); border-radius: 10px; background: transparent; color: var(--dp-ink); padding: 12px 14px; outline: none; }
.dp-form input:focus, .dp-form textarea:focus { border-color: var(--dp-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--dp-accent) 16%, transparent); }
.dp-form textarea { min-height: 180px; resize: vertical; }
.dp-form-status { padding: 12px 14px; border: 1px solid var(--dp-border); border-radius: 10px; }
.dp-honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; }

.site-footer { padding: 38px 0 48px; }
.site-footer__inner { display: flex; justify-content: space-between; align-items: center; gap: 28px; color: var(--dp-muted); font-size: 13px; }
.site-footer nav ul { display: flex; gap: 18px; list-style: none; margin: 0; padding: 0; }
.site-footer a { text-decoration: none; }

.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 860px) {
  body { font-size: 17px; }
  .menu-toggle { display: inline-flex; }
  .main-navigation { position: absolute; left: 0; right: 0; top: 76px; background: var(--dp-bg); border-bottom: 1px solid var(--dp-border); display: none; padding: 10px 20px 22px; }
  .main-navigation.is-open { display: block; }
  .main-navigation ul { align-items: stretch; flex-direction: column; gap: 0; }
  .main-navigation a { display: block; padding: 12px 0; }
  .dp-section__head, .dp-contact-grid { grid-template-columns: 1fr; gap: 22px; }
  .dp-streams { grid-template-columns: 1fr; }
  .dp-card { grid-template-columns: 1fr auto; gap: 12px 20px; }
  .dp-card__meta { grid-column: 1 / -1; }
  .site-footer__inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .dp-shell { width: min(calc(100% - 28px), var(--dp-site-width)); }
  .dp-hero { padding-top: 64px; }
  .dp-hero h1 { font-size: clamp(44px, 14vw, 64px); }
  .dp-actions { flex-direction: column; align-items: stretch; }
  .dp-button { width: 100%; }
  .site-footer nav ul { flex-direction: column; gap: 7px; }
}
