.news-page {
  min-height:100vh;
  background:#101b15;
  color:#f7faf7;
}

.news-page main {
  overflow:hidden;
}

.news-hero {
  position:relative;
  isolation:isolate;
  padding:86px 0 82px;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(ellipse at 80% 10%,rgba(125,191,85,.2),transparent 31%),
    radial-gradient(ellipse at 3% 100%,rgba(36,109,61,.34),transparent 38%),
    linear-gradient(135deg,#17251b,#101812 67%);
}

.news-hero:after {
  position:absolute;
  z-index:-1;
  top:-320px;
  right:-210px;
  width:700px;
  height:700px;
  border:1px solid rgba(197,230,164,.12);
  border-radius:50%;
  box-shadow:0 0 0 54px rgba(197,230,164,.025),0 0 0 112px rgba(197,230,164,.02);
  content:"";
}

.news-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  align-items:center;
  gap:clamp(36px,8vw,112px);
}

.news-hero-copy {
  position:relative;
  z-index:1;
}

.news-page .eyebrow {
  color:#a6d77b;
}

.news-page .eyebrow-light {
  color:#c5e6a4;
}

.news-hero h1 {
  margin:22px 0 22px;
  color:#fff;
  font-size:clamp(4.3rem,10vw,8.5rem);
  line-height:.82;
  letter-spacing:-.09em;
  text-transform:lowercase;
}

.news-hero h1 span {
  color:#c5e6a4;
}

.news-intro {
  max-width:710px;
  color:#c6d1c7;
  font-size:clamp(1.05rem,1.8vw,1.25rem);
  line-height:1.6;
}

.news-hero-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px 25px;
  margin-top:32px;
}

.news-page .button-light {
  background:#c5e6a4;
  color:#17251b;
}

.news-page .button-light:hover {
  background:#d8efbf;
}

.news-update-note {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#d3ded4;
  font-size:13px;
  font-weight:700;
}

.news-live-dot {
  width:8px;
  height:8px;
  border-radius:50%;
  background:#9cdb6f;
  box-shadow:0 0 0 5px rgba(156,219,111,.1);
  animation:news-pulse 2.2s ease-out infinite;
}

@keyframes news-pulse {
  50% { box-shadow:0 0 0 9px rgba(156,219,111,0); }
}

.news-signal {
  position:relative;
  overflow:hidden;
  min-height:300px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:28px;
  border:1px solid rgba(222,238,215,.2);
  border-radius:20px;
  background:linear-gradient(150deg,rgba(244,250,241,.12),rgba(244,250,241,.035));
  box-shadow:0 24px 70px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
}

.news-signal:after {
  position:absolute;
  right:-56px;
  bottom:-80px;
  width:210px;
  height:210px;
  border:30px solid rgba(197,230,164,.08);
  border-radius:50%;
  content:"";
}

.news-signal-top {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.news-signal-mark {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(197,230,164,.48);
  border-radius:50%;
  color:#c5e6a4;
  font-size:18px;
  font-weight:800;
}

.news-signal-label {
  color:#cad7ca;
  font-size:11px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.news-signal-kicker {
  position:relative;
  z-index:1;
  margin:35px 0 10px;
  color:#a6d77b;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.news-signal-title {
  position:relative;
  z-index:1;
  max-width:300px;
  color:#fff;
  font-size:clamp(1.7rem,3vw,2.25rem);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.055em;
}

.news-section {
  padding:72px 0 96px;
  background:#101812;
}

.news-section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
}

.news-section-heading h2,.news-source-intro h2,.news-crosslink h2 {
  margin-top:12px;
  color:#fff;
  font-size:clamp(2rem,4.4vw,3.5rem);
  line-height:1.02;
  letter-spacing:-.065em;
}

.news-search-note {
  padding-bottom:5px;
  color:#aeb9b0;
  font-size:12px;
}

.news-live-description {
  max-width:720px;
  margin:18px 0 25px;
  color:#aeb9b0;
  font-size:14px;
  line-height:1.65;
}

.news-refresh {
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:100px;
  background:transparent;
  color:#e9f0e8;
  font-size:12px;
  font-weight:800;
  transition:background .18s,border-color .18s,transform .18s;
}

.news-refresh:hover {
  transform:translateY(-1px);
  border-color:rgba(197,230,164,.6);
  background:rgba(197,230,164,.08);
}

.news-refresh:disabled {
  cursor:wait;
  opacity:.66;
}

.news-feed-meta {
  min-height:29px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-top:13px;
}

.news-feed-meta p,.news-feed-meta time {
  color:#aeb9b0;
  font-size:12px;
}

.news-feed-meta p[data-state="error"] {
  color:#f3bc92;
}

.news-feed-meta p[data-state="success"] {
  color:#c5e6a4;
}

.news-filter-row {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:24px 0 25px;
}

.news-filter {
  min-height:38px;
  padding:7px 14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:100px;
  background:transparent;
  color:#c7d0c8;
  font-size:12px;
  font-weight:700;
  transition:background .16s,border-color .16s,color .16s;
}

.news-filter:hover,.news-filter.is-active {
  border-color:rgba(197,230,164,.45);
  background:rgba(197,230,164,.1);
  color:#d7efbf;
}

.news-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}

.news-search-grid .news-card:not(.news-card-feature) {
  min-height:230px;
}

.news-card {
  min-width:0;
  min-height:250px;
  display:flex;
  flex-direction:column;
  padding:24px 25px 20px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  background:linear-gradient(140deg,#18231b,#141d17);
  transition:transform .2s,border-color .2s,background .2s;
}

.news-card:hover {
  transform:translateY(-3px);
  border-color:rgba(197,230,164,.38);
  background:linear-gradient(140deg,#1b2a20,#151f18);
}

.news-card-feature {
  grid-column:1 / -1;
  min-height:285px;
  padding:32px;
  border-color:rgba(197,230,164,.25);
  background:
    radial-gradient(circle at 96% 8%,rgba(197,230,164,.13),transparent 30%),
    linear-gradient(135deg,#1b2a20,#141d17 68%);
}

.news-card-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.news-category,.news-card-time {
  color:#afcf8f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.news-card-time {
  flex-shrink:0;
  color:#9da99e;
  letter-spacing:.02em;
  text-transform:none;
}

.news-card h3 {
  max-width:800px;
  margin:30px 0 12px;
  color:#fff;
  font-size:clamp(1.35rem,2.4vw,1.95rem);
  line-height:1.1;
  letter-spacing:-.05em;
}

.news-card-feature h3 {
  font-size:clamp(2rem,4vw,3.25rem);
}

.news-card h3 a {
  text-decoration:none;
}

.news-card h3 a:hover {
  color:#d7efbf;
}

.news-card-summary {
  max-width:800px;
  margin:0 0 22px;
  color:#b6c1b8;
  font-size:14px;
  line-height:1.6;
}

.news-card-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:auto;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.1);
}

.news-publisher {
  min-width:0;
  overflow:hidden;
  color:#e0e8e1;
  font-size:12px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.news-publisher a {
  color:inherit;
  text-decoration:none;
}

.news-publisher a:hover {
  color:#c5e6a4;
}

.news-story-link {
  flex-shrink:0;
  color:#c5e6a4;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}

.news-story-link:hover {
  color:#fff;
}

.news-empty {
  padding:44px 24px;
  border:1px dashed rgba(255,255,255,.22);
  border-radius:16px;
  text-align:center;
}

.news-empty h3 {
  color:#fff;
  font-size:20px;
}

.news-empty p {
  max-width:430px;
  margin:9px auto 0;
  color:#aeb9b0;
  font-size:13px;
}

.news-source-section {
  padding:68px 0 26px;
  border-top:1px solid rgba(255,255,255,.09);
  background:#17231a;
}

.news-source-grid {
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);
  align-items:start;
  gap:clamp(38px,8vw,110px);
}

.news-source-intro h2 {
  max-width:580px;
  margin-top:15px;
  font-size:clamp(2rem,4vw,3.2rem);
}

.news-source-intro p {
  max-width:480px;
  margin-top:17px;
  color:#bac7bc;
  font-size:14px;
}

.news-source-list {
  border-top:1px solid rgba(255,255,255,.16);
}

.news-source-list a {
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid rgba(255,255,255,.16);
  color:#f1f6f0;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.news-source-note {
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:52px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#a4b0a6;
  font-size:11px;
}

.news-crosslink {
  padding:58px 0;
  background:#101812;
}

.news-crosslink-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.news-crosslink h2 {
  max-width:720px;
  font-size:clamp(1.8rem,3.7vw,2.8rem);
}

.news-crosslink .button {
  flex-shrink:0;
}

.news-footer {
  padding:32px 0 22px;
  border-top:1px solid rgba(255,255,255,.1);
  background:#0d1510;
  color:#aab5ab;
}

.news-footer-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:20px 28px;
  font-size:12px;
}

.news-footer .brand {
  width:120px;
}

.news-footer nav {
  display:flex;
  flex-wrap:wrap;
  gap:11px 17px;
}

.news-footer nav a,.news-powered-by a {
  color:#dce5dc;
  text-decoration:none;
}

.news-footer nav a:hover,.news-powered-by a:hover {
  color:#c5e6a4;
}

.news-powered-by {
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:18px;
  font-size:11px;
}

@media(max-width:900px) {
  .news-hero-grid {
    grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
    gap:38px;
  }
  .news-grid {
    grid-template-columns:1fr;
  }
  .news-card-feature {
    grid-column:auto;
  }
  .news-source-grid {
    gap:42px;
  }
}

@media(max-width:700px) {
  .news-hero {
    padding:65px 0 58px;
  }
  .news-hero-grid,.news-source-grid {
    grid-template-columns:1fr;
  }
  .news-signal {
    min-height:240px;
  }
  .news-section {
    padding:57px 0 70px;
  }
  .news-section-heading {
    align-items:start;
  }
  .news-search-note {
    max-width:110px;
    padding:5px 0 0;
    text-align:right;
  }
  .news-refresh {
    padding-inline:12px;
  }
  .news-refresh span {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
  }
  .news-card,.news-card-feature {
    min-height:230px;
    padding:22px;
  }
  .news-card h3 {
    margin-top:24px;
    font-size:1.45rem;
  }
  .news-card-feature h3 {
    font-size:1.9rem;
  }
  .news-source-note {
    flex-direction:column;
    gap:5px;
    margin-top:38px;
  }
  .news-crosslink-inner {
    align-items:flex-start;
    flex-direction:column;
  }
  .news-footer-inner {
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:420px) {
  .news-page .container {
    width:calc(100% - 36px);
  }
  .news-hero h1 {
    font-size:clamp(4rem,19vw,5.2rem);
  }
  .news-hero-actions {
    align-items:flex-start;
    flex-direction:column;
  }
  .news-section-heading {
    gap:12px;
  }
  .news-feed-meta {
    align-items:flex-start;
    flex-direction:column;
  }
  .news-card-head {
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
  .news-card-foot {
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(prefers-reduced-motion:reduce) {
  .news-live-dot {
    animation:none;
  }
  .news-card,.news-refresh {
    transition:none;
  }
}

/* Daily News follows Hard2Simple's clear, light page structure and Lawnsy colors. */
.news-page {
  background:#f1f3ed;
  color:#15221b;
}

.news-page .site-header {
  border-bottom:1px solid #dce2d8;
  background:#f1f3ed;
}

.news-page .navigation>a:not(.button) {
  color:#26372b;
}

.news-page .navigation>a:not(.button):hover {
  color:#246d3d;
}

.news-hero {
  padding:24px 0 46px;
  border:0;
  background:#f1f3ed;
}

.news-hero:after {
  content:none;
}

.news-hero-panel {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);
  align-items:center;
  gap:clamp(30px,6vw,80px);
  padding:clamp(32px,6.5vw,76px);
  border-radius:28px;
  background:#14241c;
  box-shadow:0 16px 45px rgba(21,34,27,.1);
}

.news-hero-panel:after {
  position:absolute;
  z-index:0;
  right:-165px;
  top:-250px;
  width:520px;
  height:520px;
  border:1px solid rgba(197,230,164,.12);
  border-radius:50%;
  box-shadow:0 0 0 48px rgba(197,230,164,.025),0 0 0 100px rgba(197,230,164,.018);
  content:"";
  pointer-events:none;
}

.news-hero-copy,.news-signal {
  position:relative;
  z-index:1;
}

.news-hero h1 {
  max-width:790px;
  margin:20px 0 18px;
  font-size:clamp(3.4rem,8.5vw,6.4rem);
  line-height:.92;
  letter-spacing:-.075em;
  text-transform:none;
}

.news-hero h1 span {
  color:#c5e6a4;
}

.news-intro {
  max-width:620px;
  margin:0;
  color:#d4ddd5;
  font-size:clamp(1rem,1.7vw,1.16rem);
  line-height:1.6;
}

.news-hero-actions {
  margin-top:26px;
}

.news-hero .button-light {
  min-height:50px;
  padding:13px 22px;
  border-radius:10px;
  background:#c5e6a4;
  color:#14241c;
}

.news-signal {
  min-height:260px;
  justify-content:space-between;
  padding:24px;
  border:1px solid rgba(222,238,215,.22);
  border-radius:18px;
  background:rgba(244,250,241,.06);
  box-shadow:none;
  backdrop-filter:none;
}

.news-signal:after {
  border-color:rgba(197,230,164,.05);
}

.news-signal-title {
  max-width:320px;
  margin:0;
  font-size:clamp(1.45rem,2.5vw,2rem);
  line-height:1.1;
  letter-spacing:-.05em;
}

.news-refresh {
  align-self:flex-start;
  min-height:40px;
  padding:8px 13px;
  border-radius:9px;
  border-color:rgba(197,230,164,.4);
  background:#c5e6a4;
  color:#14241c;
}

.news-refresh:hover {
  border-color:#d8efbf;
  background:#d8efbf;
}

.news-refresh:disabled {
  cursor:wait;
}

.news-section {
  padding:64px 0 76px;
  background:#f1f3ed;
}

.news-section-heading h2,.news-source-intro h2,.news-crosslink h2 {
  color:#15221b;
  font-size:clamp(1.9rem,4vw,3.1rem);
  letter-spacing:-.06em;
}

.news-page .eyebrow {
  color:#246d3d;
}

.news-page .eyebrow-light {
  color:#c5e6a4;
}

.news-search-note,.news-live-description {
  color:#616960;
}

.news-live-description {
  max-width:760px;
}

.news-feedback {
  margin:14px 0 0;
  color:#a63f28;
  font-size:13px;
}

.news-feedback[hidden] {
  display:none;
}

.news-feed-meta p,.news-feed-meta time {
  color:#616960;
}

.news-feed-meta p[data-state="error"] {
  color:#a63f28;
}

.news-feed-meta p[data-state="success"] {
  color:#246d3d;
}

.news-filter {
  border-color:#d1d9d0;
  background:#fff;
  color:#34443a;
}

.news-filter:hover,.news-filter.is-active {
  border-color:#246d3d;
  background:#246d3d;
  color:#fff;
}

.news-latest-section {
  border-top:1px solid #dce2d8;
  background:#fff;
}

.news-card {
  min-height:230px;
  padding:24px;
  border-color:#dce2d8;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 20px rgba(21,34,27,.035);
}

.news-card:hover {
  transform:translateY(-2px);
  border-color:#a9c899;
  background:#fbfcf9;
}

.news-card-feature {
  min-height:0;
  padding:clamp(24px,4vw,38px);
  border-color:#dce2d8;
  background:#fff;
}

.news-category {
  color:#246d3d;
}

.news-card-time {
  color:#667267;
}

.news-card h3 {
  margin-top:22px;
  color:#15221b;
  font-size:clamp(1.25rem,2.2vw,1.75rem);
  letter-spacing:-.045em;
}

.news-card-feature h3 {
  max-width:820px;
  margin-top:18px;
  font-size:clamp(1.8rem,3.8vw,2.75rem);
}

.news-card-summary {
  color:#59635b;
  font-size:14px;
}

.news-card-foot {
  border-color:#e4e9e2;
}

.news-publisher {
  color:#34443a;
}

.news-story-link {
  color:#246d3d;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}

.news-story-link:hover {
  color:#14241c;
}

.news-empty,.news-loading {
  grid-column:1 / -1;
  padding:30px 24px;
  border:1px dashed #cbd5cb;
  border-radius:14px;
  color:#59635b;
  text-align:center;
}

.news-empty h3 {
  color:#15221b;
}

.news-empty p {
  color:#616960;
}

.news-loading {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border-style:solid;
}

.news-source-section {
  padding:62px 0 24px;
  background:#14241c;
}

.news-source-intro h2 {
  color:#fff;
}

.news-source-intro p {
  color:#cad4cb;
}

.news-source-list a {
  color:#f1f6f0;
}

.news-source-note {
  color:#bec9bf;
}

.news-crosslink {
  background:#f1f3ed;
}

.news-crosslink .button {
  border-radius:10px;
}

.news-footer {
  border-color:#dce2d8;
  background:#e9ede6;
  color:#59635b;
}

.news-footer nav a,.news-powered-by a {
  color:#34443a;
}

@media(max-width:760px) {
  .news-hero-panel {
    grid-template-columns:1fr;
    gap:28px;
    padding:34px;
  }
  .news-signal {
    min-height:0;
  }
}

@media(max-width:420px) {
  .news-hero {
    padding-top:16px;
  }
  .news-hero-panel {
    padding:26px 22px;
    border-radius:20px;
  }
  .news-hero h1 {
    font-size:clamp(3rem,16vw,4rem);
  }
  .news-card-head {
    align-items:flex-start;
    flex-direction:row;
  }
  .news-card-time {
    text-align:right;
  }
}
