/* News index follows the supplied editorial mock while header and footer stay shared. */
body:has(.twnews) .hero-section { display:none; }
body:has(.twnews) #main { background:#fff; }
body:has(.twnews) #main>.ct-container,
body:has(.twnews) #main>.ct-container-full { width:100%; max-width:none; padding:0; }
body:has(.twnews) #main>[data-vertical-spacing] { padding-block:0; }
body:has(.twnews) .entry-content { margin:0; }
body:has(.twnews) .entry-content>.wp-block-shortcode { width:100%; max-width:none; margin:0; }
.entry-content>.twnews { width:100%; max-width:none; }

.twnews { --news-navy:#0a2850; --news-muted:#526b90; --news-line:#dce6f0; --news-gold:#dfb861; color:var(--news-navy); font-family:Arial,Helvetica,sans-serif; }
.twnews *, .twnews *::before, .twnews *::after { box-sizing:border-box; }
.twnews__shell { width:min(100% - 5rem,1600px); margin-inline:auto; padding-block:1.8rem 4rem; }
.twnews h1, .twnews h2, .twnews h3, .twnews p, .twnews article, .twnews form { margin:0; }
.twnews a { color:inherit; }
.twnews a:focus-visible, .twnews select:focus-visible { outline:3px solid var(--news-gold); outline-offset:3px; }
.twnews__breadcrumbs { display:flex; align-items:center; gap:.7rem; margin-bottom:1.7rem; color:var(--news-muted); font-size:.87rem; }
.twnews__breadcrumbs a { text-decoration:none; }
.twnews__breadcrumbs a:hover { text-decoration:underline; }
.twnews__intro { margin-bottom:2rem; }
.twnews__intro h1 { font-size:clamp(2.1rem,3.4vw,3.3rem); line-height:1.08; font-weight:800; letter-spacing:-.035em; }
.twnews__intro p { margin-top:.45rem; color:var(--news-muted); font-size:clamp(1rem,1.2vw,1.18rem); line-height:1.5; }

.twnews-featured { display:grid; grid-template-columns:55% minmax(0,45%); min-height:22rem; margin-bottom:2.6rem !important; background:#f5f8fc; overflow:hidden; }
.twnews-featured__visual { display:block; height:100%; min-height:22rem; overflow:hidden; background:#dce5ee; }
.twnews-featured__image { display:block; width:100%; height:100%; object-fit:cover; }
.twnews-featured__body { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; padding:clamp(1.5rem,3vw,3rem); }
.twnews-featured time, .twnews-card time { display:block; color:var(--news-muted); font-size:.79rem; }
.twnews-featured h2 { margin-top:.85rem; max-width:19ch; font-size:clamp(1.5rem,2.25vw,2.4rem); line-height:1.18; font-weight:800; letter-spacing:-.025em; }
.twnews-featured h2 a, .twnews-card h3 a { text-decoration:none; }
.twnews-featured h2 a:hover, .twnews-card h3 a:hover { text-decoration:underline; }
.twnews-featured p { max-width:45ch; margin-top:1rem; color:var(--news-muted); font-size:1rem; line-height:1.5; }
.twnews-featured__button { display:inline-flex; align-items:center; justify-content:center; gap:1rem; min-height:3rem; margin-top:1.6rem; padding:.7rem 1.35rem; background:var(--news-gold); font-size:.88rem; font-weight:700; text-decoration:none; }
.twnews-featured__button:hover { background:#edc777; }

.twnews-list__bar { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.1rem; }
.twnews-list__bar h2 { font-size:clamp(1.6rem,2.5vw,2.3rem); line-height:1.15; font-weight:800; letter-spacing:-.025em; }
.twnews-sort { display:flex; align-items:center; gap:.7rem; white-space:nowrap; font-size:.86rem; }
.twnews-sort select { min-width:10.5rem; height:2.6rem; margin:0; padding:.35rem 2rem .35rem .7rem; border:1px solid var(--news-line); border-radius:3px; background:#fff; color:var(--news-navy); font-size:.86rem; }
.twnews-list__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.twnews-card { min-width:0; border:1px solid var(--news-line); border-radius:4px; overflow:hidden; background:#fff; }
.twnews-card__visual { display:block; aspect-ratio:2/1; overflow:hidden; background:#e1e8ee; }
.twnews-card__image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.twnews-card__visual:hover .twnews-card__image { transform:scale(1.025); }
.twnews-card__body { display:flex; flex-direction:column; min-height:13.5rem; padding:1.05rem 1.15rem 1.2rem; }
.twnews-card h3 { margin-top:.45rem; font-size:clamp(1.04rem,1.32vw,1.35rem); line-height:1.24; font-weight:800; }
.twnews-card p { margin-top:.5rem; color:var(--news-muted); font-size:.91rem; line-height:1.43; }
.twnews-card__link { display:inline-flex; gap:.65rem; align-items:center; align-self:flex-start; margin-top:auto; padding-top:1.1rem; font-size:.88rem; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.twnews-card__link span { color:#bd8e37; font-size:1.35rem; text-decoration:none; }
.twnews-list__empty { padding:2rem; border:1px solid var(--news-line); color:var(--news-muted); }
.twnews-pagination { display:flex; align-items:center; justify-content:center; gap:.55rem; margin-top:2rem; }
.twnews-pagination a, .twnews-pagination span { display:grid; place-items:center; width:2.55rem; height:2.55rem; border:1px solid var(--news-line); border-radius:50%; font-size:.9rem; text-decoration:none; }
.twnews-pagination a[aria-current="page"] { border-color:var(--news-gold); background:var(--news-gold); font-weight:700; }
.twnews-pagination a:hover:not([aria-current]) { background:#f1f6fa; }

@media(max-width:900px) {
  .twnews-featured { grid-template-columns:1fr 1fr; }
  .twnews-list__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
  .twnews__shell { width:calc(100% - 2rem); padding-block:1.3rem 2.5rem; }
  .twnews__breadcrumbs { margin-bottom:1.2rem; }
  .twnews__intro { margin-bottom:1.4rem; }
  .twnews-featured { display:block; min-height:0; margin-bottom:2rem !important; }
  .twnews-featured__visual { height:auto; min-height:0; aspect-ratio:1.5; }
  .twnews-featured__body { padding:1.35rem; }
  .twnews-featured h2 { max-width:none; }
  .twnews-featured__button { margin-top:1.2rem; }
  .twnews-list__bar { align-items:flex-start; flex-wrap:wrap; }
  .twnews-sort { width:100%; justify-content:space-between; }
  .twnews-list__grid { grid-template-columns:1fr; gap:1rem; }
  .twnews-card__body { min-height:0; }
}
@media(prefers-reduced-motion:reduce) { .twnews-card__image { transition:none; } }
