/* Integration only: the approved homepage.css is kept byte-for-byte intact. */
.techestly-menu { list-style: none; padding: 0; margin: 0; }
.primary-nav > .techestly-menu { display: flex; align-items: center; gap: inherit; }
.primary-nav li { position: relative; }
.primary-nav .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 180px; list-style: none; margin: 0; padding: 8px; background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-small); box-shadow: var(--shadow-panel); }
.primary-nav li:hover > .sub-menu, .primary-nav li:focus-within > .sub-menu { display: block; }
.primary-nav .sub-menu a { display: block; padding: 10px; }
.footer-nav > .techestly-menu { display: flex; flex-direction: column; align-items: flex-start; }
.social-links a { display: grid; place-items: center; width: 16px; height: 18px; color: #263754; }
.social-links a:hover { color: var(--color-primary); }
.empty-state { grid-column: 1 / -1; padding: 24px; border: 1px solid var(--color-border); border-radius: var(--radius-card); background: #fff; color: var(--color-body); }
.category-grid:not(.is-expanded) .category-card:nth-of-type(n+7) { display: none; }
body.no-js .category-grid .category-card:nth-of-type(n+7) { display: flex; }
.search-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.search-form label { flex: 1 1 240px; }
.search-form .site-search-input { display: block; }
.archive-main, .entry-main { padding-block: 36px; min-height: 50vh; }
.archive-heading { margin-bottom: 24px; }
.archive-heading h1 { font-size: clamp(28px, 4vw, 40px); line-height: 1.15; }
.archive-heading p, .archive-description { margin-top: 10px; color: var(--color-body); }
.archive-grid { row-gap: 24px; }
.navigation.pagination { margin-top: 28px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 10px; }
.page-numbers { display: inline-block; padding: 8px 12px; border: 1px solid var(--color-border); border-radius: var(--radius-small); }
.page-numbers.current { color: #fff; background: var(--color-primary); }
.entry-article { max-width: 820px; margin-inline: auto; }
.entry-header { margin-bottom: 24px; }
.entry-header h1 { font-size: clamp(28px, 4vw, 44px); line-height: 1.15; margin-block: 12px; }
.entry-thumbnail { width: 100%; height: auto; border-radius: var(--radius-card); margin-bottom: 24px; }
.entry-content { color: var(--color-body); line-height: 1.75; overflow-wrap: break-word; }
.entry-content > * { margin-bottom: 20px; }
.entry-content h2, .entry-content h3, .entry-content h4 { color: var(--color-title); line-height: 1.3; margin-top: 30px; }
.entry-content h2 { font-size: 28px; }
.entry-content h3 { font-size: 22px; }
.entry-content a, .comment-content a { color: var(--color-primary); text-decoration: underline; }
.entry-content ul, .entry-content ol { padding-left: 24px; }
.entry-content blockquote { margin-inline: 0; padding: 16px 24px; border-left: 4px solid var(--color-primary); background: var(--color-soft); }
.entry-content figure { max-width: 100%; }
.entry-content .alignwide { width: calc(100% + 80px); max-width: calc(100vw - 48px); margin-left: -40px; }
.entry-content .alignfull { width: calc(100vw - 48px); max-width: none; margin-left: calc((820px - 100vw + 48px) / 2); }
.entry-content .alignleft { float: left; margin: 0 20px 20px 0; }
.entry-content .alignright { float: right; margin: 0 0 20px 20px; }
.entry-content .aligncenter { margin-inline: auto; }
.entry-content::after { content: ""; display: table; clear: both; }
.entry-content pre { overflow-x: auto; padding: 20px; background: var(--color-soft); border-radius: var(--radius-small); }
.entry-content table { border-collapse: collapse; width: 100%; }
.entry-content td, .entry-content th { padding: 10px; border: 1px solid var(--color-border); }
.entry-links, .post-navigation { margin-block: 24px; }
.comments-area { border-top: 1px solid var(--color-border); margin-top: 30px; padding-top: 24px; }
.comment-list { list-style: none; padding: 0; }
.comment-list .children { list-style: none; padding-left: 24px; }
.comment-body { padding-block: 20px; border-bottom: 1px solid var(--color-border); }
.comment-author .avatar { display: inline-block; vertical-align: middle; margin-right: 8px; border-radius: 50%; }
.bypostauthor > .comment-body { border-left: 3px solid var(--color-primary); padding-left: 12px; }
.comment-form label { display: block; margin-bottom: 4px; }
.comment-form input:not([type=checkbox]):not([type=submit]), .comment-form textarea, .post-password-form input[type=password] { width: 100%; padding: 12px; border: 1px solid var(--color-border); border-radius: var(--radius-small); font: inherit; }
.comment-form p { margin-block: 14px; }
.comment-form-cookies-consent label { display: inline; }
.comment-form .submit { border: 0; border-radius: var(--radius-small); padding: 12px 20px; color: #fff; background: var(--color-primary); }
body.no-js .primary-nav { display: flex; }
body.no-js .menu-toggle, body.no-js .search-toggle { display: none; }
@media (max-width: 900px) {
  .entry-content .alignwide, .entry-content .alignfull { width: 100%; max-width: 100%; margin-left: 0; }
}
@media (max-width: 820px) {
  .primary-nav > .techestly-menu { flex-direction: column; align-items: stretch; width: 100%; gap: 0; }
  .primary-nav > .techestly-menu > li > a { display: block; }
  .primary-nav .sub-menu { display: block; position: static; border: 0; box-shadow: none; padding-block: 0; }
  body.no-js .primary-nav { position: static; flex-basis: 100%; order: 3; }
  body.no-js .site-header { flex-wrap: wrap; }
}
@media (max-width: 640px) {
  .social-links a { width: 32px; height: 32px; }
}
