/* ==========================================================================
   AD PHASE — WordPress-specific additions
   (admin bar, editor content, pagination, comments, accessibility helpers)
   ========================================================================== */
.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; }
.screen-reader-text:focus{ background:var(--bg-elevated); clip:auto; clip-path:none; color:var(--ink); display:block; height:auto; padding:1em 1.4em; width:auto; z-index:100000; inset-inline-start:8px; top:8px; border-radius:var(--r-sm); }

/* the fixed header sits below the WordPress admin bar */
body.admin-bar .site-header{ top:32px; }
@media (max-width: 782px){ body.admin-bar .site-header{ top:46px; } }
@media (max-width: 600px){ body.admin-bar .site-header{ top:0; } }   /* the bar scrolls away on very small screens */

/* custom logo */
.brand-mark .custom-logo-link{ display:inline-flex; }
.brand-mark img.custom-logo{ height:44px; width:auto; }

/* editor content (pages, posts) */
.entry-content{ color:var(--ink-soft); font-size:var(--fs-lead); line-height:2; }
.entry-content > * + *{ margin-top:var(--sp-4); }
.entry-content h2{ font-size:var(--fs-h2); color:var(--ink); margin-top:var(--sp-7); }
.entry-content h3{ font-size:var(--fs-h3); color:var(--ink); margin-top:var(--sp-6); }
.entry-content h4{ color:var(--ink); }
.entry-content a{ color:var(--brand-strong); text-decoration:underline; text-underline-offset:.2em; }
.entry-content ul, .entry-content ol{ padding-inline-start:1.4em; }
.entry-content ul{ list-style:disc; } .entry-content ol{ list-style:decimal; }
.entry-content li + li{ margin-top:.4em; }
.entry-content blockquote{ margin-inline:0; padding:var(--sp-4) var(--sp-5); border-inline-start:3px solid var(--brand); background:var(--bg-soft); border-radius:0 var(--r-md) var(--r-md) 0; color:var(--ink); }
.entry-content img, .entry-content video{ max-width:100%; height:auto; border-radius:var(--r-md); }
.entry-content figure{ margin-inline:0; } .entry-content figcaption{ font-size:var(--fs-small); color:var(--ink-faint); margin-top:.5em; }
/* tables inside any article / page (each table is wrapped in .ad-table by inc/article.php) */
.entry-content .ad-table{ overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:var(--r-md); border:1px solid var(--line-strong); background:var(--bg-elevated); margin-block:var(--sp-5); }
.entry-content table{ width:100%; min-width:560px; border-collapse:collapse; border-spacing:0; margin:0; font-size:var(--fs-small); line-height:1.7; color:var(--ink-soft); background:transparent; }
.entry-content > table{ border:1px solid var(--line-strong); }
.entry-content table th,
.entry-content table thead td{ background:#1f3324; background:color-mix(in srgb, var(--brand) 16%, var(--bg-soft)); color:var(--ink); font-weight:800; text-align:start; padding:.85em 1em; border:0; border-bottom:1px solid var(--brand-line); }
.entry-content table td{ padding:.85em 1em; border:0; border-top:1px solid var(--line); vertical-align:top; text-align:start; }
.entry-content table td:first-child{ color:var(--ink); font-weight:700; }
.entry-content table th + th, .entry-content table td + td{ border-inline-start:1px solid var(--line); }
.entry-content table tbody tr:nth-child(even) td{ background:rgba(127,127,127,.05); }
.entry-content table tbody tr:hover td{ background:var(--brand-wash); }
.entry-content table b, .entry-content table strong, .entry-content table span{ font-weight:inherit; color:inherit; }
.entry-content table p{ margin:0; }

.entry-content pre{ overflow:auto; padding:var(--sp-4); background:var(--bg-soft); border-radius:var(--r-md); direction:ltr; }
.entry-content code{ direction:ltr; unicode-bidi:embed; font-size:.92em; }
.alignleft{ float:left; margin:0 var(--sp-4) var(--sp-3) 0; } .alignright{ float:right; margin:0 0 var(--sp-3) var(--sp-4); }
.aligncenter{ display:block; margin-inline:auto; }
.alignwide, .alignfull{ max-width:100%; }
.wp-caption{ max-width:100%; } .wp-block-image img{ height:auto; }
.sticky .blog-card{ outline:1px solid var(--brand-line); }

/* pagination */
.adphase-pagination{ margin-top:var(--sp-7); }
.adphase-pagination .nav-links{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; }
.adphase-pagination .page-numbers{ min-width:44px; height:44px; padding:0 1rem; display:inline-grid; place-items:center; border-radius:999px; border:1px solid var(--line-strong); color:var(--ink-soft); font-weight:700; text-decoration:none; transition:background .3s,color .3s,border-color .3s; }
.adphase-pagination .page-numbers:hover, .adphase-pagination .page-numbers.current{ background:var(--brand); color:var(--on-brand); border-color:var(--brand); }
.adphase-pagination .dots{ border-color:transparent; }

/* comments */
.comments-area{ margin-top:var(--sp-8); padding-top:var(--sp-6); border-top:1px solid var(--line); }
.comments-area h3{ margin-bottom:var(--sp-4); }
.comment-list{ list-style:none; padding:0; display:grid; gap:var(--sp-4); }
.comment-body{ padding:var(--sp-4); border-radius:var(--r-md); background:var(--bg-soft); border:1px solid var(--line); }
.comment-author .fn{ font-weight:800; color:var(--ink); } .comment-metadata{ font-size:var(--fs-micro); color:var(--ink-faint); }
.comment-respond{ margin-top:var(--sp-6); }
.comment-form{ display:grid; gap:var(--sp-4); }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea{
  width:100%; padding:.9em 1.1em; border-radius:var(--r-md); border:1px solid var(--line-strong); background:var(--bg-soft); color:var(--ink); font:inherit; }
.comment-form .submit{ justify-self:start; padding:.95em 1.8em; border-radius:999px; border:0; background:var(--brand); color:var(--on-brand); font-weight:800; cursor:pointer; }

/* search forms rendered by WordPress */
.search-form{ display:flex; gap:.5rem; } .search-form .search-field{ flex:1; padding:.8em 1.1em; border-radius:999px; border:1px solid var(--line-strong); background:var(--bg-soft); color:var(--ink); font:inherit; }
.search-form .search-submit{ padding:.8em 1.4em; border-radius:999px; border:0; background:var(--brand); color:var(--on-brand); font-weight:800; cursor:pointer; }

/* hide empty paragraphs the block editor may leave behind */
.entry-content p:empty{ display:none; }

/* ---- Homepage editor: videos wherever an image can go, flexible services count ---- */
.hero-bgvideo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-1; opacity:.35; pointer-events:none; }
video.rocket-figure{ display:block; height:auto; }
.hcar-photo > video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hcar-art > video{ width:100%; height:0; flex:1; object-fit:contain; }
.portfolio-feature .media video, .portfolio-card video{ width:100%; height:100%; object-fit:cover; display:block; }
.svx-vis > .svx-media{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.svx--pin .svx-track{ height: calc(var(--svx-h) + (var(--svx-n, 3) - 1) * 85vh); }

/* ---- Services editor: videos wherever an image can go, media instead of illustrations ---- */
.tst-card video{ width:100%; height:100%; object-fit:cover; display:block; }
.tst-art--media{ border-radius:18px; overflow:hidden; }
.tst-art--media > img, .tst-art--media > video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sd-block__w--media > img, .sd-block__w--media > video{ width:100%; max-width:520px; border-radius:20px; display:block; object-fit:cover; }
.sd-rel__img video, .svc-stack__card video, .svc-media video, .svc-case__media video{ width:100%; height:100%; object-fit:cover; display:block; }
