/* Doom Desk styles. Loaded AFTER ../css/style.css (reuses its fonts, colours and header).
   Plain CSS, no build step. Scoped to the desk pages (hub, clock builder, birthday, almanac). */

.desk-hero { padding: 1.6rem 0 1rem; }
.desk-hero .page-title { margin-bottom: .4rem; }
.desk-hero .lede { margin: 0; }
button, input, select, textarea { font: inherit; }
.btn { cursor: pointer; }
.btn:focus-visible, .seg button:focus-visible, .desk-input:focus-visible, .desk-select:focus-visible { outline: 2px solid var(--hazard); outline-offset: 2px; }
.fine { font-family: var(--mono); font-size: .7rem; color: var(--dim); letter-spacing: .04em; }
.toast { position: fixed; left: 50%; top: 1rem; transform: translate(-50%, -150%); z-index: 50; background: var(--ink); color: #160a04; font-family: var(--mono); font-weight: 700; font-size: .8rem;
  letter-spacing: .06em; padding: .6rem 1rem; transition: transform .2s ease; max-width: 90vw; text-align: center; }
.toast.show { transform: translate(-50%, 0); }
.tag { font-family: var(--mono); font-size: .64rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; padding: .12rem .45rem; background: var(--alive); color: #0f1a08; }
.tag.soon { background: transparent; color: var(--hazard); border: 1px dashed var(--hazard); font-weight: 700; }
.tag.ref { background: var(--ice); color: #06141a; }
.tag.toy { background: var(--hazard); color: #1a1204; }

/* ---------- hub ---------- */
.desk-wire { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0; border-top: 3px solid var(--ink); border-bottom: 1px solid var(--line); margin-bottom: 1.6rem; }
.desk-wire > div { padding: .9rem 1.2rem .9rem 0; }
.desk-wire > div + div { border-left: 1px solid var(--line); padding-left: 1.2rem; padding-right: 0; }
.wire-k { font-family: var(--mono); font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--dim); margin: 0 0 .25rem; }
.wire-big { font-family: var(--display); font-weight: 900; font-size: clamp(1.35rem, 2.6vw, 1.9rem); line-height: 1.1; margin: 0 0 .3rem; color: var(--ink); }
.wire-big a { color: var(--ink); }
.wire-big a:hover { color: var(--hazard); text-decoration: none; }
.wire-num { font-family: var(--mono); font-weight: 800; color: var(--hazard); font-variant-numeric: tabular-nums; }
.desk-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 3px solid var(--ink); }
.tool-card { padding: 1rem 1.3rem 1.3rem; display: flex; flex-direction: column; gap: .55rem; border-left: 1px solid var(--line); }
.tool-card:first-child { border-left: 0; padding-left: 0; }
.tool-card:last-child { padding-right: 0; }
.tool-card h3 { font-family: var(--display); font-weight: 900; font-size: clamp(1.55rem, 2.5vw, 2.1rem); line-height: 1.02; margin: 0; overflow-wrap: anywhere; }
.tool-card h3 a { color: var(--ink); }
.tool-card h3 a:hover { color: var(--hazard); text-decoration: none; }
.tool-card .hook { font-size: 1.14rem; font-style: italic; color: var(--text); margin: 0; }
.tool-card p { margin: 0; color: var(--muted); }
.tool-card .btn { align-self: flex-start; margin-top: auto; }
.tool-art { border: 1px solid var(--line); background: rgba(0,0,0,.22); padding: .8rem .95rem; font-family: var(--mono); font-size: .86rem; line-height: 1.5; color: var(--text); white-space: pre; overflow: hidden; min-height: 7.2rem; }
.tool-art b { color: var(--hazard); }
.tool-art i { color: var(--alive); font-style: normal; }
.soon-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem 0; }
.soon-card { border-left: 1px solid var(--line); padding: 0 1.1rem .3rem; display: flex; flex-direction: column; gap: .4rem; }
.soon-card:nth-child(4n+1) { border-left: 0; padding-left: 0; }
.soon-card::before { content: ""; display: block; border-top: 2px solid var(--ink); margin-bottom: .25rem; }
.soon-card h3 { font-family: var(--display); font-weight: 800; font-size: 1.25rem; line-height: 1.1; margin: 0; color: var(--ink); }
.soon-card p { margin: 0; color: var(--muted); font-size: .96rem; }
.soon-card .hook { color: var(--text); font-style: italic; }

/* ---------- shared controls ---------- */
.seg { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--line); }
.seg button { background: transparent; color: var(--muted); border: 0; border-left: 1px solid var(--line); padding: .45rem .85rem; cursor: pointer;
  font-family: var(--mono); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.seg button:first-child { border-left: 0; }
.seg button[aria-pressed="true"] { background: var(--ember); color: #160a04; }
.desk-input, .desk-select { background: var(--bg-2); color: var(--ink); border: 1px solid var(--line); padding: .55rem .7rem; border-radius: var(--radius); max-width: 100%; }
.desk-input:focus, .desk-select:focus { border-color: var(--ember); outline: none; }
.desk-select { font-family: var(--body); font-size: 1rem; width: 100%; }
.field { display: flex; flex-direction: column; gap: .3rem; margin-bottom: .9rem; }
.field > span, .field > label { font-family: var(--mono); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--dim); }
.code-box { position: relative; border: 1px solid var(--line); background: #0e0c09; margin: .3rem 0 1rem; }
.code-box textarea { display: block; width: 100%; min-height: 6.2rem; resize: vertical; background: transparent; color: var(--alive); border: 0; padding: .75rem 5.2rem .75rem .8rem; font-family: var(--mono); font-size: .76rem; line-height: 1.5; }
.code-box .btn { position: absolute; right: .4rem; top: .4rem; }
.code-head { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; flex-wrap: wrap; }
.code-head h3 { font-family: var(--display); font-size: 1.15rem; margin: 0; }

/* ---------- clock page ---------- */
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 1.4rem 1.4rem; align-items: start; }
.specimen { margin: 0; }
.specimen figcaption { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; font-family: var(--mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--dim); border-top: 2px solid var(--ink); padding: .35rem 0 .45rem; }
.specimen figcaption button { background: none; border: 0; color: var(--ember-2); cursor: pointer; font: inherit; letter-spacing: inherit; text-transform: inherit; padding: 0; }
.specimen figcaption button:hover { color: var(--hazard); }
.specimen.wide { grid-column: 1 / -1; }
.specimen iframe, .preview-stage iframe { display: block; border: 0; max-width: 100%; background: transparent; }
.builder { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 1.6rem; align-items: start; }
.builder-controls { border-top: 3px solid var(--ink); padding-top: .8rem; }
.preview-stage { border: 1px dashed var(--line); padding: 1.2rem; min-height: 180px; display: flex; align-items: center; justify-content: center;
  background: repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 10px, transparent 10px 20px); }
.preview-stage.light-page { background: #efe6d5; }
.preview-note { margin: .4rem 0 1rem; }

/* ---------- birthday ---------- */
.bday-form { display: flex; flex-wrap: wrap; gap: .9rem 1.2rem; align-items: flex-end; border-top: 3px solid var(--ink); border-bottom: 1px solid var(--line); padding: 1rem 0; }
.bday-form .field { margin: 0; }
.bday-form .desk-input { font-size: 1.1rem; min-width: 12rem; }
.bday-form .check { display: flex; gap: .45rem; align-items: center; font-size: .95rem; color: var(--muted); }
.privacy { display: flex; gap: .5rem; align-items: baseline; margin: .7rem 0 0; color: var(--muted); font-size: .96rem; }
.privacy b { font-family: var(--mono); font-size: .68rem; letter-spacing: .14em; color: var(--alive); text-transform: uppercase; white-space: nowrap; }
.bday-msg { margin: 1.2rem 0 0; font-size: 1.1rem; }
.bday-msg:empty { display: none; }
.cert { position: relative; margin: 1.6rem 0 1.2rem; border: 3px double var(--ink); outline: 1px solid var(--line); outline-offset: 5px; padding: 1.6rem 1.8rem 1.4rem; text-align: center;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,210,63,.07), transparent 60%), rgba(0,0,0,.18); }
.cert .kick { font-family: var(--mono); font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: var(--dim); margin: 0; }
.cert h2 { font-family: var(--np-font); font-weight: 400; font-size: clamp(2.2rem, 6vw, 4rem); line-height: 1; margin: .35rem 0 .3rem; color: var(--ink); overflow-wrap: anywhere; }
.cert h2 .n { color: var(--hazard); }
.cert .rank { font-family: var(--display); font-style: italic; font-size: clamp(1.1rem, 2.4vw, 1.45rem); color: var(--text); margin: 0 0 .7rem; }
.cert .fine-print { max-width: 60ch; margin: 0 auto; color: var(--muted); }
.cert .seal { position: absolute; right: 1.1rem; top: 1rem; transform: rotate(8deg); border: 2px solid var(--alive); outline: 1px solid var(--alive); outline-offset: 2px; color: var(--alive);
  font-family: var(--mono); font-weight: 800; letter-spacing: .14em; font-size: .7rem; padding: .25rem .5rem; text-transform: uppercase; background: var(--bg); }
.bday-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); margin: 0 0 1.6rem; }
.bday-stats div { padding: .8rem .9rem; border-left: 1px solid var(--line); background: rgba(0,0,0,.14); }
.bday-stats div:first-child { border-left: 0; }
.bday-stats b { display: block; font-family: var(--display); font-weight: 900; font-size: clamp(1.25rem, 2.4vw, 1.75rem); color: var(--ink); line-height: 1.1; }
.bday-stats span { font-family: var(--mono); font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; color: var(--dim); }
.life-cols { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 2rem; }
.life { list-style: none; margin: 0; padding: 0; position: relative; }
.life::before { content: ""; position: absolute; left: 3.35rem; top: .3rem; bottom: .3rem; width: 2px; background: var(--line); }
.life li { display: grid; grid-template-columns: 2.7rem 1.4rem minmax(0, 1fr); gap: .5rem; padding: .45rem 0; align-items: start; }
.life .age { font-family: var(--mono); font-weight: 800; font-size: 1.1rem; color: var(--hazard); text-align: right; line-height: 1.3; }
.life .age small { display: block; font-size: .56rem; letter-spacing: .12em; color: var(--dim); font-weight: 700; text-transform: uppercase; }
.life .dot { width: .8rem; height: .8rem; border-radius: 50%; background: var(--alive); margin: .35rem auto 0; position: relative; box-shadow: 0 0 0 3px var(--bg); }
.life .ev { color: var(--text); }
.life .ev a { color: var(--ink); font-weight: 600; }
.life .ev .when { display: block; font-family: var(--mono); font-size: .66rem; color: var(--dim); letter-spacing: .06em; margin-top: .1rem; }
.life li.born .dot { background: var(--ice); }
.life li.born .age { color: var(--ice); }
.life li.now .dot { background: var(--ember); }
.life li.ahead .dot { background: var(--hazard); }
.life li.ahead .age { color: var(--hazard); }
.life li.before .dot { background: var(--dim); }
.life li.before .age { color: var(--dim); }
.life-note { color: var(--muted); font-style: italic; margin: .2rem 0 .8rem; }
.share-row { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin: .6rem 0 1rem; }
.share-canvas { display: block; width: 100%; max-width: 600px; height: auto; border: 1px solid var(--line); }
.share-text { width: 100%; min-height: 5.2rem; background: #0e0c09; color: var(--text); border: 1px solid var(--line); padding: .7rem; font-family: var(--mono); font-size: .8rem; resize: vertical; }

/* ---------- almanac ---------- */
.alm-top { display: flex; justify-content: space-between; align-items: center; gap: .6rem 1rem; flex-wrap: wrap; border-top: 3px solid var(--ink); border-bottom: 1px solid var(--line); padding: .5rem 0; margin-bottom: 1.2rem; }
.alm-top a { font-family: var(--mono); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; }
.alm-top .mid { display: flex; gap: 1rem; flex-wrap: wrap; }
.alm-months { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.6rem 1.4rem; }
.alm-month h3 { font-family: var(--display); font-weight: 900; font-size: 1.3rem; margin: 0 0 .45rem; border-top: 2px solid var(--ink); padding-top: .35rem; display: flex; justify-content: space-between; align-items: baseline; }
.alm-month h3 span { font-family: var(--mono); font-size: .62rem; letter-spacing: .12em; color: var(--dim); font-weight: 700; text-transform: uppercase; }
.alm-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.alm-days a { display: flex; flex-direction: column; align-items: center; justify-content: center; aspect-ratio: 1; font-family: var(--mono); font-size: .78rem; color: var(--muted);
  border: 1px solid var(--line-soft); position: relative; text-decoration: none; background: rgba(0,0,0,.12); }
.alm-days a:hover { border-color: var(--hazard); color: var(--ink); }
.alm-days a.has { color: var(--ink); font-weight: 800; border-color: var(--line); background: rgba(255,90,31,.12); }
.alm-days a.has.busted { background: rgba(166,238,124,.12); }
.alm-days a.has.clock { background: rgba(255,210,63,.16); }
.alm-days a .pips { display: flex; gap: 2px; margin-top: 2px; height: 5px; }
.alm-days a .pips i { width: 5px; height: 5px; border-radius: 50%; background: var(--ember); }
.alm-days a .pips i.failed { background: var(--alive); }
.alm-days a .pips i.upcoming { background: var(--hazard); }
.alm-days a.today { outline: 2px solid var(--ember); outline-offset: 1px; }
.alm-legend { display: flex; gap: 1.1rem; flex-wrap: wrap; font-family: var(--mono); font-size: .68rem; color: var(--muted); letter-spacing: .06em; margin: 0 0 1.2rem; }
.alm-legend i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: .35rem; vertical-align: middle; }
.alm-day-head { text-align: center; padding: 1.4rem 0 1rem; }
.alm-day-head .date-plate { display: inline-block; border: 3px double var(--ink); padding: .5rem 1.4rem .6rem; margin: .2rem 0 .8rem; }
.alm-day-head .date-plate .mo { display: block; font-family: var(--mono); font-size: .8rem; letter-spacing: .3em; text-transform: uppercase; color: var(--ember-2); font-weight: 700; }
.alm-day-head .date-plate .dy { display: block; font-family: var(--display); font-weight: 900; font-size: clamp(3.2rem, 9vw, 5.2rem); line-height: 1; color: var(--ink); }
.alm-day-head h1 { font-family: var(--display); font-weight: 900; font-size: clamp(1.7rem, 4vw, 2.7rem); line-height: 1.08; margin: 0 auto .5rem; max-width: 24ch; }
.alm-day-head .lede { margin: 0 auto; }
.alm-events { list-style: none; margin: 0; padding: 0; border-top: 3px solid var(--ink); }
.alm-ev { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1.2rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.alm-ev .yr { font-family: var(--mono); font-weight: 800; font-size: 1.7rem; color: var(--ink); line-height: 1; }
.alm-ev .yr small { display: block; font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--dim); margin-top: .35rem; }
.alm-ev h3 { font-family: var(--display); font-weight: 800; font-size: 1.35rem; line-height: 1.15; margin: .25rem 0 .3rem; }
.alm-ev h3 a { color: var(--ink); }
.alm-ev h3 a:hover { color: var(--hazard); text-decoration: none; }
.alm-ev p { margin: .2rem 0; color: var(--muted); }
.alm-ev .kind { font-family: var(--mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; }
.alm-ev .kind.said { color: var(--ice); }
.alm-ev .kind.deadline { color: var(--ember-2); }
.alm-ev .kind.closed { color: var(--alive); }
.alm-ev .kind.upcoming { color: var(--hazard); }
.alm-ev .quip { color: var(--text); font-style: italic; }
.alm-quiet { border: 1px solid var(--line); border-left: 3px solid var(--hazard); padding: 1rem 1.2rem; background: rgba(0,0,0,.16); margin: 0 0 1.4rem; }
.alm-quiet p { margin: .2rem 0 .5rem; }
.alm-near { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 3px solid var(--ink); margin: 0 0 1.4rem; }
.alm-near > div { padding: .9rem 1.2rem .9rem 0; }
.alm-near > div + div { border-left: 1px solid var(--line); padding-left: 1.2rem; padding-right: 0; }
.alm-near h3 { font-family: var(--display); font-size: 1.2rem; margin: .2rem 0 .3rem; }
.alm-near p { margin: .2rem 0; color: var(--muted); }
.filler-label { font-family: var(--mono); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--dim); }
.alm-pager { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--line); border-bottom: 3px solid var(--ink); padding: .7rem 0; margin-top: 1.6rem; }
.alm-pager a { font-family: var(--display); font-weight: 800; font-size: 1.1rem; }
.alm-pager a small { display: block; font-family: var(--mono); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--dim); font-weight: 700; }
.alm-pager .next { text-align: right; }
.alm-busy { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 2rem; }
.alm-busy li { break-inside: avoid; padding: .3rem 0; border-bottom: 1px solid var(--line-soft); }
.alm-busy .d { font-family: var(--mono); font-weight: 800; color: var(--hazard); margin-right: .4rem; }

@media (max-width: 1000px) {
  .desk-grid { grid-template-columns: 1fr; }
  .tool-card { border-left: 0; padding: 1rem 0 1.3rem; border-top: 1px solid var(--line); }
  .tool-card:first-child { border-top: 0; }
  .soon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .soon-card:nth-child(4n+1) { border-left: 1px solid var(--line); padding-left: 1.1rem; }
  .soon-card:nth-child(2n+1) { border-left: 0; padding-left: 0; }
  .alm-months { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .builder { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .desk-wire, .alm-near, .life-cols { grid-template-columns: 1fr; }
  .desk-wire > div + div, .alm-near > div + div { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); }
  .bday-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bday-stats div:nth-child(3) { border-left: 0; }
  .bday-stats div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .alm-months { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .alm-busy { columns: 1; }
  .gallery { grid-template-columns: 1fr; }
  .cert { padding: 1.4rem 1rem 1.2rem; }
  .cert .seal { position: static; display: inline-block; margin-bottom: .6rem; }
}
@media (max-width: 480px) {
  .soon-grid { grid-template-columns: 1fr; }
  .soon-card, .soon-card:nth-child(4n+1), .soon-card:nth-child(2n+1) { border-left: 0; padding-left: 0; }
  .alm-ev { grid-template-columns: 1fr; gap: .3rem; }
  .alm-months { grid-template-columns: 1fr 1fr; gap: 1.2rem .8rem; }
  .alm-days a { font-size: .7rem; }
}
.linkish { background: none; border: 0; color: var(--ember-2); cursor: pointer; font-family: var(--mono); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; padding: .2rem 0; }
.linkish:hover { color: var(--hazard); }
.linkish:focus-visible { outline: 2px solid var(--hazard); outline-offset: 2px; }
/* 7-item nav (Doom Desk added): let a lone last item span the row on phones. Same line suggested for css/style.css in DESK.md. */
@media (max-width: 640px) { .nav a:last-child:nth-child(3n+1) { grid-column: 1 / -1; } }

/* ---------- hub feature sections (v5) ---------- */
.feat { padding: 2rem 0; }
.feat + .feat { padding-top: .6rem; }
.feat-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.4rem; align-items: center; border-top: 3px solid var(--ink); padding-top: 1.4rem; }
.feat-flip .feat-copy { order: 2; }
.feat-flip .feat-art { order: 1; }
.feat-kick { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .8rem; margin: 0 0 .5rem; font-family: var(--mono); font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--ember-2); }
.feat-meta { font-weight: 500; letter-spacing: .1em; color: var(--dim); font-size: .66rem; }
.feat-title { font-family: var(--display); font-weight: 900; font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.06; margin: 0 0 .6rem; color: var(--ink); }
.feat-what { font-size: 1.14rem; color: var(--text); margin: 0 0 1rem; max-width: 52ch; }
.feat-list { margin: 0 0 1.1rem; padding-left: 1.1rem; color: var(--muted); }
.feat-list li { margin-bottom: .2rem; }
.feat-cta { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 0; }
.feat-art { margin: 0; min-width: 0; }
.feat-art figcaption { margin-top: .5rem; }
.feat-widget { display: flex; flex-direction: column; align-items: center; }
.feat-widget iframe { display: block; border: 0; max-width: 100%; }
/* the headline feature: bigger, warmer */
.feat-lead .feat-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); border-top-width: 4px; padding: 1.8rem 0 .4rem; background: radial-gradient(ellipse at 80% 40%, rgba(255,210,63,.06), transparent 60%); }
.feat-lead .feat-title { font-size: clamp(2.1rem, 4.6vw, 3.5rem); }
.feat-lead .feat-what { font-size: 1.24rem; }
.feat-form label { display: block; font-family: var(--mono); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--dim); margin-bottom: .3rem; }
.feat-form-row { display: flex; flex-wrap: wrap; gap: .6rem; align-items: stretch; }
.feat-form-row .desk-input { font-size: 1.15rem; min-width: 12rem; }
.feat-form .fine { margin-top: .55rem; }
.cert-sample { margin: 0; }
.cert-sample h2 { font-size: clamp(1.8rem, 3.6vw, 2.8rem); }
.cert-lines { list-style: none; margin: .4rem auto 0; padding: 0; max-width: 30rem; text-align: left; }
.cert-lines li { display: flex; gap: .6rem; align-items: baseline; padding: .3rem 0; border-top: 1px solid var(--line-soft); color: var(--text); }
.cert-lines b { font-family: var(--mono); color: var(--hazard); min-width: 4.2rem; font-size: .9rem; }
.cert-lines span { margin-left: auto; font-family: var(--mono); font-size: .64rem; color: var(--dim); white-space: nowrap; }
.alm-today { border-left: 3px solid var(--hazard); padding: .5rem 0 .5rem 1rem; margin: 0 0 .4rem; background: rgba(0,0,0,.14); }
.alm-today-h { font-family: var(--mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--hazard); margin: 0 0 .35rem; font-weight: 800; }
.alm-today ul { list-style: none; margin: 0; padding: 0; }
.alm-today li { padding: .2rem 0; }
.alm-today li b { font-family: var(--mono); color: var(--ink); margin-right: .3rem; }
.alm-today li .k { font-family: var(--mono); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; color: var(--dim); margin-right: .3rem; }
.alm-today p { margin: 0; color: var(--text); }
.alm-mini { max-width: 420px; margin-left: auto; }
.alm-mini .alm-days a { font-size: .86rem; }
@media (max-width: 900px) {
  .feat-grid, .feat-lead .feat-grid { grid-template-columns: 1fr; gap: 1.4rem; }
  .feat-flip .feat-copy, .feat-flip .feat-art { order: 0; }
  .alm-mini { margin: 0 auto; }
}
@media (max-width: 480px) {
  .feat-form-row .desk-input { min-width: 0; flex: 1 1 100%; }
  .feat-form-row .btn { flex: 1 1 100%; text-align: center; }
  .cert-lines span { display: none; }
}
