.hp-article-page{background:var(--hp-bg)}
.hp-article-layout{display:grid;grid-template-columns:minmax(0,790px) 300px;gap:38px;align-items:start;padding:54px 0 72px}
.hp-article-main{min-width:0}
.hp-article-header{margin-bottom:0}
.hp-article-main h1{max-width:780px;margin:12px 0 16px;font-size:clamp(42px,4.25vw,66px);line-height:1.01;letter-spacing:-.045em;color:var(--hp-text)!important}
.hp-dek{max-width:740px;margin:0 0 22px;font-size:20px;line-height:1.48;color:#555d66}
.hp-byline{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;border-top:1px solid var(--hp-line);border-bottom:1px solid var(--hp-line)}
.hp-byline-person{display:flex;align-items:center;gap:11px}.hp-byline-person img{width:44px;height:44px;border-radius:50%;object-fit:cover}.hp-byline-person strong{display:block}.hp-share-links{display:flex;align-items:center;gap:10px;color:var(--hp-muted);font-size:12px}.hp-share-links a,.hp-copy-link{display:inline-grid;place-items:center;width:26px;height:26px;border:0;background:transparent;color:var(--hp-blue)!important;font-weight:800;cursor:pointer}
.hp-article-hero{margin:28px 0 24px}.hp-article-hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.hp-sponsor-strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:0 0 28px;padding:16px;background:#f0ede6;border:1px solid #e6dfd4;border-radius:8px}.hp-sponsor-strip img{width:70px;height:50px;object-fit:contain}.hp-sponsor-strip small{display:block;color:var(--hp-muted);font-size:11px}.hp-sponsor-strip>a{padding:10px 14px;background:var(--hp-blue);border-radius:4px;color:#fff!important;font-weight:800}.hp-sponsor-label{color:var(--hp-blue);font-size:10px;font-weight:900;letter-spacing:.08em}
.hp-article-content{font-family:Georgia,serif;font-size:18px;line-height:1.82;color:#24282e}.hp-article-content>p:first-child{font-size:22px;line-height:1.62}.hp-article-content h2,.hp-article-content h3{font-family:Inter,sans-serif;line-height:1.15;color:var(--hp-text)!important}.hp-article-content h2{margin-top:42px;font-size:32px}.hp-article-content h3{margin-top:34px;font-size:24px}.hp-article-content img{border-radius:7px}.hp-article-content blockquote{margin:36px 0;padding:8px 0 8px 24px;border-left:4px solid var(--hp-blue);font-size:27px;line-height:1.35;font-style:italic}
.hp-inline-ad{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:34px 0;padding:20px;border:1px solid var(--hp-line);border-radius:8px;background:#fff;font-family:Inter,sans-serif}.hp-inline-ad>span{font-size:10px;color:var(--hp-muted)}.hp-inline-ad>a{padding:9px 13px;border:1px solid var(--hp-blue);color:var(--hp-blue)!important;font-weight:800}
.hp-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:34px;padding-top:24px;border-top:1px solid var(--hp-line)}.hp-tags>span{font-size:12px;font-weight:800}.hp-tags a{padding:7px 10px;border-radius:999px;background:var(--hp-blue-soft);color:var(--hp-blue)!important;font-size:12px;font-weight:700}
.hp-sponsor-card,.hp-author-box{display:grid;align-items:center;gap:18px;margin-top:24px;padding:22px;border:1px solid var(--hp-line);border-radius:8px;background:#fff}.hp-sponsor-card{grid-template-columns:auto 1fr auto}.hp-sponsor-card img{width:90px;height:70px;object-fit:contain}.hp-sponsor-placeholder{display:grid;place-items:center;width:90px;height:70px;background:var(--hp-dark);color:#fff;font-size:12px;font-weight:900}.hp-sponsor-card small,.hp-author-box small{color:var(--hp-blue);font-size:10px;font-weight:900;letter-spacing:.08em}.hp-sponsor-card h3,.hp-author-box h3{margin:3px 0}.hp-sponsor-card p,.hp-author-box p{margin:0;color:var(--hp-muted);font-size:13px}
.hp-author-box{grid-template-columns:auto 1fr}.hp-author-box img{width:72px;height:72px;border-radius:50%;object-fit:cover}.hp-author-box a{color:var(--hp-blue)!important;font-size:12px;font-weight:800}

/* =========================================================
   RELATED STORIES — COMPACT ARTICLE CARDS
   ========================================================= */

.hp-related {
    margin-top: 46px;
    padding-top: 0;
    border-top: 0;
}

.hp-related-header,
.hp-related .hp-section-header,
.hp-related .hp-section-heading {
    display: block;
    margin-bottom: 8px;
}

.hp-related h2 {
    margin: 0 0 14px;
    color: var(--hp-text);
    font-size: 24px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.025em;
}

.hp-related-header > a,
.hp-related .hp-section-header > a,
.hp-related .hp-section-heading > a,
.hp-related .hp-view-all {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--hp-text) !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
}

/* Grid */

.hp-related .hp-card-grid,
.hp-related .hp-post-grid,
.hp-related .hp-grid,
.hp-related .hp-grid-3,
.hp-related .hp-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

/* Card */

.hp-related .hp-card {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--hp-line);
    border-radius: 7px;
    background: #ffffff;
    color: var(--hp-text);
    text-decoration: none;
    box-shadow: none;
    transition:
        transform 160ms ease,
        box-shadow 160ms ease;
}

.hp-related .hp-card:hover {
    box-shadow: 0 10px 24px rgba(20, 24, 28, 0.07);
    transform: translateY(-2px);
}

/* Image */

.hp-related .hp-card-media,
.hp-related .hp-card-image,
.hp-related .hp-card-thumb {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #ebeae5;
}

.hp-related .hp-card-media img,
.hp-related .hp-card-image img,
.hp-related .hp-card-thumb img,
.hp-related .hp-card > a > img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
}

/* Card content */

.hp-related .hp-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 14px 16px 16px;
}

.hp-related .hp-card-category,
.hp-related .hp-card-label,
.hp-related .hp-card-kicker {
    align-self: flex-start;
    margin: 0 0 11px;
    padding: 5px 8px;
    border-radius: 3px;
    background: var(--hp-blue);
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.hp-related .hp-card-title {
    margin: 0;
    color: var(--hp-text);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.24;
    letter-spacing: -0.015em;
}

.hp-related .hp-card-title a {
    color: inherit !important;
    text-decoration: none;
}

.hp-related .hp-meta {
    margin-top: auto;
    padding-top: 14px;
    color: var(--hp-muted);
    font-size: 11px;
    line-height: 1.4;
}

/* Tablet */

@media (max-width: 900px) {
    .hp-related .hp-card-grid,
    .hp-related .hp-post-grid,
    .hp-related .hp-grid,
    .hp-related .hp-grid-3,
    .hp-related .hp-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile */

@media (max-width: 620px) {
    .hp-related .hp-card-grid,
    .hp-related .hp-post-grid,
    .hp-related .hp-grid,
    .hp-related .hp-grid-3,
    .hp-related .hp-related-grid {
        grid-template-columns: 1fr;
    }

    .hp-related h2 {
        font-size: 22px;
    }

    .hp-related .hp-card-title {
        font-size: 16px;
    }
}

.hp-footer-ad{margin-top:24px}
.hp-article-sidebar{position:static;display:grid;align-content:start;gap:16px}.hp-sidebar-card{padding:18px;border:1px solid var(--hp-line);border-radius:8px;background:#fff}.hp-daily-card>small{color:var(--hp-blue);font-size:10px;font-weight:900;letter-spacing:.08em}.hp-daily-card h3{margin:18px 0;font-size:20px;line-height:1.2}.hp-daily-card form{display:grid;gap:8px}.hp-daily-card input{height:42px;padding:0 11px;border:1px solid var(--hp-line)}.hp-daily-card button{height:40px;border:0;border-radius:3px;background:var(--hp-blue);color:#fff;font-weight:800}
.hp-sidebar-stories{display:grid;gap:12px}.hp-sidebar-stories a{display:grid;grid-template-columns:68px 1fr;align-items:center;gap:10px;color:var(--hp-text)!important;font-size:12px;font-weight:700;line-height:1.25}.hp-sidebar-stories img{width:68px;height:48px;object-fit:cover}
.hp-ad-box{min-height:250px;display:grid;place-items:center;text-align:center;background:#fafafa}.hp-ad-box span,.hp-ad-box small{color:var(--hp-muted)}.hp-ad-box strong{font-size:28px}
/* WP Post Author Pro can supply data, but its automatic visual box is hidden to prevent duplication. */
.wp-post-author-wrap,.wp-post-author-meta,.awpa-author-block,.wp-post-author-box{display:none!important}
/* Prevent generic widgets from leaking below the approved article layout. */
.hp-article-page+.widget-area,.hp-article-page~.widget-area{display:none!important}

/* Beta 5.4 article sponsorship and ad-flow refinements */
.hp-sponsor-strip{margin-top:4px}
.hp-sponsor-card{margin-top:24px}
.hp-author-box{margin-top:24px}
.hp-ad-box{overflow:hidden}
.hp-ad-box .hp-widget{width:100%;padding:0;border:0;background:transparent}
.hp-ad-box img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.hp-ad-box iframe{display:block;max-width:100%;margin:auto}
.hp-ad-box .widget_custom_html,.hp-ad-box .widget_media_image{width:100%}
.hp-footer-ad{margin:24px 0}

/* Hide all known automatic WP Post Author Pro headings/containers.
   The theme still uses the WordPress author profile data. */
.wp-post-author-wrap,
.wp-post-author-meta,
.awpa-author-block,
.wp-post-author-box,
.awpa-title,
.awpa-heading,
.wp-post-author-title,
.wp-post-author-heading,
.post-author-title,
.author-box-title{display:none!important}

/* The HanPunch author component is the only author box shown. */
.hp-author-box{display:grid!important}

.hp-article-main h1{font-size:clamp(39px,3.9vw,60px)}
.hp-dek{font-size:19px}
.hp-article-content{font-size:17px}
.hp-article-content>p:first-child{font-size:20px}

/* Comments */
.hp-comments-section{
  margin-top:48px;
}
.hp-comments{
  padding-top:4px;
}
.hp-comment-list{
  list-style:none;
  margin:0;
  padding:0;
}
.hp-comment-list .comment{
  margin:0 0 16px;
  padding:18px;
  border:1px solid var(--hp-line);
  border-radius:8px;
  background:#fff;
}
.hp-comment-list .children{
  list-style:none;
  margin:16px 0 0 28px;
  padding:0;
}
.hp-comment-list .comment-body{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:12px;
}
.hp-comment-list .comment-author img{
  border-radius:50%;
}
.hp-comment-list .comment-meta,
.hp-comment-list .reply{
  font-size:11px;
}
.hp-comment-list .comment-content{
  grid-column:2;
  font-family:Georgia,serif;
  font-size:15px;
}
.hp-comment-respond{
  margin-top:24px;
  padding:22px;
  border:1px solid var(--hp-line);
  border-radius:8px;
  background:#fff;
}
.hp-comment-reply-title{
  margin:0 0 8px;
}
.hp-comment-note{
  color:var(--hp-muted);
  font-size:12px;
}
.hp-comment-form{
  display:grid;
  gap:12px;
}
.hp-comment-form p{margin:0}
.hp-comment-form input:not([type=submit]),
.hp-comment-form textarea{
  width:100%;
  padding:12px;
  border:1px solid var(--hp-line);
  border-radius:4px;
  background:#fff;
}
.hp-comment-form textarea{min-height:150px}
