/* ==========================================================================
   syria-travel.ru — концепт «Полевой дневник»
   Два материала на одном сайте:
   .sheet  — лист дневника 2009 года (бумага, антиква, штампы)
   .insert — вклейка 2026 года (белая бумага, гротеск, без декора)
   Внешних запросов нет: шрифты системные, всё грузится с одного хоста.
   ========================================================================== */

:root {
  --paper:        #EDE4CF;  /* пожелтевшая бумага дневника */
  --paper-edge:   #E3D8BE;
  --card:         #FBF6E9;  /* вклеенный снимок, подложка */
  --white:        #FFFFFF;  /* бумага 2026 года */
  --ink:          #23201A;
  --ink-soft:     #5C5545;
  --ink-faint:    #8A8069;
  --rule:         #D3C5A4;
  --rule-soft:    #E0D5B8;
  --stamp:        #9C3B26;  /* сурик пограничного штампа */
  --basalt:       #2B2924;  /* базальт Босры — подвал и шапка */
  --today:        #2E4A52;  /* акцент современного раздела */

  --serif: "PT Serif", "Times New Roman", Times, serif;
  --sans:  -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --mono:  "Courier New", "Courier", monospace;

  --wrap: 1120px;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 17px;
  line-height: 1.7;
}

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.wrap--narrow { max-width: 720px; }

a { color: var(--ink); text-decoration-color: var(--rule); text-underline-offset: 3px; }
a:hover { color: var(--stamp); text-decoration-color: var(--stamp); }
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--stamp);
  outline-offset: 3px;
}

img { max-width: 100%; height: auto; display: block; }

/* --- служебная строка и шапка ------------------------------------------- */

.topline {
  background: var(--basalt);
  color: #C8BFA9;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 7px 0;
}
.topline .wrap { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.topline a { color: #E4D9BE; }

.masthead { border-bottom: 1px solid var(--rule); }
.masthead .wrap {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; flex-wrap: wrap; padding-top: 22px; padding-bottom: 16px;
}
.brand { text-decoration: none; }
.brand b { display: block; font-size: 26px; font-weight: 400; letter-spacing: .01em; }
.brand span {
  display: block; font-family: var(--mono); font-size: 11px;
  letter-spacing: .16em; text-transform: uppercase; color: var(--ink-faint); margin-top: 2px;
}
.nav { display: flex; gap: 22px; flex-wrap: wrap; font-size: 16px; }
.nav a { text-decoration: none; padding-bottom: 3px; border-bottom: 1px solid transparent; }
.nav a:hover, .nav a[aria-current] { border-bottom-color: var(--stamp); }
.nav a[aria-current] { color: var(--stamp); }

/* --- штамп: подпись всего проекта --------------------------------------- */

.stamp {
  display: inline-block;
  border: 2px solid var(--stamp);
  color: var(--stamp);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 8px 12px 7px;
  line-height: 1.5;
  transform: rotate(-2.2deg);
}
.stamp b { display: block; font-weight: 400; font-size: 15px; letter-spacing: .1em; }
.stamp--flat { transform: none; }

/* --- первый экран -------------------------------------------------------- */

.hero { padding: 46px 0 40px; border-bottom: 1px solid var(--rule); }
.hero .wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; }
.hero h1 { font-size: 46px; line-height: 1.18; font-weight: 400; margin: 18px 0 0; }
.hero p { color: var(--ink-soft); max-width: 34em; }
.hero-figure { position: relative; }
.hero-figure .stamp { position: absolute; right: 10px; bottom: -14px; background: var(--card); }

.eyebrow {
  font-family: var(--mono); font-size: 11px; letter-spacing: .18em;
  text-transform: uppercase; color: var(--stamp);
}

/* --- вклеенный снимок ---------------------------------------------------- */

.photo {
  background: var(--card);
  border: 1px solid var(--paper-edge);
  padding: 10px 10px 0;
  box-shadow: 0 1px 0 var(--rule-soft);
}
.photo figcaption { padding: 10px 2px 12px; }
.photo .cap { font-size: 16px; line-height: 1.45; }
.photo .log {
  font-family: var(--mono); font-size: 10.5px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--ink-faint); margin-top: 5px;
}
a.photo { display: block; text-decoration: none; }
a.photo:hover { border-color: var(--stamp); }
a.photo:hover .cap { color: var(--stamp); }

/* --- секции листа дневника ---------------------------------------------- */

.sheet { padding: 44px 0; border-bottom: 1px solid var(--rule); }
.sheet-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 24px; }
.sheet-head h2 { font-size: 30px; font-weight: 400; margin: 6px 0 0; }
.sheet-head p { margin: 6px 0 0; color: var(--ink-soft); font-size: 16px; max-width: 46em; }

.grid { display: grid; gap: 20px; }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }

/* --- альбомы как оглавление --------------------------------------------- */

.albums { border-top: 1px solid var(--rule); }
.album-row {
  display: grid; grid-template-columns: 44px 1fr auto auto;
  gap: 18px; align-items: baseline;
  padding: 13px 4px; border-bottom: 1px solid var(--rule-soft);
  text-decoration: none;
}
.album-row:hover { background: var(--card); }
.album-row .n { font-family: var(--mono); font-size: 12px; color: var(--ink-faint); }
.album-row .t { font-size: 19px; }
.album-row .d { font-size: 14.5px; color: var(--ink-soft); }
.album-row .c { font-family: var(--mono); font-size: 12px; color: var(--ink-faint); white-space: nowrap; }
.album-row:hover .t { color: var(--stamp); }

/* --- вклейка 2026 -------------------------------------------------------- */

.insert {
  background: var(--white);
  font-family: var(--sans);
  border-top: 3px double var(--rule);
  border-bottom: 3px double var(--rule);
  padding: 40px 0 44px;
}
.insert h2, .insert h3 { font-family: var(--sans); font-weight: 600; letter-spacing: -.01em; }
.insert h2 { font-size: 27px; margin: 10px 0 6px; }
.insert h3 { font-size: 17px; margin: 0 0 4px; }
.insert p { color: #4A4A46; font-size: 15.5px; line-height: 1.65; }
.insert .eyebrow { color: var(--today); }
.insert a { color: var(--today); text-decoration-color: rgba(46,74,82,.35); }

.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 26px; }
.card {
  border-left: 2px solid var(--today);
  padding: 2px 0 2px 16px;
  text-decoration: none;
}
.card p { margin: 4px 0 0; font-size: 14.5px; }
.card:hover h3 { color: var(--today); }

.checked {
  font-family: var(--mono); font-size: 11.5px; letter-spacing: .04em;
  color: #6B6B66; margin-top: 22px; padding-top: 12px; border-top: 1px solid #E8E6DF;
}

/* --- предупреждение о датировке ------------------------------------------ */

.disclaimer {
  background: var(--card);
  border-left: 3px solid var(--stamp);
  padding: 14px 18px;
  font-size: 15px;
  color: var(--ink-soft);
  margin: 26px 0;
}
.disclaimer b { color: var(--ink); font-weight: 400; }

/* --- текстовые страницы -------------------------------------------------- */

.article { padding: 40px 0 10px; }
.article h1 { font-size: 40px; font-weight: 400; line-height: 1.2; margin: 14px 0 0; }
.article h2 { font-size: 26px; font-weight: 400; margin: 38px 0 10px; }
.article p { margin: 0 0 18px; }
.article figure { margin: 30px 0; }
.lead { font-size: 20px; line-height: 1.6; color: var(--ink-soft); }

.crumbs { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-faint); }
.crumbs a { text-decoration: none; }

/* --- карточка снимка ----------------------------------------------------- */

.viewer { padding: 34px 0 40px; }
.viewer-frame { background: var(--card); border: 1px solid var(--paper-edge); padding: 14px; }
.viewer-meta { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; margin-top: 26px; }
.viewer-meta h1 { font-size: 30px; font-weight: 400; margin: 8px 0 10px; }
.specs { width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 12.5px; }
.specs td { padding: 7px 0; border-bottom: 1px solid var(--rule-soft); vertical-align: top; }
.specs td:first-child { color: var(--ink-faint); text-transform: uppercase; letter-spacing: .08em; width: 42%; }

.pager { display: flex; justify-content: space-between; gap: 16px; margin-top: 30px; border-top: 1px solid var(--rule); padding-top: 14px; font-size: 15px; }
.pager a { text-decoration: none; }
.pager .prev::before { content: "← "; color: var(--ink-faint); }
.pager .next::after { content: " →"; color: var(--ink-faint); }

/* --- подвал -------------------------------------------------------------- */

.foot { background: var(--basalt); color: #B9B09B; padding: 36px 0 30px; font-size: 14.5px; }
.foot a { color: #E4D9BE; text-decoration-color: rgba(228,217,190,.35); }
.foot h3 { font-family: var(--mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: #8D8571; font-weight: 400; margin: 0 0 10px; }
.foot-cols { display: grid; grid-template-columns: 1.1fr 1.4fr 1fr; gap: 36px; }
.foot ul { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 24px; }
.foot li { margin-bottom: 6px; break-inside: avoid; }
.foot-bottom { margin-top: 28px; padding-top: 16px; border-top: 1px solid #3E3B33; font-family: var(--mono); font-size: 11px; letter-spacing: .08em; color: #7E7767; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

/* --- адаптив ------------------------------------------------------------- */

@media (max-width: 900px) {
  .hero .wrap { grid-template-columns: 1fr; gap: 28px; }
  .hero h1 { font-size: 34px; }
  .article h1 { font-size: 30px; }
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
  .cards { grid-template-columns: 1fr; }
  .viewer-meta { grid-template-columns: 1fr; gap: 22px; }
  .foot-cols { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 600px) {
  body { font-size: 16px; }
  .wrap { padding: 0 16px; }
  .grid--3, .grid--4 { grid-template-columns: 1fr; }
  .hero h1 { font-size: 29px; }
  .album-row { grid-template-columns: 1fr auto; row-gap: 4px; }
  .album-row .n { display: none; }
  .album-row .d { grid-column: 1 / -1; }
  .hero-figure .stamp { position: static; display: inline-block; margin-top: 12px; }
  .foot ul { columns: 1; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}

@media print {
  .topline, .nav, .foot { display: none; }
  body { background: #fff; }
}

/* --- additions for working version ----------------------------------------- */
.nav-toggle { display:none; border:1px solid var(--rule); background:transparent; padding:8px 10px; font:12px var(--mono); color:var(--ink); }
.nav-group { position:relative; }
.nav-label { cursor:default; }
.subnav { display:none; position:absolute; z-index:20; top:100%; left:-14px; min-width:230px; padding:12px 14px; background:var(--card); border:1px solid var(--rule); box-shadow:0 8px 24px rgba(43,41,36,.10); }
.nav-group:hover .subnav, .nav-group:focus-within .subnav { display:block; }
.subnav a { display:block; padding:6px 0; white-space:nowrap; font-size:14px; }
.page-head { padding:34px 0 24px; border-bottom:1px solid var(--rule); }
.page-head h1 { font-size:40px; line-height:1.18; font-weight:400; margin:10px 0 8px; }
.page-head .lead { max-width:760px; margin:0; }
.content-grid { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:48px; align-items:start; }
.sidebox { background:var(--card); border:1px solid var(--paper-edge); padding:16px; font-size:14px; }
.sidebox h3 { font:12px var(--mono); text-transform:uppercase; letter-spacing:.12em; color:var(--ink-faint); margin:0 0 10px; }
.sidebox ul { margin:0; padding-left:18px; }
.meta-line { font:11px var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); }
.prose ul { margin:0 0 20px 1.2em; }
.prose li { margin:5px 0; }
.prose strong { font-weight:600; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.gallery-grid .photo img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.gallery-note { margin-top:20px; font-size:14px; color:var(--ink-soft); }
.archive-stats { display:flex; gap:24px; flex-wrap:wrap; margin:18px 0 0; font:12px var(--mono); text-transform:uppercase; letter-spacing:.08em; color:var(--ink-faint); }
.archive-stats b { color:var(--stamp); font-size:18px; font-weight:400; display:block; }
.today-page { background:var(--white); font-family:var(--sans); }
.today-page .article h1, .today-page .article h2 { font-family:var(--sans); font-weight:600; }
.notice-dev { background:#fff7d6; border:1px solid #d7c46f; padding:10px 14px; font:13px/1.5 var(--sans); color:#544a20; }

@media (max-width: 900px) {
  .content-grid { grid-template-columns:1fr; gap:24px; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
  .nav { gap:14px; }
  .subnav { position:static; border:0; box-shadow:none; background:transparent; padding:8px 0 0 12px; }
}
@media (max-width: 600px) {
  .gallery-grid { grid-template-columns:1fr; }
  .page-head h1 { font-size:30px; }
}

/* --- v0.3: полный фотоархив ---------------------------------------------- */
.album-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.album-card { display:block; background:var(--card); border:1px solid var(--paper-edge); text-decoration:none; }
.album-card:hover { border-color:var(--stamp); }
.album-card img { width:100%; aspect-ratio:4/3; object-fit:cover; background:var(--paper-edge); }
.album-card__body { padding:15px 16px 17px; }
.album-card__body h2 { margin:5px 0 3px; font-size:21px; line-height:1.3; font-weight:400; }
.album-card__body p { margin:0; color:var(--ink-faint); font:11px var(--mono); text-transform:uppercase; letter-spacing:.07em; }
.gallery-grid--archive { grid-template-columns:repeat(4,1fr); gap:16px; }
.gallery-grid--archive .photo { padding:7px 7px 0; }
.gallery-grid--archive .photo .cap { font-size:14px; }
.archive-caption-note { margin-top:22px; padding:10px 12px; border-left:2px solid var(--rule); color:var(--ink-faint); font-size:14px; }
@media (max-width:900px) {
  .album-cards { grid-template-columns:repeat(2,1fr); }
  .gallery-grid--archive { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:600px) {
  .album-cards { grid-template-columns:1fr; }
  .gallery-grid--archive { grid-template-columns:repeat(2,1fr); gap:10px; }
  .gallery-grid--archive .photo .cap { font-size:13px; }
}

/* v0.7 — content pages with archival hero images */
.feature-photo { padding:28px 0 0; }
.feature-photo .photo { max-width:760px; margin:0 auto; }
.feature-photo .photo img { width:100%; max-height:570px; object-fit:cover; }
.sidebox--spaced { margin-top:18px; }
.sidebox li + li { margin-top:6px; }
@media (max-width:600px) {
  .feature-photo { padding-top:18px; }
}

/* ==========================================================================
   v0.9 — более фотографическая подача архива
   ========================================================================== */
.wrap--photo { max-width: 1180px; }
.wrap--photo-single { max-width: 1080px; }
.photo-archive-section { padding-top: 38px; padding-bottom: 50px; }
.section-count { font: 11px var(--mono); letter-spacing: .10em; text-transform: uppercase; color: var(--ink-faint); }

.album-cards--large {
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
}
.album-card--large {
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(43,41,36,.05);
}
.album-card__image { overflow:hidden; background:var(--paper-edge); }
.album-card--large img {
  display:block;
  width:100%;
  aspect-ratio: 4 / 3;
  object-fit:cover;
  transform:scale(1.001);
  transition: transform .22s ease, filter .22s ease;
}
.album-card--large:hover img { transform:scale(1.025); }
.album-card--large .album-card__body { padding: 14px 16px 16px; }
.album-card--large .album-card__body h2 { font-size:22px; margin:5px 0 7px; }
.album-card__meta { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; color:var(--ink-faint); font:10.5px var(--mono); text-transform:uppercase; letter-spacing:.06em; }

.album-sheet { padding-top:28px; }
.gallery-intro { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid var(--rule); color:var(--ink-faint); font:11px var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.gallery-grid--large {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.gallery-grid--large .photo-card {
  padding:8px 8px 0;
  min-width:0;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.gallery-grid--large .photo-card:hover {
  transform:translateY(-2px);
  box-shadow:0 5px 16px rgba(43,41,36,.08);
}
.photo-card__image { overflow:hidden; background:var(--paper-edge); }
.gallery-grid--large .photo-card img {
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
}
.gallery-grid--large .photo-card figcaption { min-height:74px; padding:9px 2px 10px; }
.gallery-grid--large .photo-card .cap {
  font-size:15px;
  line-height:1.35;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.gallery-grid--large .photo-card .log { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-top:6px; font-size:9.5px; }
.album-bottom-nav { display:flex; justify-content:space-between; gap:20px; margin-top:28px; padding-top:14px; border-top:1px solid var(--rule); font-size:14px; }
.album-bottom-nav a { text-decoration:none; }

/* В текстовых материалах архивные кадры чуть крупнее и спокойнее. */
.content-grid .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.content-grid .gallery-grid .photo { padding:8px 8px 0; }
.content-grid .gallery-grid .photo .cap { font-size:14px; line-height:1.35; }
.feature-photo .photo { box-shadow:0 2px 0 var(--rule-soft); }

/* Карточка отдельной фотографии */
.photo-viewer { padding-top:30px; }
.photo-viewer .viewer-frame { margin-top:18px; padding:12px; text-align:center; }
.photo-viewer .viewer-frame img { width:auto; max-width:100%; max-height:78vh; margin:0 auto; object-fit:contain; }
.photo-viewer .viewer-meta { padding:0 4px; }
.photo-viewer .viewer-meta h1 { font-size:32px; line-height:1.25; }
.photo-neighbors { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:30px; padding-top:18px; border-top:1px solid var(--rule); }
.photo-neighbor { display:flex; align-items:center; gap:14px; min-height:92px; padding:9px; background:var(--card); border:1px solid var(--paper-edge); text-decoration:none; }
.photo-neighbor:hover { border-color:var(--stamp); }
.photo-neighbor img { width:120px; height:82px; object-fit:cover; flex:0 0 auto; }
.photo-neighbor span { min-width:0; }
.photo-neighbor small { display:block; margin-bottom:4px; color:var(--ink-faint); font:10px var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.photo-neighbor b { display:block; font-weight:400; font-size:15px; line-height:1.3; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.photo-neighbor--next { text-align:right; justify-content:flex-end; }
.back-to-album { margin-top:16px; text-align:center; font:12px var(--mono); letter-spacing:.04em; }
.back-to-album a { text-decoration:none; }

/* Главная: качественные превью теперь можно показывать чуть крупнее. */
.sheet .grid--4 .photo img { width:100%; aspect-ratio:4/3; object-fit:cover; }

@media (max-width: 900px) {
  .album-cards--large { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .gallery-grid--large { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .content-grid .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .album-cards--large { grid-template-columns:1fr; }
  .gallery-grid--large { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .gallery-grid--large .photo-card { padding:5px 5px 0; }
  .gallery-grid--large .photo-card figcaption { min-height:64px; padding:7px 1px 8px; }
  .gallery-grid--large .photo-card .cap { font-size:12.5px; }
  .gallery-grid--large .photo-card .log { font-size:8.5px; display:block; }
  .gallery-grid--large .photo-card .log span + span { display:block; margin-top:2px; }
  .content-grid .gallery-grid { grid-template-columns:1fr; }
  .photo-neighbors { grid-template-columns:1fr; }
  .photo-neighbor--next { text-align:left; flex-direction:row-reverse; justify-content:flex-end; }
  .photo-neighbor img { width:105px; height:74px; }
  .photo-viewer .viewer-meta h1 { font-size:27px; }
}

/* v1.0 — SEO/content navigation */
.related-box { margin-top:42px; padding-top:22px; border-top:1px solid var(--rule); }
.related-box h2 { margin-top:0; }
.related-links { display:flex; flex-wrap:wrap; gap:9px 12px; }
.related-links a { display:inline-block; padding:7px 10px; background:var(--card); border:1px solid var(--paper-edge); text-decoration:none; font-size:14px; }
.related-links a:hover { border-color:var(--stamp); }

/* ==========================================================================
   v1.2 — практический раздел «Сирия сегодня»
   ========================================================================== */
.today-page { background:var(--white); font-family:var(--sans); }
.today-page .masthead { background:var(--paper); font-family:var(--serif); }
.today-page .topline, .today-page .foot { font-family:var(--sans); }
.today-head { background:#fff; border-bottom:1px solid #e2e2dc; }
.today-head h1 { font-family:var(--sans); font-weight:650; letter-spacing:-.025em; }
.today-head .lead { color:#51514d; }
.today-checked { margin:14px 0 0; padding-top:10px; border-top:1px solid #e8e6df; color:#74746e; }
.today-index { border-top:0; padding-top:34px; }
.today-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:38px; }
.today-guide-card { display:block; min-height:190px; padding:19px 20px 20px; border:1px solid #deded8; border-top:3px solid var(--today); background:#fff; text-decoration:none; }
.today-guide-card:hover { border-color:var(--today); box-shadow:0 5px 18px rgba(46,74,82,.08); }
.today-guide-card > span { font:11px var(--mono); color:#8a8a83; letter-spacing:.1em; }
.today-guide-card h2 { margin:12px 0 7px; font-size:21px; font-weight:650; color:#263f46; }
.today-guide-card p { margin:0; color:#5f5f5a; font-size:14.5px; line-height:1.55; }
.today-intro { border-top:1px solid #e4e4de; padding-top:24px; }
.today-article { border-top:0; }
.today-article.prose h2 { margin-top:36px; font-size:25px; color:#263f46; }
.today-article.prose h3 { color:#263f46; }
.today-alert { margin:0 0 30px; padding:16px 18px; border-left:4px solid #9c3b26; background:#fff6f2; color:#4d403a; font-size:15px; line-height:1.6; }
.today-alert strong { color:#7c2e1d; }
.today-sources { margin-top:44px; padding:22px 24px; background:#f5f7f7; border:1px solid #dde4e5; }
.today-sources h2 { margin:0 0 8px !important; font-size:21px !important; }
.today-sources p { margin:0 0 12px; font-size:14px; color:#666; }
.today-sources ul { margin-bottom:0; }
.today-sources a { color:var(--today); }
.today-related .related-links a { background:#fff; border-color:#d9dfdf; color:var(--today); }
@media (max-width:900px) { .today-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .today-guide-grid { grid-template-columns:1fr; gap:12px; } .today-guide-card { min-height:0; } .today-sources { padding:17px; } }
