/* ICG Daily News (v2: AI headlines): cards, headline strip and the /daily-news/ page parts. Uses the colour tokens of the page it sits in. */
.dn-sec{ padding:56px 0 8px; }
.dn-sec[hidden]{ display:none; }
.dn-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:10px 24px; margin:0 0 22px; }
.dn-head h2{ font-family:'Fraunces',Georgia,serif; font-size:clamp(26px,4.2vw,36px); margin:0; font-weight:600; color:var(--ink); line-height:1.15; text-wrap:balance; }
.dn-head .dn-date{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.08em; color:var(--ink-faint); margin-top:6px; }
.dn-more{ display:inline-flex; align-items:center; min-height:44px; padding:10px 18px; border-radius:999px; border:2px solid var(--navy); color:var(--navy); text-decoration:none; font:700 13.5px 'IBM Plex Mono',monospace; }
.dn-more:hover{ background:var(--surface-2); }
.dn-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr)); gap:20px; }
.dn-card{ display:flex; flex-direction:column; min-width:0; background:var(--surface); border:1px solid var(--border-soft); border-radius:18px; overflow:hidden; text-decoration:none; color:inherit; box-shadow:var(--shadow); transition:transform .14s ease; }
.dn-card:hover{ transform:translateY(-4px); }
.dn-card:focus-visible{ outline:3px solid var(--teal); outline-offset:3px; }
.dn-img{ position:relative; aspect-ratio:16/9; background:var(--surface-2); overflow:hidden; border-bottom:4px solid var(--teal); }
.dn-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.dn-fb{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#173F5F,#2E8B7A); }
.dn-fb-l{ font-family:'Fraunces',Georgia,serif; font-weight:700; font-size:54px; color:rgba(255,255,255,.85); }
.dn-t-jobs{ background:linear-gradient(135deg,#6B4E12,#B8862B); }
.dn-t-tech{ background:linear-gradient(135deg,#2A2F6B,#5B6FD6); }
.dn-t-education{ background:linear-gradient(135deg,#1F6656,#3FA98F); }
.dn-t-general{ background:linear-gradient(135deg,#173F5F,#2E6F8E); }
.dn-topic{ position:absolute; left:10px; bottom:10px; max-width:calc(100% - 20px); padding:5px 10px; border-radius:999px; background:rgba(11,33,51,.82); color:#fff; font:600 11px 'IBM Plex Mono',monospace; letter-spacing:.04em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dn-b{ padding:16px 18px 18px; display:flex; flex-direction:column; gap:8px; flex:1; min-width:0; }
.dn-meta{ display:flex; flex-wrap:wrap; gap:2px 6px; font:600 12px 'IBM Plex Mono',monospace; color:var(--teal-deep); letter-spacing:.02em; }
.dn-time,.dn-dot{ color:var(--ink-faint); font-weight:500; }
.dn-b h3{ font-family:'Fraunces',Georgia,serif; font-size:19px; line-height:1.3; font-weight:600; margin:0; color:var(--ink); overflow-wrap:anywhere; }
.dn-check{ position:absolute; right:10px; top:10px; padding:4px 9px; border-radius:999px; background:rgba(15,44,68,.86); color:#9FE3CF; font:700 11px 'IBM Plex Mono',monospace; letter-spacing:.03em; white-space:nowrap; }
.dn-check-single{ color:#F0C45A; }
.dn-mean{ display:flex; flex-direction:column; gap:3px; margin:2px 0 0; padding:10px 12px; border-left:4px solid var(--teal); background:var(--surface-2); border-radius:0 10px 10px 0; }
.dn-mean-l{ font:700 11px 'IBM Plex Mono',monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--teal-deep); }
.dn-mean-t{ font-size:14px; line-height:1.5; color:var(--ink); overflow-wrap:anywhere; }
.dn-b p{ margin:0; font-size:14px; line-height:1.55; color:var(--ink-soft); overflow-wrap:anywhere; }
.dn-credit{ margin-top:auto; padding-top:6px; font:700 12.5px 'Public Sans',sans-serif; color:var(--teal-deep); }
.dn-arrow{ display:inline-block; }
.dn-note{ margin:18px 0 0; font-size:13px; line-height:1.6; color:var(--ink-faint); max-width:70ch; }

/* the "Today" headline strip on the home page */
.dn-ticker{ display:flex; align-items:stretch; background:#0B2133; border-top:1px solid rgba(255,255,255,.07); border-bottom:1px solid rgba(255,255,255,.07); overflow:hidden; }
.dn-ticker[hidden]{ display:none; }
.dn-lab{ flex:none; display:flex; align-items:center; gap:8px; padding:0 16px; background:#F0C45A; color:#0F2C44; font:800 12px 'IBM Plex Mono',monospace; letter-spacing:.14em; text-transform:uppercase; position:relative; z-index:1; }
.dn-lab::before{ content:""; width:8px; height:8px; border-radius:50%; background:#0F2C44; }
.dn-view{ flex:1; min-width:0; overflow:hidden; }
.dn-track{ display:flex; width:max-content; animation:dnTick 120s linear infinite; }
.dn-ticker:hover .dn-track,.dn-ticker:focus-within .dn-track{ animation-play-state:paused; }
.dn-set{ display:flex; flex:none; }
.dn-tk{ display:inline-flex; align-items:center; gap:10px; padding:14px 34px 14px 0; margin-left:26px; white-space:nowrap; color:#E4E9ED; text-decoration:none; font:600 15px/1 'Public Sans',sans-serif; }
.dn-tk:hover{ color:#F0C45A; text-decoration:underline; }
.dn-tk:focus-visible{ outline:2px solid #F0C45A; outline-offset:2px; }
.dn-tk-s{ font:600 11px 'IBM Plex Mono',monospace; letter-spacing:.08em; text-transform:uppercase; color:#F0C45A; }
@keyframes dnTick{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){
  .dn-view{ overflow-x:auto; }
  .dn-track{ animation:none; }
  .dn-set[aria-hidden="true"]{ display:none; }
}

/* /daily-news/ page */
.dn-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.dn-chip{ min-height:44px; padding:9px 16px; border-radius:999px; border:1.5px solid var(--border); background:var(--surface); color:var(--ink-soft); font:700 13.5px 'Public Sans',sans-serif; cursor:pointer; }
.dn-chip:hover{ border-color:var(--teal); color:var(--teal-deep); }
.dn-chip.on{ background:var(--navy); border-color:var(--navy); color:var(--surface); }
.dn-chip:focus-visible{ outline:3px solid var(--teal); outline-offset:2px; }
.dn-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:20px; }
.dn-list .dn-big{ grid-column:1 / -1; }
@media (min-width:760px){
  .dn-list .dn-big{ flex-direction:row; }
  .dn-list .dn-big .dn-img{ flex:0 0 52%; aspect-ratio:auto; min-height:280px; border-bottom:0; border-right:4px solid var(--teal); }
  .dn-list .dn-big .dn-b{ padding:24px 26px; justify-content:center; }
  .dn-list .dn-big h3{ font-size:26px; }
  .dn-list .dn-big p{ font-size:15.5px; }
}
.dn-status{ padding:28px 18px; text-align:center; border:1px dashed var(--border); border-radius:16px; color:var(--ink-soft); font-size:15px; line-height:1.6; }
@media (max-width:600px){ .dn-more{ width:100%; justify-content:center; } .dn-lab{ padding:0 12px; } .dn-fb-l{ font-size:44px; } }
