/* =====================================================================
   HDWT — Articles blog (listing cards · single-post reading · search)
   Brand tokens only (defined in main.css :root). 4px grid. WCAG AA.
   Loaded via wp_enqueue_style after main.css. Mirror of the snippet that
   can instead be appended to main.css.
   ===================================================================== */

/* ---------- ARCHIVE / LISTING ---------------------------------------- */

/* hero: reuse the inner-page navy-gradient hero, no photo required */
.articles-hero{
  min-height:52vh;
  background:linear-gradient(168deg,#0c4360 0%,var(--navy) 72%,#062234 100%);
}
.articles-hero::after{display:none;}          /* solid brand gradient, no photo scrim */
.articles-hero .breadcrumb a:hover{color:var(--honey);}
.articles-hero h1{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(46px,8vw,96px);line-height:1;letter-spacing:-.02em;
  color:var(--cream);max-width:14ch;
}
.articles-hero .eyebrow{color:var(--honey);}
.articles-hero .page-sub{color:rgba(246,240,232,.86);max-width:54ch;}

.articles-sec{padding-top:clamp(56px,7vw,96px);}

/* responsive card grid */
.articles-grid{
  display:grid;gap:clamp(20px,2.4vw,32px);
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
}

/* one card — same surface language as .event-card */
.article-card{
  background:#fff;border:1px solid var(--hair);border-radius:18px;
  overflow:hidden;display:flex;
  box-shadow:0 14px 36px -28px rgba(9,53,84,.4);
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .35s;
}
.article-card:hover{
  transform:translateY(-5px);
  border-color:rgba(203,165,93,.6);
  box-shadow:0 28px 60px -30px rgba(9,53,84,.45);
}
.article-card .ac-link{
  display:flex;flex-direction:column;height:100%;width:100%;text-decoration:none;color:inherit;
}

/* media */
.ac-media{display:block;position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--cream-2);}
.ac-media .ac-img,
.article-card .ac-media img,
.article-card .ac-media .wp-block-post-featured-image{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.article-card:hover .ac-media img,
.article-card:hover .ac-media .ac-img{transform:scale(1.05);}
.ac-img--placeholder{
  background:linear-gradient(150deg,var(--forest) 0%,var(--teal) 65%,#3f8f7f 100%);
}

/* body */
.ac-body{display:flex;flex-direction:column;gap:10px;padding:24px 24px 26px;flex:1;}
.ac-date{
  font-family:var(--font-eyebrow);font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--honey-deep);
}
.ac-title{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(22px,2.2vw,27px);line-height:1.12;letter-spacing:-.01em;
  color:var(--ink);margin:0;
}
.article-card:hover .ac-title{color:var(--teal-deep);}
.ac-excerpt{
  font-family:var(--font-body);font-size:15px;line-height:1.6;
  color:var(--ink-soft);margin:0;
}
.ac-more{
  margin-top:auto;padding-top:8px;
  font-family:var(--font-body);font-weight:600;font-size:13.5px;
  color:var(--teal-deep);display:inline-flex;align-items:center;gap:7px;
}
.ac-more i{font-style:normal;transition:transform .3s cubic-bezier(.16,1,.3,1);}
.article-card:hover .ac-more i{transform:translateX(5px);}

.articles-empty{
  font-family:var(--font-body);color:var(--ink-soft);font-size:17px;
  text-align:center;padding:48px 0;
}

/* ---------- SINGLE POST — premium reading layout -------------------- */

.article-single{background:var(--cream);}

/* hero: featured image with navy scrim + title overlaid; graceful with no image */
.article-hero{position:relative;min-height:64vh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;}
.article-hero .article-hero__img,
.article-hero .wp-block-post-featured-image{
  position:absolute;inset:0;z-index:-2;margin:0;
}
.article-hero .article-hero__img img,
.article-hero .wp-block-post-featured-image img{
  width:100%;height:100%;object-fit:cover;
}
.article-hero::before{                          /* fallback fill when no featured image */
  content:"";position:absolute;inset:0;z-index:-3;
  background:linear-gradient(168deg,#0c4360 0%,var(--navy) 72%,#062234 100%);
}
.article-hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(7,29,48,.42) 0%,rgba(7,29,48,.22) 38%,rgba(7,29,48,.92) 100%);
}
.article-hero__inner{
  width:100%;padding:0 28px clamp(48px,6vw,72px);position:relative;z-index:2;
  margin-inline:auto;
}
.article-hero .breadcrumb{margin-bottom:18px;}
.article-hero .breadcrumb a:hover{color:var(--honey);}
.article-meta{gap:16px;align-items:center;margin-bottom:14px;}
.article-eyebrow,
.article-hero .wp-block-post-date,
.article-hero .wp-block-post-terms{
  font-family:var(--font-eyebrow);font-size:13px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--honey-light);margin:0;
}
.article-hero .wp-block-post-terms a{color:var(--honey-light);text-decoration:none;}
.article-hero .wp-block-post-terms a:hover{color:var(--cream);}
.article-title{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(34px,5.4vw,68px);line-height:1.04;letter-spacing:-.02em;
  color:var(--cream);max-width:18ch;margin:0;
  text-shadow:0 2px 30px rgba(7,29,48,.4);
}

/* body — comfortable reading measure (~66–72ch), warm ink on cream */
.article-body{
  padding:clamp(48px,6vw,80px) 28px clamp(40px,5vw,64px);
}
.article-body .wp-block-post-content{
  font-family:var(--font-body);font-size:18.5px;line-height:1.75;
  color:var(--ink-soft);
}
.article-body .wp-block-post-content > *{margin-block:0 1.4em;}
.article-body p{max-width:68ch;}
.article-body h2{
  font-family:var(--font-display);font-weight:600;color:var(--ink);
  font-size:clamp(28px,3.4vw,40px);line-height:1.12;letter-spacing:-.01em;
  margin-top:1.8em;margin-bottom:.5em;
}
.article-body h3{
  font-family:var(--font-display);font-weight:600;color:var(--ink);
  font-size:clamp(23px,2.6vw,30px);line-height:1.18;
  margin-top:1.5em;margin-bottom:.4em;
}
.article-body a:not(.wp-element-button){
  color:var(--teal-deep);text-decoration:underline;
  text-underline-offset:3px;text-decoration-thickness:1px;
  text-decoration-color:rgba(26,125,110,.45);transition:text-decoration-color .25s,color .25s;
}
.article-body a:not(.wp-element-button):hover{
  color:var(--honey-deep);text-decoration-color:currentColor;
}
.article-body strong{color:var(--ink);font-weight:600;}
.article-body blockquote{
  border-left:3px solid var(--honey);margin:1.8em 0;padding:.2em 0 .2em 28px;max-width:64ch;
}
.article-body blockquote p{
  font-family:var(--font-accent);-webkit-text-stroke:.012em currentColor;
  font-size:clamp(22px,2.6vw,30px);line-height:1.3;color:var(--ink);
}
.article-body blockquote cite{
  display:block;margin-top:12px;font-family:var(--font-body);font-style:normal;
  font-size:14px;letter-spacing:.04em;color:var(--muted);
}
.article-body :where(img,.wp-block-image){border-radius:14px;overflow:hidden;}
.article-body figcaption{
  font-family:var(--font-body);font-size:13.5px;color:var(--muted);margin-top:10px;text-align:center;
}
.article-body ul,.article-body ol{max-width:66ch;padding-left:1.3em;}
.article-body li{margin-bottom:.5em;}
.article-body ul li::marker{color:var(--teal);}
.article-body ol li::marker{color:var(--honey-deep);font-variant-numeric:tabular-nums;}

/* foot rule + back link */
.article-foot{padding:0 28px clamp(64px,8vw,110px);}
.article-rule.article-rule{
  border:0;height:1px;max-width:100%;margin:0 0 24px;
  background:linear-gradient(90deg,transparent,rgba(169,184,163,.7),transparent);
}
.article-back a{
  font-family:var(--font-body);font-weight:600;font-size:14.5px;
  color:var(--teal-deep);text-decoration:none;
}
.article-back a:hover{color:var(--honey-deep);}

/* ---------- SEARCH --------------------------------------------------- */

.search-hero{
  min-height:auto;padding-top:clamp(120px,16vh,180px);
  padding-bottom:clamp(36px,5vw,56px);text-align:center;
  background:linear-gradient(168deg,#0c4360 0%,var(--navy) 78%,#062234 100%);
  align-items:center;
}
.search-hero::after,.search-hero::before{display:none;}
.search-hero .breadcrumb{justify-content:center;display:flex;gap:4px;}
.search-hero .eyebrow{color:var(--honey);}
.search-title,
.search-hero .wp-block-query-title{
  font-family:var(--font-display);font-weight:700;color:var(--cream);
  font-size:clamp(34px,5vw,60px);line-height:1.04;letter-spacing:-.02em;
  margin:6px auto 28px;
}

/* the search field — cream field, teal focus ring, honey button */
.hdwt-search{max-width:560px;margin-inline:auto;}
.hdwt-search .wp-block-search__inside-wrapper{
  background:var(--cream);border:1.5px solid rgba(169,184,163,.5);
  border-radius:50px;padding:6px 6px 6px 8px;
  box-shadow:0 18px 44px -26px rgba(7,29,48,.6);
  transition:border-color .25s,box-shadow .25s;
}
.hdwt-search:focus-within .wp-block-search__inside-wrapper{
  border-color:var(--teal);box-shadow:0 0 0 4px rgba(35,160,154,.25),0 18px 44px -26px rgba(7,29,48,.6);
}
.hdwt-search .wp-block-search__input{
  background:transparent;border:0;outline:none;color:var(--ink);
  font-family:var(--font-body);font-size:16px;padding:12px 16px;
}
.hdwt-search .wp-block-search__input::placeholder{color:var(--muted);}
.hdwt-search .wp-block-search__button{
  background:var(--honey);color:#3a2c10;border:0;border-radius:40px;
  font-family:var(--font-body);font-weight:600;font-size:14px;
  padding:11px 26px;margin:0;cursor:pointer;
  box-shadow:0 10px 24px -12px rgba(169,128,58,.55);
  transition:background .25s,transform .25s,box-shadow .25s;
}
.hdwt-search .wp-block-search__button:hover{background:#CBA55D;transform:translateY(-1px);}
.hdwt-search .wp-block-search__button:focus-visible{
  outline:2px solid var(--cream);outline-offset:2px;
}

/* results reuse the card grid; style the core query post-template cards 1:1 */
.search-results{padding-top:clamp(48px,6vw,80px);}
.search-results .wp-block-post-template.articles-grid{
  list-style:none;margin:0;padding:0;
  display:grid;gap:clamp(20px,2.4vw,32px);
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
}
.search-results .article-card{flex-direction:column;}
.search-results .article-card .ac-media{margin:0;display:block;aspect-ratio:16/10;}
.search-results .article-card .ac-title{
  margin:0;font-family:var(--font-display);font-weight:600;
  font-size:clamp(22px,2.2vw,27px);line-height:1.12;letter-spacing:-.01em;
}
.search-results .article-card .ac-title a{color:var(--ink);text-decoration:none;}
.search-results .article-card:hover .ac-title a{color:var(--teal-deep);}
.search-results .article-card .ac-date{
  font-family:var(--font-eyebrow);font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--honey-deep);
}
.search-results .article-card .ac-excerpt{
  font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-soft);
}

/* pagination */
.articles-pagination{gap:8px;margin-top:48px;}
.articles-pagination .wp-block-query-pagination-numbers,
.articles-pagination a,
.articles-pagination .page-numbers{
  font-family:var(--font-body);font-weight:600;font-size:14px;color:var(--teal-deep);
  text-decoration:none;
}
.articles-pagination .page-numbers.current{color:var(--honey-deep);}

/* ---------- responsive ---------------------------------------------- */
@media (max-width:560px){
  .articles-grid,
  .search-results .wp-block-post-template.articles-grid{grid-template-columns:1fr;}
  .article-body p,.article-body ul,.article-body ol{max-width:none;}
  .hdwt-search .wp-block-search__button{padding:11px 18px;}
}

/* ---------- ARCHIVE — left-aligned "Articles" title on cream, NO hero image ---------- */
.articles-index{ padding-top:clamp(118px,15vh,168px); }
.articles-head{ margin-bottom:clamp(30px,4.5vw,52px); }
.articles-head .eyebrow{ color:var(--honey-deep); margin-bottom:10px; }
.articles-h1{
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(40px,7vw,84px); line-height:1; letter-spacing:-.02em;
  color:var(--ink); margin:0;
}
.articles-head .page-sub{
  font-family:var(--font-body); font-size:17px; line-height:1.6;
  color:var(--ink-soft); max-width:54ch; margin-top:14px;
}
