/* =====================================================================
   Taswira Africa Safaris — site pages
   (destinations, about, contact, request a quote, planning, blog, team)
   Loads after styles.css + package.css + experience.css, so the header,
   footer, hero, section bar, cards, FAQ and form all match the other pages.
   ===================================================================== */

/* Shorter hero for information pages */
.pp-hero--short { min-height: min(62vh, 600px); }
.pp-hero--short h1 { max-width: 820px; }

/* Shared section heading row used on these pages */
.st-sec { padding: clamp(64px, 7vw, 96px) 0; }
.st-sec--cream { background: var(--cream); }
.st-sec--sand { background: var(--sand); }
.st-sec--white { background: var(--white); }
.st-head { max-width: 760px; margin: 0 auto 36px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.st-head--left { margin-left: 0; text-align: left; align-items: flex-start; }
.st-head .h2 { margin: 0; }
.st-head p:not(.kicker) { margin-top: 16px; font-size: 16.5px; color: var(--body); }

/* Filter pills (same look as the Stories / package tabs) */
.st-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 32px; }
.st-pills button { padding: 12px 20px; border-radius: 10px; background: var(--sand); border: 1px solid transparent; font: 500 15px/1 var(--sans); color: var(--muted); transition: background .2s, color .2s, border-color .2s, box-shadow .2s; }
.st-pills button:hover { color: var(--ink); background: #ece4d8; }
.st-pills button.is-active { background: var(--white); border-color: var(--line); color: var(--ink); box-shadow: 0 6px 18px rgba(43, 33, 24, .06); }
@media (max-width: 720px) {
  .st-pills { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; margin-right: -2.5vw; padding-right: 2.5vw; }
  .st-pills button { flex-shrink: 0; white-space: nowrap; font-size: 14px; padding: 11px 16px; }
}

/* ---------- Destinations ---------- */
.dst-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 1100px) { .dst-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .dst-grid { grid-template-columns: 1fr; } }
.dst { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; scroll-margin-top: 170px; }
.dst[hidden] { display: none; }
.dst__img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.dst__img img { width: 100%; height: 100%; object-fit: cover; }
.dst__region { position: absolute; top: 12px; left: 12px; padding: 6px 11px; border-radius: 999px; background: rgba(43, 33, 24, .85); font: 600 10.5px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--white); }
.dst__body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.dst__body small { font: 600 11px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--orange-ink); }
.dst__body h3 { margin: 6px 0 10px; font: 400 23px/1.2 var(--head); color: var(--ink); }
.dst__body > p { margin: 0 0 14px; font-size: 15px; color: var(--body); }
.dst__facts { display: grid; gap: 12px; margin: 0 0 16px; padding: 12px 0 0; list-style: none; border-top: 1px solid var(--line); }
.dst__facts li { display: flex; gap: 8px; font-size: 14px; color: var(--ink); }
.dst__facts .ic { width: 16px; height: 16px; margin-top: 3px; color: var(--teal); }
.dst__facts b { font-weight: 600; }
.dst__link { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; font: 600 12px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--orange-ink); }
.dst__link .ic { width: 14px; height: 14px; }
.dst__link:hover { color: var(--teal-ink); }
.dst--text .dst__body { padding-top: 22px; }
.dst--text { background: var(--cream); }

/* ---------- Split block (image + text) ---------- */
.st-split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: center; }
@media (max-width: 960px) { .st-split { grid-template-columns: 1fr; } }
.st-split__media { position: relative; }
.st-split__media img { width: 100%; aspect-ratio: 4 / 3.2; object-fit: cover; border-radius: 10px; }
.st-split__badge { position: absolute; left: -14px; bottom: 24px; padding: 16px 22px; border-radius: 10px; background: var(--night); color: rgba(255, 255, 255, .8); box-shadow: var(--shadow); font-size: 13px; }
.st-split__badge b { display: block; font: 400 30px/1.1 var(--head); color: var(--orange); }
@media (max-width: 600px) { .st-split__badge { left: 12px; } }
.st-split .h2 { margin-bottom: 20px; }
.st-split p:not(.kicker) { margin-bottom: 16px; font-size: 16.5px; }

/* Stats row */
.st-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; background: var(--line); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
@media (max-width: 860px) { .st-stats { grid-template-columns: 1fr 1fr; } }
.st-stats div { padding: 26px 24px; background: var(--white); }
.st-stats b { display: block; font: 400 36px/1.05 var(--head); color: var(--orange-ink); }
.st-stats span { display: block; margin-top: 10px; font: 600 11.5px/1.35 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.st-stats p { margin: 8px 0 0; font-size: 14px; color: var(--muted); }

/* ---------- Team ---------- */
.st-team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 1100px) { .st-team { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .st-team { grid-template-columns: 1fr; } }
.st-member { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.st-member img { width: 100%; aspect-ratio: 3 / 3.4; object-fit: cover; object-position: 50% 18%; }
.st-member__body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.st-member__role { font: 600 11px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--orange-ink); }
.st-member h3 { margin: 6px 0 10px; font: 400 23px/1.2 var(--head); color: var(--ink); }
.st-member p { margin: 0; font-size: 15px; color: var(--body); }
.st-member__tag { align-self: flex-start; margin-top: 14px; padding: 6px 10px; border-radius: 999px; background: var(--teal-soft); font: 600 10.5px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--teal-ink); }
.st-member--join { justify-content: center; padding: 30px 26px; background: var(--night); color: rgba(255, 255, 255, .8); }
.st-member--join h3 { color: var(--white); }
.st-member--join .btn { align-self: flex-start; margin-top: 18px; }

/* ---------- Contact ---------- */
.st-contact { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 1100px) { .st-contact { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .st-contact { grid-template-columns: 1fr; } }
.st-contact a, .st-contact div { display: flex; flex-direction: column; gap: 6px; padding: 24px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; transition: border-color .2s; }
.st-contact a:hover { border-color: var(--orange); }
.st-contact .ic { width: 46px; height: 46px; padding: 11px; margin-bottom: 8px; border-radius: 10px; background: #fad3b496; color: var(--orange); }
.st-contact small { font: 600 11px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.st-contact strong { font: 400 20px/1.3 var(--head); color: var(--ink); overflow-wrap: anywhere; }
.st-contact span { font-size: 14px; color: var(--body); }
.st-two { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 12px; align-items: start; }
@media (max-width: 1100px) { .st-two { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Forms (wider layouts) ---------- */
.pp-form .row--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 720px) { .pp-form .row--3 { grid-template-columns: 1fr; } }
.pp-form fieldset { margin: 4px 0 0; padding: 0; border: 0; }
.pp-form legend { margin-bottom: 10px; padding: 0; font: 600 10.5px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.st-checks { display: flex; flex-wrap: wrap; gap: 8px; }
.st-checks label { position: relative; display: block; letter-spacing: 0; text-transform: none; }
.st-checks input { position: absolute; opacity: 0; width: 1px; height: 1px; min-height: 0; }
.st-checks span { display: inline-block; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--cream); font: 500 14px/1 var(--sans); color: var(--ink); cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.st-checks input:checked + span { background: var(--night); border-color: var(--night); color: var(--white); }
.st-checks input:focus-visible + span { outline: 3px solid var(--orange); outline-offset: 2px; }
.st-form-step { padding: 24px 0; border-top: 1px solid var(--line); }
.st-form-step:first-of-type { padding-top: 0; border-top: 0; }
.st-form-step h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font: 400 21px/1.2 var(--head); color: var(--ink); }
.st-form-step h3 span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--orange); font: 600 13px/1 var(--sans); color: #1b1f1f; }
.pp-form .st-form-step + .st-form-step { margin-top: 0; }

/* ---------- Planning: month guide ---------- */
.st-months { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
@media (max-width: 1100px) { .st-months { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 640px) { .st-months { grid-template-columns: repeat(2, 1fr); } }
.st-months li { padding: 16px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; list-style: none; }
.st-months { margin: 0; padding: 0; }
.st-months b { display: block; font: 400 20px/1.1 var(--head); color: var(--ink); }
.st-months em { display: inline-block; margin: 8px 0; padding: 5px 9px; border-radius: 999px; font: 600 10px/1 var(--sans); font-style: normal; letter-spacing: .12em; text-transform: uppercase; }
.st-months .is-peak em { background: var(--orange); color: #1b1f1f; }
.st-months .is-good em { background: var(--teal-soft); color: var(--teal-ink); }
.st-months .is-green em { background: var(--sand); color: var(--muted); }
.st-months p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--body); }
.st-guide { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: stretch; }
@media (max-width: 1100px) { .st-guide { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .st-guide { grid-template-columns: 1fr; } }
.st-guide > article { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; scroll-margin-top: 170px; }
.st-guide__img { position: relative; aspect-ratio: 16 / 9; }
.st-guide__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.st-guide__ic { position: absolute; left: 20px; bottom: -22px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 10px; background: var(--orange); color: #1b1f1f; box-shadow: 0 0 0 4px var(--white); }
.st-guide__ic .ic { width: 22px; height: 22px; }
.st-guide__body { display: flex; flex-direction: column; flex: 1; padding: 36px 24px 24px; }
.st-guide h3 { margin: 0 0 10px; font: 400 23px/1.2 var(--head); color: var(--ink); }
.st-guide p { margin: 0 0 12px; font-size: 15px; }
.st-guide ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.st-guide li { position: relative; padding-left: 18px; font-size: 14.5px; line-height: 1.55; color: var(--ink); }
.st-guide li::before { content: ''; position: absolute; left: 0; top: .7em; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
.st-guide .pp-note { margin: 14px 0 0; font-size: 13.5px; }

/* ---------- Blog ---------- */
.st-blog { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 1280px) { .st-blog { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 1100px) { .st-blog { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .st-blog { grid-template-columns: 1fr; } }
.st-blog .story { flex: none; width: auto; aspect-ratio: 3 / 3.4; }
.st-blog + .center [hidden], [data-load-more][hidden] { display: none; }
.st-blog .story[hidden] { display: none; }
.st-feature { display: grid; grid-template-columns: 1.2fr 1fr; gap: 12px; margin-bottom: 30px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
@media (max-width: 860px) { .st-feature { grid-template-columns: 1fr; } }
.st-feature img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.st-feature__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 4vw, 48px); }
.st-feature__body small { font: 600 11px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--orange-ink); }
.st-feature__body h2 { margin: 10px 0 14px; font: 400 clamp(26px, 2.6vw, 34px)/1.2 var(--head); color: var(--ink); }
.st-feature__body p { margin: 0 0 22px; font-size: 16px; }
.st-feature__body .btn { align-self: flex-start; }

/* Article */
.st-article-wrap { display: grid; grid-template-columns: minmax(0, 1000px) 400px; gap: 12px; justify-content: center; align-items: start; }
@media (max-width: 1100px) { .st-article-wrap { grid-template-columns: minmax(0, 1fr); } }
.st-article { font-size: 17.5px; line-height: 1.8; color: var(--body); }
.st-article > p:first-of-type { font-size: 20px; line-height: 1.7; color: var(--ink); }
.st-article h2 { margin: 42px 0 14px; font: 400 30px/1.2 var(--head); color: var(--ink); }
.st-article h3 { margin: 28px 0 10px; font: 400 22px/1.25 var(--head); color: var(--ink); }
.st-article p { margin: 0 0 18px; }
.st-article ul { margin: 0 0 18px; padding-left: 20px; }
.st-article li { margin-bottom: 6px; }
.st-article a { color: var(--teal-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.st-article figure { margin: 28px 0; }
.st-article figure img { width: 100%; border-radius: 10px; }
.st-article figcaption { margin-top: 8px; font-size: 13.5px; color: var(--muted); }
.st-article blockquote { margin: 28px 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--orange); font: italic 400 22px/1.5 var(--head); color: var(--ink); }
.st-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 22px; font-size: 14px; color: rgba(255, 255, 255, .85); }
.st-meta span { display: inline-flex; align-items: center; gap: 7px; }
.st-meta .ic { width: 16px; height: 16px; color: var(--gold-soft); }
.st-author { display: flex; align-items: center; gap: 14px; margin-top: 40px; padding: 22px; background: var(--sand); border-radius: 10px; }
.st-author img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px var(--white), 0 0 0 4.5px var(--orange); }
.st-author strong { display: block; font: 400 20px/1.2 var(--head); color: var(--ink); }
.st-author span { font-size: 14px; color: var(--muted); }
.st-aside { position: sticky; top: 120px; display: grid; gap: 12px; }
@media (max-width: 1100px) { .st-aside { position: static; } }
.st-aside__box { padding: 24px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; }
.st-aside__box h4 { margin: 0 0 14px; font: 600 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.st-aside__box ol { margin: 0; padding-left: 18px; display: grid; gap: 12px; font-size: 15px; }
.st-aside__box ol a:hover { color: var(--teal-ink); }
.st-aside__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.st-aside__list a { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: center; }
.st-aside__list img { width: 72px; height: 56px; object-fit: cover; border-radius: 10px; }
.st-aside__list b { font: 400 16px/1.3 var(--head); color: var(--ink); }
.st-aside__list a:hover b { color: var(--teal-ink); }

/* ---------- Batch 1: company pages ---------- */
/* Review wall */
.rv-wall { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: start; }
@media (max-width: 1100px) { .rv-wall { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .rv-wall { grid-template-columns: 1fr; } }
.rvc { display: flex; flex-direction: column; margin: 0; padding: 26px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; }
.rvc[hidden] { display: none; }
.rvc h3 { margin: 10px 0 8px; font: 400 21px/1.3 var(--head); color: var(--ink); }
.rvc blockquote { margin: 0 0 18px; font-size: 15.5px; line-height: 1.7; color: var(--body); }
.rvc figcaption { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); }
.rvc__av { flex-shrink: 0; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--teal-soft); font: 700 15px/1 var(--sans); color: var(--teal-ink); }
.rvc figcaption strong { display: block; font-size: 15px; color: var(--ink); }
.rvc figcaption small { display: block; font-size: 13px; color: var(--muted); }
.rvc__src { margin-left: auto; padding: 6px 10px; border-radius: 999px; background: var(--sand); font: 600 10px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--orange-ink); white-space: nowrap; }
@media (max-width: 400px) { .rvc__src { display: none; } }

/* Three-across key points */
.xe-points--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1100px) { .xe-points--3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .xe-points--3 { grid-template-columns: 1fr; } }

/* Tick list */
.st-ticks { margin: 6px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.st-ticks li { position: relative; padding-left: 28px; font-size: 15.5px; color: var(--ink); }
.st-ticks li::before { content: ''; position: absolute; left: 0; top: .35em; width: 18px; height: 18px; border-radius: 50%; background: var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4L18 8' fill='none' stroke='%231b1f1f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; }

/* Text-only cards in the planning-card grid */
.st-guide--plain > article { justify-content: flex-start; }
.st-guide--plain .st-guide__body { padding-top: 26px; }

/* Legal text */
.st-legal { font-size: 16px; line-height: 1.8; color: var(--body); }
.st-legal__updated { margin: 0 0 24px; font-size: 14px; color: var(--muted); }
.st-legal__item { padding: 22px 0; border-top: 1px solid var(--line); scroll-margin-top: 120px; }
.st-legal__item h2 { margin: 0 0 10px; font: 400 24px/1.25 var(--head); color: var(--ink); }
.st-legal__item p { margin: 0 0 12px; }
.st-legal__item ul { margin: 0 0 12px; padding-left: 20px; }

/* FAQ groups */
.st-faqgroup { scroll-margin-top: 170px; }
.st-faqgroup + .st-faqgroup { margin-top: 44px; }
.st-faqgroup h2 { margin: 0 0 16px; font: 400 28px/1.2 var(--head); color: var(--ink); }
.pp-faq details p a { color: var(--teal-ink); font-weight: 600; }

/* ---------- Batch 2: team guides, all-safaris filters, lodge areas ---------- */
.st-member__mono { display: grid; place-items: center; aspect-ratio: 3 / 3.4; background: linear-gradient(160deg, var(--teal) 0%, var(--teal-ink) 100%); font: 400 96px/1 var(--head); color: rgba(255, 255, 255, .92); }
.st-member__mono--orange { background: linear-gradient(160deg, var(--orange) 0%, #d7661a 100%); }
.st-member__quote { margin: 14px 0 0; padding-left: 14px; border-left: 3px solid var(--orange); font: italic 400 16px/1.5 var(--head); color: var(--ink); }
.st-member__quote cite { display: block; margin-top: 6px; font: normal 500 12.5px/1.3 var(--sans); color: var(--muted); }

.tf { display: grid; gap: 12px; margin-bottom: 28px; padding: 22px 24px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; }
.tf__group { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tf__label { min-width: 74px; font: 600 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.tf__group button { padding: 10px 16px; border-radius: 10px; background: var(--sand); border: 1px solid transparent; font: 500 14.5px/1 var(--sans); color: var(--muted); transition: background .2s, color .2s, border-color .2s; }
.tf__group button:hover { color: var(--ink); background: #ece4d8; }
.tf__group button.is-active { background: var(--night); border-color: var(--night); color: var(--white); }
.tf__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--line); }
.tf__count { margin: 0; font-size: 15px; color: var(--muted); }
.tf__count b { font: 600 20px/1 var(--head); color: var(--ink); }
.tf__sort { display: flex; align-items: center; gap: 10px; font: 600 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.tf__sort select { min-height: 42px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--cream); font: 400 15px/1 var(--sans); letter-spacing: 0; text-transform: none; color: var(--ink); }
.tf__empty { padding: 40px 0; text-align: center; }
.tf__empty p { margin: 0 0 16px; font-size: 16.5px; }
@media (max-width: 720px) {
  .tf { padding: 18px 16px; }
  .tf__group { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .tf__group button { flex-shrink: 0; white-space: nowrap; font-size: 14px; }
  .tf__label { min-width: 0; margin-right: 4px; }
}

.st-areas { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1100px) { .st-areas { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .st-areas { grid-template-columns: 1fr 1fr; } }

/* ---------- Batch 3 & 4: destination pages, day trips ---------- */
.dst-facts li { font-size: 13.5px; }
.dst-facts b { font-weight: 600; margin-right: 2px; }
.dst-near figure a { display: block; height: 100%; }
.dst-near figure:hover strong { color: var(--gold-soft); }

.dt-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (max-width: 900px) { .dt-grid { grid-template-columns: 1fr; } }
.dt { display: grid; grid-template-columns: 40% 1fr; background: var(--white); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; scroll-margin-top: 120px; }
@media (max-width: 560px) { .dt { grid-template-columns: 1fr; } .dt__img { aspect-ratio: 16 / 10; } }
.dt__img { position: relative; }
.dt__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dt__body { display: flex; flex-direction: column; padding: 20px 22px; }
.dt__body h3 { margin: 4px 0 6px; font: 400 21px/1.25 var(--head); color: var(--ink); }
.dt__sub { margin: 0 0 12px; font-size: 14.5px; color: var(--muted); }
.dt__tl { margin: 0 0 16px; padding: 0; list-style: none; display: grid; gap: 12px; font-size: 14px; color: var(--ink); }
.dt__tl li { position: relative; padding-left: 16px; }
.dt__tl li::before { content: ''; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
.dt .pk__foot { margin-top: auto; }
