/* =====================================================================
   THE BHUKKAD TIMES: tabloid homepage (17 Oct 2026)
   HOMEPAGE ONLY. Every rule is scoped to body.tb-home or a .tb-* class,
   so menu.html, franchise.html, press.html, events.html and the guides
   are untouched. Linked last in index.html.
   Brand fonts only: Playfair Display (headlines, 900) + Outfit (body).
   Brand colours only: yellow #FCD10F, logo charcoal #433D54, warm
   charcoal ink #2C2A25, ivory newsprint #F4ECD8, terracotta #C44B2A.
   Reference: tools/mockups/tabloid-front-page.html
   ===================================================================== */

body.tb-home {
  --tb-paper: var(--ivory-cream, #F4ECD8);
  --tb-paper-2: #EFE4C9;
  --tb-card: #FFFBEF;               /* lightest tint of the ivory */
  --tb-ink: var(--warm-charcoal, #2C2A25);
  --tb-ink-2: rgba(44, 42, 37, .74);
  --tb-red: var(--terracotta, #C44B2A);
  --tb-logo: var(--tbc-charcoal, #433D54);
  --tb-yellow: var(--tbc-yellow, #FCD10F);
  --tb-head: 'Playfair Display', 'Times New Roman', Georgia, serif;
  --tb-body: 'Outfit', 'Helvetica Neue', Arial, sans-serif;
  --tb-gut: 16px;
  --tb-nav: 87px;                    /* forecast bar 32 + nav 55 */

  background-color: var(--tb-paper);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .09 0 0 0 0 .07 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 160px 160px;
  color: var(--tb-ink);
  font-family: var(--tb-body);
}
@media (min-width: 769px) { body.tb-home { --tb-nav: 99px; } }
body.tb-home main { padding-top: var(--tb-nav) !important; }
body.tb-home [id] { scroll-margin-top: calc(var(--tb-nav) - 20px); }
body.tb-home .tb-wrap { max-width: 1240px; margin: 0 auto; padding: 0 var(--tb-gut); }

/* ---------- 1 · masthead ---------- */
.tb-mast { background: var(--tb-yellow); color: var(--tb-logo); border-bottom: 4px solid var(--tb-ink); }
.tb-mast__in { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 6px; padding: 14px var(--tb-gut) 12px; max-width: 1240px; margin: 0 auto; }
.tb-mast__title { margin: 0; font: 900 clamp(28px, 8.1vw, 70px)/1 var(--tb-head); letter-spacing: -.01em; text-transform: uppercase; text-align: center; white-space: nowrap; color: var(--tb-logo); }
.tb-samosa { position: relative; display: inline-block; width: 1.06em; height: 1.06em; vertical-align: -.16em; margin: 0 -.08em; }
.tb-samosa img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: contain; animation: tb-samosa-wobble 4s ease-in-out infinite; transform-origin: center 60%; }
@keyframes tb-samosa-wobble { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg) translateY(-2%); } }
.tb-ear { display: none; border: 2px solid var(--tb-logo); padding: 8px 10px; font: 600 11px/1.25 var(--tb-body); letter-spacing: .08em; text-transform: uppercase; max-width: 170px; }
.tb-ear b { display: block; font: 900 22px/1 var(--tb-head); text-transform: uppercase; }
.tb-mast__sub { grid-column: 1 / -1; display: flex; justify-content: center; gap: 6px 8px; flex-wrap: wrap; text-align: center; font: 700 10.5px/1.2 var(--tb-body); letter-spacing: .16em; text-transform: uppercase; }
.tb-mast__sub .hl { background: var(--tb-logo); color: var(--tb-yellow); padding: 3px 6px; }
@media (min-width: 760px) {
  .tb-mast__in { grid-template-columns: 170px minmax(0, 1fr) 170px; }
  .tb-mast__title { font-size: min(70px, calc((100vw - 410px) / 11.4)); }
  .tb-ear { display: block; }
  .tb-ear--r { justify-self: end; text-align: right; }
}
.tb-dateline { background: var(--tb-paper); border-bottom: 1px solid var(--tb-ink); }
.tb-dateline__in { max-width: 1240px; margin: 0 auto; padding: 7px var(--tb-gut); display: flex; justify-content: space-between; gap: 10px; font: 600 10.5px/1.2 var(--tb-body); letter-spacing: .12em; text-transform: uppercase; }
.tb-dateline__in .price { color: var(--tb-red); white-space: nowrap; }

.tb-inside { border-bottom: 3px double var(--tb-ink); }
.tb-inside__row { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; max-width: 1240px; margin: 0 auto; padding: 0 var(--tb-gut); }
.tb-inside__row::-webkit-scrollbar { display: none; }
.tb-inside__lab { flex: 0 0 auto; font: 900 15px/1 var(--tb-head); text-transform: uppercase; padding: 12px 12px 12px 0; color: var(--tb-red); align-self: center; }
.tb-inside a { flex: 0 0 auto; text-decoration: none; display: flex; align-items: baseline; gap: 7px; padding: 11px 14px; border-left: 1px solid var(--tb-ink); font: 600 13px/1.1 var(--tb-body); white-space: nowrap; color: var(--tb-ink); }
.tb-inside a i { font: 700 10px/1 var(--tb-body); color: var(--tb-paper); background: var(--tb-ink); padding: 3px 5px; font-style: normal; letter-spacing: .06em; }
.tb-inside a:hover { background: var(--tb-yellow); }

/* ---------- 2 · front page ---------- */
.tb-front__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.tb-splash { padding: 18px 0 22px; min-width: 0; }
.tb-kicker { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; font: 700 11px/1.3 var(--tb-body); letter-spacing: .18em; text-transform: uppercase; }
.tb-kicker .tag { background: var(--tb-red); color: #fff; padding: 5px 7px; font: 700 11px/1 var(--tb-body); letter-spacing: .16em; text-transform: uppercase; }
.tb-splash h2 { font: 900 clamp(38px, 10.4vw, 92px)/.98 var(--tb-head); text-transform: uppercase; margin: 12px 0 10px; letter-spacing: -.015em; color: var(--tb-ink); }
.tb-splash h2 em, .tb-news h3 em, .tb-sec__head h2 em { font-style: normal; color: var(--tb-red); }
.tb-stand { font: italic 400 clamp(19px, 4.8vw, 26px)/1.3 var(--tb-head); margin: 0 0 12px; color: var(--tb-ink-2); }
.tb-byline { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font: 600 11px/1.2 var(--tb-body); letter-spacing: .14em; text-transform: uppercase; border-top: 1px solid var(--tb-ink); border-bottom: 1px solid var(--tb-ink); padding: 7px 0; margin-bottom: 14px; }
.tb-byline span + span::before { content: "·"; margin-right: 10px; }
.tb-photo { position: relative; margin: 0 calc(-1 * var(--tb-gut)); }
@media (min-width: 760px) { .tb-photo { margin: 0; } }
.tb-photo .brand-video-wrap { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: var(--tb-paper-2); border: 0; }
@media (max-width: 600px) { .tb-photo .brand-video-wrap { aspect-ratio: 1 / 1; } }
.tb-photo .brand-video-wrap picture { display: block; }
.tb-photo .brand-video-wrap .brand-poster,
.tb-photo .brand-video-wrap .brand-video {
  position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important;
  object-fit: cover; object-position: center; display: block;
}
.tb-photo .brand-video-wrap.is-playing .brand-poster { opacity: 0; transition: opacity .25s ease .05s; }
.tb-cap { font: 500 12.5px/1.4 var(--tb-body); color: var(--tb-ink-2); padding: 7px 0 8px; border-bottom: 1px solid var(--tb-ink); }
.tb-cap b { font: 700 10.5px/1 var(--tb-body); letter-spacing: .14em; text-transform: uppercase; color: var(--tb-ink); margin-right: 6px; }
.tb-lede { font-family: var(--tb-head); font-size: 18px; line-height: 1.55; margin: 16px 0 0; }
.tb-lede p { margin: 0 0 12px; }
.tb-lede p:first-child::first-letter { float: left; font: 900 70px/.82 var(--tb-head); color: var(--tb-red); padding: 6px 8px 0 0; }
.tb-stamp { display: inline-block; margin: 2px 0 12px; background: var(--tb-yellow); color: var(--tb-logo); font: 700 11px/1 var(--tb-body); letter-spacing: .16em; text-transform: uppercase; padding: 7px 9px; border: 2px solid var(--tb-ink); transform: rotate(-1.5deg); }
.tb-cont { display: block; width: fit-content; margin-top: 2px; font: 900 15px/1 var(--tb-head); letter-spacing: .05em; text-transform: uppercase; text-decoration: none; border-bottom: 2px solid var(--tb-red); padding-bottom: 3px; color: var(--tb-ink); }
.tb-cont:hover { color: var(--tb-red); }

/* sidebar */
.tb-side { border-top: 3px solid var(--tb-ink); padding-top: 16px; min-width: 0; }
.tb-boxhead { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 2px solid var(--tb-ink); padding-bottom: 6px; margin-bottom: 12px; }
.tb-boxhead h3 { margin: 0; font: 900 24px/1 var(--tb-head); text-transform: uppercase; letter-spacing: .02em; }
.tb-boxhead .folio { font: 600 10.5px/1 var(--tb-body); letter-spacing: .16em; text-transform: uppercase; color: var(--tb-ink-2); }
.tb-weather { border: 2px solid var(--tb-ink); padding: 12px; display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: center; margin-bottom: 24px; }
.tb-sun { color: var(--tb-red); display: block; }
.tb-weather b { font: 900 18px/1.1 var(--tb-head); text-transform: uppercase; display: block; }
.tb-weather span { font-size: 13px; color: var(--tb-ink-2); }
.tb-offer { position: relative; background: var(--tb-card); border: 2px solid var(--tb-ink); box-shadow: 5px 5px 0 var(--tb-ink); padding: 0 0 14px; margin-bottom: 24px; }
.tb-offer--plain { padding-top: 2px; }
.tb-offer__art { position: relative; border-bottom: 2px solid var(--tb-ink); background: var(--tb-paper-2); line-height: 0; }
/* whole 4:5 key art, never cropped */
.tb-offer__art .arch-video-host { display: block; position: relative; width: 100%; height: auto; aspect-ratio: 4 / 5; }
.tb-offer__art .arch-poster, .tb-offer__art .arch-video { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; object-fit: contain; display: block; mix-blend-mode: normal !important; }
.tb-burst {
  --s: 104px; position: absolute; right: -6px; top: -16px; width: var(--s); height: var(--s); display: grid; place-items: center; text-align: center;
  background: var(--tb-yellow); color: var(--tb-logo); font: 900 calc(var(--s) * .15)/1 var(--tb-head); text-transform: uppercase; letter-spacing: .02em;
  clip-path: polygon(50% 0, 59% 13%, 74% 5%, 76% 21%, 92% 19%, 86% 34%, 100% 41%, 88% 52%, 98% 65%, 82% 69%, 84% 85%, 68% 82%, 62% 98%, 50% 87%, 38% 98%, 32% 82%, 16% 85%, 18% 69%, 2% 65%, 12% 52%, 0 41%, 14% 34%, 8% 19%, 24% 21%, 26% 5%, 41% 13%);
  transform: rotate(-10deg); z-index: 3; padding: 12px;
}
.tb-burst b { display: block; font-size: 1.35em; line-height: .9; }
.tb-offer h4 { margin: 12px 14px 4px; font: 900 30px/1 var(--tb-head); letter-spacing: -.01em; text-transform: uppercase; }
.tb-offer h4 em { font-style: normal; color: var(--tb-red); }
.tb-offer .sub { margin: 0 14px 12px; font: italic 400 16px/1.35 var(--tb-head); color: var(--tb-ink-2); }
.tb-coupon { margin: 0 14px 10px; border: 2px dashed var(--tb-ink); padding: 10px 12px 10px 40px; position: relative; background: var(--tb-paper); }
.tb-coupon::before { content: "\2702\FE0E"; position: absolute; left: 10px; top: 9px; font: 400 16px/1 var(--tb-body); }
.tb-coupon .when { font: 700 10px/1 var(--tb-body); letter-spacing: .14em; text-transform: uppercase; color: var(--tb-red); }
.tb-coupon b { display: block; font: 900 19px/1.1 var(--tb-head); text-transform: uppercase; margin: 4px 0 3px; }
.tb-coupon p { margin: 0; font-size: 13.5px; line-height: 1.4; }
.tb-btn { display: inline-flex; align-items: center; gap: 8px; margin: 4px 14px 0; background: var(--tb-ink); color: var(--tb-yellow); font: 900 16px/1 var(--tb-head); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; padding: 12px 16px; border: 2px solid var(--tb-ink); }
.tb-btn:hover { background: var(--tb-red); color: #fff; }
@media (min-width: 1000px) {
  .tb-front__grid { grid-template-columns: minmax(0, 1fr) 340px; }
  .tb-splash { padding-right: 28px; border-right: 1px solid var(--tb-ink); }
  .tb-side { border-top: 0; padding: 18px 0 0 24px; }
  .tb-lede { columns: 2; column-gap: 26px; column-rule: 1px solid rgba(44, 42, 37, .35); }
  .tb-lede p { break-inside: avoid-column; }
}

/* ---------- 3 · section heads ---------- */
.tb-sec { border-top: 6px solid var(--tb-ink); margin-top: 10px; padding: 14px 0 26px; position: relative; background: transparent; }
.tb-sec__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 14px; margin-bottom: 6px; }
.tb-sec__head h2 { margin: 0; font: 900 clamp(32px, 8.6vw, 64px)/.98 var(--tb-head); letter-spacing: -.01em; text-transform: uppercase; color: var(--tb-ink); text-shadow: none; }
.tb-folio { font: 700 11px/1 var(--tb-body); letter-spacing: .16em; text-transform: uppercase; background: var(--tb-logo); color: var(--tb-paper); padding: 5px 7px; white-space: nowrap; }
.tb-sec__label { font: 700 11px/1.3 var(--tb-body); letter-spacing: .18em; text-transform: uppercase; color: var(--tb-red); margin: 2px 0 8px; }
.tb-sec__dek { font: italic 400 17px/1.4 var(--tb-head); color: var(--tb-ink-2); margin: 0 0 14px; max-width: 60ch; }
.tb-sub { margin: 26px 0 8px; font: 900 clamp(28px, 7.4vw, 44px)/1 var(--tb-head); text-transform: uppercase; letter-spacing: -.01em; }

/* two-column copy + frame (landmark sections) */
.tb-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; margin-top: 8px; }
.tb-split .tb-copy { min-width: 0; }
.tb-split--press .tb-copy { order: -1; }
.tb-copy p { font: 400 16px/1.6 var(--tb-body); margin: 0 0 12px; }
.tb-copy .tb-lede2, .tb-lede2 { font: 400 clamp(18px, 4.6vw, 21px)/1.5 var(--tb-head); margin: 10px 0 14px; }
.tb-copy .tb-kicker + .tb-lede2 { margin-top: 12px; }
.tb-split .lm-frame { max-width: none !important; width: 100% !important; margin: 0 !important; }
@media (min-width: 1000px) {
  .tb-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 36px; align-items: center; }
  .tb-split--rev { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  .tb-split--rev .lm-frame { order: -1; }
  .tb-split--press { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  .tb-split--press .tb-copy { order: 0; }
}
.tb-pull { border-top: 4px solid var(--tb-red); border-bottom: 1px solid var(--tb-ink); padding: 12px 0; margin: 14px 0; font: italic 700 clamp(20px, 5.2vw, 24px)/1.2 var(--tb-head); break-inside: avoid; }
.tb-pull cite { display: block; font: 600 11px/1 var(--tb-body); letter-spacing: .14em; text-transform: uppercase; font-style: normal; margin-top: 8px; color: var(--tb-ink-2); }
.tb-dict { border: 2px solid var(--tb-ink); background: var(--tb-card); padding: 12px 14px; margin-top: 16px; }
.tb-dict__w { font: 900 24px/1 var(--tb-head); text-transform: uppercase; letter-spacing: .01em; }
.tb-dict__w span { font: 600 11px/1 var(--tb-body); letter-spacing: .14em; color: var(--tb-red); text-transform: none; }
.tb-dict p { margin: 6px 0 0; font: italic 400 16px/1.4 var(--tb-head); }

/* menu head (MenuSection keeps its own carousel) */
body.tb-home .menu-section.tb-sec { padding: 14px 0 26px !important; background: transparent !important; border-bottom: 0; }
body.tb-home .menu-section .menu-rail { --tb-mpad: max(var(--tb-gut), calc((100vw - 1240px) / 2 + var(--tb-gut))); padding-left: var(--tb-mpad) !important; scroll-padding-left: var(--tb-mpad); }
body.tb-home .menu-section.tb-sec .tb-sec__head { margin-top: 0; }

/* ---------- 4 · swipe rails (phones + tablets), grids on desktop ---------- */
.tb-rail { position: relative; }
.tb-rail__track {
  display: grid; grid-auto-flow: column; grid-auto-columns: min(82%, 420px); gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--tb-gut);
  margin: 0 calc(-1 * var(--tb-gut)); padding: 4px var(--tb-gut) 14px; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain;
}
.tb-rail__track::-webkit-scrollbar { display: none; }
.tb-rail__track > * { scroll-snap-align: start; min-width: 0; }
.tb-rail__bar { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--tb-ink); padding-top: 8px; }
.tb-rail__count { font: 900 18px/1 var(--tb-head); letter-spacing: .06em; }
.tb-rail__count i { font-style: normal; color: var(--tb-red); }
.tb-rail__hint { font: 600 11px/1 var(--tb-body); letter-spacing: .14em; text-transform: uppercase; color: var(--tb-ink-2); }
.tb-rail__btns { display: flex; gap: 6px; }
.tb-rail__btns button { width: 38px; height: 38px; border: 2px solid var(--tb-ink); background: var(--tb-paper); font: 900 18px/1 var(--tb-head); cursor: pointer; color: var(--tb-ink); padding: 0; }
.tb-rail__btns button:hover:not(:disabled) { background: var(--tb-ink); color: var(--tb-yellow); }
.tb-rail__btns button:disabled { opacity: .3; cursor: default; }
.tb-rail--stats .tb-rail__track { grid-auto-columns: min(62%, 260px); }
.tb-rail--ig .tb-rail__track { grid-auto-columns: min(82%, 340px); }

/* journey deck as a rail: tickets keep their native size */
@media (max-width: 999.98px) {
  body.tb-home .tb-rail__track.journey-tix__deck {
    display: grid !important; grid-auto-flow: column; grid-auto-columns: max-content; justify-content: start; align-items: start; gap: 18px;
    max-width: none; margin: 0 calc(-1 * var(--tb-gut)); padding: 24px var(--tb-gut) 20px;
  }
  /* aunty letters */
  body.tb-home .tb-rail__track.menu-aunty__grid { display: grid !important; grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: min(86%, 440px); gap: 14px; }
  /* funny pages */
  body.tb-home .tb-rail__track.funny-grid { display: grid !important; grid-template-columns: none !important; grid-template-areas: none !important; grid-auto-flow: column; grid-auto-columns: min(88%, 520px); gap: 14px !important; align-items: start; }
  body.tb-home .tb-rail__track.funny-grid > section { grid-area: auto !important; background: var(--tb-card); border: 2px solid var(--tb-ink) !important; padding: 14px !important; margin: 0 !important; box-shadow: 4px 4px 0 var(--tb-ink); }
}

/* desktop (>= 1000px): the track becomes the grid, the bar goes away */
@media (min-width: 1000px) {
  .tb-rail__bar { display: none; }
  .tb-rail--grid .tb-rail__track { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-columns: auto; overflow: visible; margin: 0; padding: 4px 0 14px; gap: 22px; scroll-snap-type: none; }
  .tb-rail--stats .tb-rail__track { grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * 14px) / 5); overflow: visible; margin: 0; padding: 4px 0 14px; scroll-snap-type: none; }
  .tb-rail--ig .tb-rail__track { grid-auto-flow: row; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-columns: auto; overflow: visible; margin: 0; padding: 4px 4px 14px 0; gap: 20px; scroll-snap-type: none; }
  /* journey / aunty / funny keep their existing desktop layouts: the track IS that container */
  .tb-rail--tix .tb-rail__track, .tb-rail--aunty .tb-rail__track, .tb-rail--funny .tb-rail__track { overflow: visible; margin: 0; padding-left: 0; padding-right: 0; scroll-snap-type: none; grid-auto-flow: initial; }
  body.tb-home .tb-rail--tix .tb-rail__track.journey-tix__deck { display: flex; }
}

/* press clippings */
.tb-clip { background: var(--tb-card); border: 1px solid var(--tb-ink); box-shadow: 4px 4px 0 var(--tb-ink); text-decoration: none; display: flex; flex-direction: column; transform: rotate(var(--r, 0deg)); color: var(--tb-ink); }
.tb-clip:nth-child(3n+1) { --r: -.6deg; } .tb-clip:nth-child(3n+2) { --r: .5deg; }
.tb-clip__shot { --shot-h: 190px; height: var(--shot-h); overflow: hidden; border-bottom: 1px solid var(--tb-ink); background: #ddd5bf; position: relative; display: block; }
/* alive: a slow pan down the article and back, staggered per card */
.tb-clip__shot img { display: block; width: 100%; height: auto; max-width: none; filter: grayscale(1) contrast(1.1); transform: translateY(0); animation: tb-pan 14s ease-in-out infinite; animation-delay: calc(var(--i, 0) * -2.3s); will-change: transform; }
.tb-clip:hover .tb-clip__shot img { filter: none; }
/* pan only the top of each clipping (headline + hero photo), never down into the publishers' ads */
@keyframes tb-pan { 0%, 7% { transform: translateY(0); } 46%, 54% { transform: translateY(max(-28%, calc(-100% + var(--shot-h)))); } 93%, 100% { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .tb-clip__shot img { animation: none; } .tb-samosa img { animation: none; } }
.tb-clip__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.tb-clip__pub { font: 700 10.5px/1 var(--tb-body); letter-spacing: .16em; text-transform: uppercase; color: var(--tb-red); }
.tb-clip__title { font: 900 21px/1.12 var(--tb-head); }
.tb-clip__q { font: italic 400 15px/1.35 var(--tb-head); color: var(--tb-ink-2); }
.tb-clip__more { margin-top: auto; padding-top: 4px; font: 900 14px/1 var(--tb-head); letter-spacing: .06em; text-transform: uppercase; }

/* instagram tiles */
.tb-igtile { position: relative; display: block; aspect-ratio: 1 / 1; border: 2px solid var(--tb-ink); box-shadow: 4px 4px 0 var(--tb-ink); overflow: hidden; background: var(--tb-paper-2); color: var(--tb-paper); }
.tb-igtile .arch-video-host { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.tb-igtile .arch-poster, .tb-igtile .arch-video { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; mix-blend-mode: normal !important; }
.tb-igtile__cap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 8px 10px; background: rgba(44, 42, 37, .9); font: 600 11px/1.2 var(--tb-body); letter-spacing: .12em; text-transform: uppercase; }
.tb-igcta { margin-top: 18px; text-align: left; }
.tb-igcta .tb-btn { margin: 0; }
.tb-igcta__more { margin-top: 10px; font: 500 13px/1.6 var(--tb-body); letter-spacing: .04em; }
.tb-igcta__more a { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 5 · franchise news story ---------- */
.tb-news { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 4px; }
.tb-news h3 { margin: 12px 0 10px; font: 900 clamp(32px, 8.8vw, 68px)/.98 var(--tb-head); letter-spacing: -.015em; text-transform: uppercase; }
.tb-news__text { min-width: 0; }
.tb-news__body { font-family: var(--tb-head); font-size: 17px; line-height: 1.6; }
.tb-news__body p { margin: 0 0 12px; }
.tb-news__body p:first-child::first-letter { float: left; font: 900 70px/.8 var(--tb-head); padding: 6px 8px 0 0; }
.tb-news__pics { display: grid; gap: 14px; align-content: start; min-width: 0; }
.tb-news__pics .tb-cap { margin-top: -8px; }
.tb-halftone { position: relative; overflow: hidden; border: 2px solid var(--tb-ink); margin: 0; background: var(--tb-ink); }
.tb-halftone .arch-video-host { display: block; position: relative; width: 100%; height: auto; aspect-ratio: 4 / 5; }
.tb-halftone .arch-poster, .tb-halftone .arch-video { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; mix-blend-mode: normal !important; filter: saturate(1.05) contrast(1.05); }
.tb-halftone::after { content: ""; position: absolute; inset: 0; z-index: 3; background: radial-gradient(circle at center, rgba(196, 75, 42, .9) 0 34%, transparent 36%) 0 0 / 6px 6px; mix-blend-mode: multiply; opacity: .18; pointer-events: none; }
.tb-news__pics .lm-frame { aspect-ratio: 16 / 9 !important; box-shadow: 4px 4px 0 var(--tb-ink) !important; }
@media (min-width: 1000px) {
  .tb-news { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 28px; }
  .tb-news__body { columns: 2; column-gap: 26px; column-rule: 1px solid rgba(44, 42, 37, .35); }
}
@media (min-width: 600px) and (max-width: 999.98px) {
  .tb-news__pics { grid-template-columns: 1fr 1fr; }
  .tb-news__pics .tb-cap { grid-row: 2; }
}

/* numbers rail */
.tb-stat { border: 2px solid var(--tb-ink); background: var(--tb-paper); padding: 14px 14px 12px; display: flex; flex-direction: column; gap: 4px; min-height: 170px; color: var(--tb-ink); }
.tb-stat:nth-child(odd) { background: var(--tb-yellow); }
.tb-stat__n { font: 900 44px/.95 var(--tb-head); letter-spacing: -.01em; white-space: nowrap; }
.tb-stat__n small { font: inherit; font-size: .42em; margin-left: 4px; letter-spacing: .02em; }
.tb-stat__l { font: 700 11px/1.2 var(--tb-body); letter-spacing: .16em; text-transform: uppercase; }
.tb-stat__d { font: italic 400 14px/1.3 var(--tb-head); color: var(--tb-ink-2); margin-top: auto; padding-top: 10px; }
.tb-small { font: 400 12px/1.45 var(--tb-body); color: var(--tb-ink-2); margin: 10px 0 0; }

/* the existing enquiry form keeps its own markup + behaviour; give it the page rhythm */
body.tb-home .franchise.franchise--tb { padding: 0 var(--tb-gut) !important; margin: 0 auto; background: transparent !important; max-width: 1240px; }
body.tb-home .franchise.franchise--tb .franchise-inner { padding-top: 10px; max-width: none; }
body.tb-home .franchise--tb .franchise-cta-row .btn-ghost { font-size: 12.5px !important; letter-spacing: .02em !important; padding-left: 12px !important; padding-right: 12px !important; }
#press-content { margin-top: 26px; }

/* ---------- 6 · classifieds ---------- */
.tb-classi { columns: 1; column-gap: 0; border: 2px solid var(--tb-ink); background: var(--tb-card); }
.tb-ad { break-inside: avoid; padding: 12px 14px; border-bottom: 1px solid var(--tb-ink); }
.tb-ad h3 { margin: 0 0 4px; font: 900 20px/1 var(--tb-head); text-transform: uppercase; }
.tb-ad p { margin: 0; font: 400 14px/1.45 var(--tb-body); }
.tb-ad a { font-weight: 700; text-decoration: none; border-bottom: 1px solid; overflow-wrap: anywhere; }
.tb-ad--wanted { background: var(--tb-ink); color: var(--tb-paper); }
.tb-ad--wanted h3 { font-size: 30px; color: var(--tb-yellow); }
.tb-ad--wanted a { color: var(--tb-yellow); }
.tb-ad--notice { background: var(--tb-yellow); }
@media (min-width: 640px) { .tb-classi { columns: 2; } .tb-ad { border-right: 1px solid var(--tb-ink); } }
@media (min-width: 1000px) { .tb-classi { columns: 4; } }

/* ---------- footer: collapsible link columns on phones ---------- */
body.tb-home .foot-fold { margin: 0; }
body.tb-home .foot-fold > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body.tb-home .foot-fold > summary::-webkit-details-marker { display: none; }
body.tb-home .foot-fold > summary h3 { margin: 0; }
@media (max-width: 759.98px) {
  body.tb-home .footer-grid { gap: 0 !important; }
  body.tb-home .foot-fold { border-bottom: 1px solid color-mix(in srgb, currentColor 28%, transparent); }
  body.tb-home .foot-fold > summary { padding: 14px 0; min-height: 48px; }
  body.tb-home .foot-fold > summary::after { content: "+"; font: 900 24px/1 var(--tb-head); }
  body.tb-home .foot-fold[open] > summary::after { content: "\2212"; }
  body.tb-home .foot-fold[open] > :not(summary) { padding-bottom: 12px; }
  body.tb-home .footer .brand-block { padding-bottom: 18px; }
}
@media (min-width: 760px) {
  body.tb-home .foot-fold > summary { pointer-events: none; cursor: default; }
}

/* visually hidden text (crawlers + screen readers still read it) */
.tb-vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.tb-ad__nm { display: block; font: 700 10.5px/1.3 var(--tb-body); letter-spacing: .1em; text-transform: uppercase; color: var(--tb-red); margin-bottom: 3px; }
.tb-ad--wanted .tb-ad__nm { color: var(--tb-yellow); }

body.tb-home .funny-pages.tb-sec { padding: 14px 0 26px !important; background: transparent !important; margin: 10px 0 0 !important; max-width: none !important; }

/* tablets: keep the sidebar boxes a readable width (the 4:5 art is never cropped) */
@media (min-width: 600px) and (max-width: 999.98px) {
  .tb-side { max-width: 520px; }
}

/* restored franchise deck request button (mailto) */
.tb-deck { display: inline-flex; margin: 14px 0 0; }
