/* TEZ Packers & Movers — design system "Kashi Heritage" (Nov 2026, option B of three)
   Ink #2E1519 · Sindoor maroon #8E1F2F (buttons, links; white text on it) · Marigold #E9A23B (fills, ink text)
   Leaf #138A4B (WhatsApp) · Cream tint #FBF3E4 · Line #EADBC3
   Type: Playfair Display (headings) + Mukta (body, Latin + Devanagari)
   Motifs: arch-topped photo frames, toran stripe under the hero, marigold dividers. Motion respects prefers-reduced-motion. */

:root {
  --ink: #2E1519; --ink-2: #634448; --ink-deep: #1E0D10; --night: #4A1D26;
  --saffron: #E9A23B; --rust: #8E1F2F; --sindoor: #8E1F2F; --gold: #F4C26B;
  --leaf: #0F7D45; --tint: #FBF3E4; --tint-2: #FDF8EF; --line: #EADBC3; --field: #CDB99A;
  --white: #FFFFFF; --cream: #FFFDF8; --mist: #E3CFC9;
  --r: 18px; --r-sm: 12px; --wrap: 1200px; --arch: 999px 999px 22px 22px;
  --head: "Playfair Display", Georgia, "Times New Roman", serif;
  --body: "Mukta", "Noto Sans", system-ui, sans-serif;
  --shadow: 0 12px 32px rgba(46, 21, 25, .10);
  --toran: repeating-linear-gradient(90deg, #8E1F2F 0 18px, #E9A23B 18px 36px, #138A4B 36px 54px);
}

/* ---------- base (new pages) ---------- */
.tz { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--body); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
.tz *, .tz *::before, .tz *::after { box-sizing: border-box; }
.tz img { max-width: 100%; height: auto; display: block; }
.tz a { color: var(--ink); }
.tz a:hover { color: var(--rust); }
.tz h1, .tz h2, .tz h3 { font-family: var(--head); line-height: 1.15; margin: 0; letter-spacing: -0.01em; }
.tz p { margin: 0; }
.tz :focus-visible { outline: 3px solid var(--saffron); outline-offset: 2px; }
.tz-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 20px; }
.tz-section { padding: 72px 0 0; }
.tz-eyebrow { font-weight: 700; color: var(--rust); text-transform: uppercase; letter-spacing: .05em; font-size: 14px; margin-bottom: 6px; }
.tz-h2 { font-size: clamp(28px, 4vw, 38px); margin-bottom: 12px; }
.tz-lead { color: var(--ink-2); max-width: 720px; }
.tz-muted { color: var(--ink-2); }
.tz-skip { position: absolute; left: -999px; top: 0; background: var(--ink); color: #fff; padding: 10px 14px; z-index: 100; }
.tz-skip:focus { left: 8px; }

/* ---------- buttons ---------- */
.tz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 24px; border-radius: var(--r-sm); font-weight: 700; text-decoration: none; border: 0; font-family: var(--body); font-size: 17px; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.tz-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(27, 31, 59, .18); }
.tz-btn svg { width: 20px; height: 20px; flex: none; }
.tz .tz-btn--ink, .tz-btn--ink { background: var(--rust); color: var(--white); }
.tz .tz-btn--wa, .tz-btn--wa { background: var(--leaf); color: var(--white); }
.tz .tz-btn--saffron, .tz-btn--saffron { background: var(--saffron); color: var(--ink); }
.tz .tz-btn--white, .tz-btn--white { background: var(--white); color: var(--ink); }
.tz .tz-btn:hover { color: inherit; }
.tz .tz-btn--ink:hover, .tz .tz-btn--wa:hover { color: var(--white); }
.tz-btns { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- top strip + header (shared by every page) ---------- */
.tz-strip { background: var(--rust); color: #F3F1EA; font: 14px/1.4 var(--body); }
.tz-strip .tz-wrap { display: flex; flex-wrap: wrap; gap: 6px 24px; justify-content: space-between; padding-top: 8px; padding-bottom: 8px; }
.tz-header { background: var(--white); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; font-family: var(--body); }
.tz-header__in { display: flex; align-items: center; gap: 24px; min-height: 72px; max-width: var(--wrap); margin: 0 auto; padding: 0 20px; }
.tz-logo img { height: 48px; width: auto; display: block; }
.tz-nav { display: flex; gap: 26px; margin-left: auto; }
.tz-nav a { color: var(--ink); text-decoration: none; font-weight: 500; font-size: 17px; }
.tz-nav a:hover, .tz-nav a[aria-current="page"] { color: var(--rust); }
.tz-header .tz-btn { min-height: 44px; border-radius: 999px; padding: 0 18px; }
.tz-menu { display: none; position: relative; }
.tz-menu > summary { list-style: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 10px; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.tz-menu > summary::-webkit-details-marker { display: none; }
.tz-menu nav { position: absolute; right: 0; top: 52px; width: min(86vw, 320px); background: var(--white); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); padding: 8px; display: flex; flex-direction: column; }
.tz-menu nav a { padding: 12px 14px; border-radius: 10px; text-decoration: none; color: var(--ink); font-weight: 500; font-size: 17px; }
.tz-menu nav a:hover { background: var(--tint); }

/* ---------- hero ---------- */
.tz-hero { background: radial-gradient(900px 420px at 90% 0, #F8E2BC 0, transparent 60%), var(--tint); position: relative; }
.tz-hero::after, .tz-page-hero::after { content: ""; display: block; height: 10px; background: var(--toran); }
.tz-hero__in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; align-items: center; padding: 64px 20px 80px; max-width: var(--wrap); margin: 0 auto; }
.tz-hero h1 { font-size: clamp(36px, 5.2vw, 58px); line-height: 1.07; letter-spacing: -0.02em; }
.tz-hero__hi { font-size: 22px; font-weight: 500; color: var(--sindoor); margin-top: 12px; }
.tz-hero__sub { font-size: 19px; margin: 16px 0 28px; max-width: 560px; }
.tz-hero figure { margin: 0; position: relative; }
.tz-hero figure img { width: 100%; aspect-ratio: 1 / 1.05; object-fit: cover; border-radius: var(--arch); }
.tz-hero figcaption { position: absolute; left: 16px; bottom: 16px; background: var(--white); border-radius: var(--r-sm); padding: 8px 14px; font-size: 15px; box-shadow: 0 6px 20px rgba(27, 31, 59, .18); }
.tz-ratings { list-style: none; margin: 28px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.tz-ratings li { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-sm); }
.tz-ratings a { display: block; padding: 10px 16px; text-decoration: none; color: var(--ink-2); }
.tz-ratings strong { color: var(--ink); font-size: 20px; margin-right: 4px; }

/* ---------- quick quote ---------- */
.tz-quote { position: relative; margin-top: -40px; }
.tz-quote form { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 24px; box-shadow: var(--shadow); }
.tz-quote h2 { font-size: 20px; margin-bottom: 14px; }
.tz-quote__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 12px; align-items: end; }
.tz-field { display: flex; flex-direction: column; gap: 4px; font-size: 14px; font-weight: 500; }
.tz-field input, .tz-field select { min-height: 48px; border: 1px solid var(--field); border-radius: 10px; padding: 0 12px; font: 16px var(--body); color: var(--ink); background: var(--white); width: 100%; }
.tz-quote .tz-btn { min-height: 48px; border-radius: 10px; }

/* ---------- cards / grids ---------- */
.tz-grid { display: grid; gap: 24px; }
.tz-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tz-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.tz-card { display: block; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: var(--white); text-decoration: none; color: inherit; transition: box-shadow .2s ease, transform .2s ease; }
.tz a.tz-card { color: var(--ink); }
.tz-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.tz-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.tz-card__body { padding: 18px 20px 22px; }
.tz-card h3 { font-size: 20px; }
.tz-card p { color: var(--ink-2); margin-top: 6px; }
.tz-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.tz-split--top { align-items: start; }
.tz-photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; }

/* ---------- rates table ---------- */
.tz-table { border: 1px solid var(--line); border-radius: var(--r); overflow-x: auto; }
.tz-table table { width: 100%; border-collapse: collapse; font-size: 17px; }
.tz-table th { background: var(--ink); color: var(--white); text-align: left; padding: 14px 18px; font-weight: 700; }
.tz-table td { padding: 14px 18px; border-top: 1px solid var(--line); }
.tz-table tr:nth-child(even) td { background: var(--tint-2); }
.tz-table .num { text-align: right; font-weight: 700; white-space: nowrap; }

/* ---------- steps ---------- */
.tz-steps { list-style: none; margin: 0; padding: 0; counter-reset: s; }
.tz-steps li { border-top: 4px solid var(--saffron); padding-top: 16px; }
.tz-steps li::before { counter-increment: s; content: "0" counter(s); display: block; font: 700 28px var(--head); color: var(--rust); }
.tz-steps h3 { font-size: 20px; margin: 4px 0; }
.tz-steps p { color: var(--ink-2); }

/* ---------- reviews ---------- */
.tz-dark { background: var(--ink); color: #F3F1EA; margin-top: 72px; }
.tz-dark .tz-wrap { padding-top: 72px; padding-bottom: 72px; }
.tz-dark .tz-eyebrow { color: var(--gold); }
.tz-dark h2 { color: var(--white); }
.tz-dark a { color: var(--gold); font-weight: 700; }
.tz-dark a:hover { color: var(--white); }
.tz-review { margin: 0; background: var(--night); border-radius: var(--r); padding: 22px; }
.tz-review__stars { color: var(--gold); letter-spacing: 2px; }
.tz-review blockquote { margin: 10px 0 14px; font-size: 18px; color: var(--white); }
.tz-review figcaption { color: var(--mist); font-size: 15px; }
.tz-row-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 28px; }

/* ---------- facts / chips ---------- */
.tz-facts { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.tz-facts li { background: var(--tint); border-radius: var(--r-sm); padding: 14px; }
.tz-facts strong { display: block; font-size: 18px; }
.tz-facts span { color: var(--ink-2); font-size: 15px; }
.tz-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.tz-chips li { border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; background: var(--white); }
.tz-panel { background: var(--white); border-radius: var(--r); padding: 22px; }
.tz-panel h3 { font-size: 20px; margin-bottom: 8px; }
.tz-panel ul { margin: 0; padding-left: 18px; }
.tz-tint { background: var(--tint); margin-top: 88px; }
.tz-tint > .tz-wrap { padding-top: 72px; padding-bottom: 72px; }

/* ---------- FAQ ---------- */
.tz-faq details { border-top: 1px solid var(--line); padding: 16px 0; }
.tz-faq details:last-child { border-bottom: 1px solid var(--line); }
.tz-faq summary { font-weight: 700; cursor: pointer; font-size: 18px; list-style-position: outside; }
.tz-faq details p { margin-top: 8px; color: var(--ink-2); }

/* ---------- CTA band ---------- */
.tz-cta { background: linear-gradient(135deg, var(--saffron), var(--gold)); border-radius: 24px; padding: 40px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; color: var(--ink); }
.tz-cta h2 { font-size: clamp(24px, 3vw, 32px); }

/* ---------- article (district / route / areas pages) ---------- */
.tz-page-hero { background: var(--tint); }
.tz-page-hero .tz-wrap { padding-top: 48px; padding-bottom: 48px; }
.tz-page-hero h1 { font-size: clamp(32px, 4.6vw, 48px); line-height: 1.1; }
.tz-crumbs { font-size: 15px; color: var(--ink-2); margin-bottom: 14px; }
.tz-crumbs a { color: var(--ink-2); }
.tz-two { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; padding-top: 48px; padding-bottom: 72px; }
.tz-prose h2 { font-size: 28px; margin: 32px 0 10px; }
.tz-prose h2:first-child { margin-top: 0; }
.tz-prose h3 { font-size: 20px; margin: 24px 0 8px; }
.tz-prose p + p { margin-top: 12px; }
.tz-prose ul { padding-left: 20px; margin: 8px 0; }
.tz-prose li { margin: 4px 0; }
.tz-aside { border: 1px solid var(--line); border-radius: var(--r); padding: 22px; background: var(--white); position: sticky; top: 92px; }
.tz-aside h2 { font-size: 22px; }
.tz-aside .tz-btn { width: 100%; margin-top: 10px; }
.tz-aside hr { border: 0; border-top: 1px solid var(--line); margin: 20px 0; }
.tz-zone { background: var(--tint-2); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 18px 20px; margin-top: 14px; }
.tz-zone h3 { margin-top: 0; }

/* ---------- footer (shared by every page) ---------- */
.tz-footer { background: var(--ink-deep); color: var(--mist); font: 15px/1.6 var(--body); padding-bottom: 76px; }
.tz-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 32px; max-width: var(--wrap); margin: 0 auto; padding: 56px 20px 32px; }
.tz-footer h2 { font: 700 16px var(--body); color: var(--white); margin: 0 0 10px; letter-spacing: 0; }
.tz-footer p { margin: 0 0 6px; }
.tz-footer ul { list-style: none; margin: 0; padding: 0; }
.tz-footer li { margin: 0 0 6px; }
.tz-footer a { color: var(--mist); text-decoration: none; }
.tz-footer a:hover { color: var(--white); text-decoration: underline; }
.tz-footer__brand { color: var(--white); font: 700 18px var(--head); margin-bottom: 8px; }
.tz-fine { font-size: 12px; line-height: 1.5; color: var(--ink-2); margin: 12px 0 0; }
.tz-footer__fine { max-width: var(--wrap); margin: 0 auto; padding: 0 20px 14px; color: var(--mist); opacity: .8; }
.tz-footer__bar { border-top: 1px solid #2A2E4A; max-width: var(--wrap); margin: 0 auto; padding: 18px 20px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }

/* sticky call / WhatsApp bar on phones */
.tz-callbar { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 -6px 18px rgba(27, 31, 59, .08); }
.tz-callbar a { min-height: 50px; font-family: var(--body); }

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
  .tz-nav { display: none; }
  .tz-menu { display: block; }
  .tz-header .tz-btn { margin-left: auto; }
}
@media (max-width: 960px) {
  .tz-hero__in, .tz-split, .tz-two { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .tz-hero__in { padding-top: 32px; }
  .tz-grid--3, .tz-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tz-quote__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tz-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tz-aside { position: static; }
}
@media (max-width: 640px) {
  .tz { font-size: 16px; }
  .tz-strip .tz-wrap span + span { display: none; }
  .tz-header .tz-btn { display: none; }
  .tz-menu { margin-left: auto; }
  .tz-logo img { height: 40px; }
  .tz-grid--3, .tz-quote__grid, .tz-footer__grid { grid-template-columns: minmax(0, 1fr); }
  .tz-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tz-facts { grid-template-columns: minmax(0, 1fr); }
  .tz-section { padding-top: 56px; }
  .tz-cta { padding: 28px 20px; }
  .tz-callbar { display: grid; }
}
@media (prefers-reduced-motion: reduce) { .tz-btn, .tz-card { transition: none; } .tz-btn:hover, .tz-card:hover { transform: none; } }

/* ---------- legacy pages (theme markup) — align with the new look ---------- */
body.tz-legacy { font-family: var(--body); color: var(--ink); padding-top: 0 !important; }
body.tz-legacy :is(p, li, td, th, blockquote, label, input, select, textarea, button, a:not(.fa):not([class*="flaticon"])) { font-family: var(--body) !important; }
body.tz-legacy :is(h1, h2, h3, h4, h5, h6) { font-family: var(--head) !important; letter-spacing: -0.01em; }
body.tz-legacy .tezpackersandmovers-main-content { padding-bottom: 48px; }
body.tz-legacy h1, body.tz-legacy h2, body.tz-legacy h3, body.tz-legacy h4, body.tz-legacy h5, body.tz-legacy h6 { font-family: var(--head); color: var(--ink); }
body.tz-legacy p, body.tz-legacy li { font-size: 17px; line-height: 1.65; }
/* theme content sections: light background, ink text (the theme used dark navy panels) */
body.tz-legacy .tezpackersandmovers-main-content, body.tz-legacy .tezpackersandmovers-main-section { background-color: var(--white) !important; background-image: none !important; }
body.tz-legacy .tezpackersandmovers-main-section:nth-of-type(even) { background-color: var(--tint-2) !important; }
body.tz-legacy .tezpackersandmovers-main-content :is(p, li, span, td, th, h1, h2, h3, h4, h5, h6, blockquote, label, strong, small, figcaption) { color: var(--ink) !important; }
body.tz-legacy .tezpackersandmovers-main-content :is(.tezpackersandmovers-fancy-title span, .tezpackersandmovers-aboutus-heading span, h2 span) { color: var(--rust) !important; }
body.tz-legacy .tezpackersandmovers-main-content a:not(.tz-btn):not([class*="btn"]):not(.fa):not([class*="flaticon"]) { color: var(--rust); }
body.tz-legacy .tezpackersandmovers-main-content [class*="transparent"] { display: none !important; }
body.tz-legacy .tezpackersandmovers-subheader { background: var(--tint) none !important; padding: 48px 0 !important; }
body.tz-legacy .tezpackersandmovers-subheader .tezpackersandmovers-dark-transparent { display: none; }
body.tz-legacy .tezpackersandmovers-subheader h1 { color: var(--ink) !important; font-size: clamp(30px, 4.4vw, 46px) !important; text-transform: none !important; }
body.tz-legacy .tezpackersandmovers-breadcrumb li, body.tz-legacy .tezpackersandmovers-breadcrumb li a { color: var(--ink-2) !important; }
body.tz-legacy .tezpackersandmovers-bgcolor { background-color: var(--rust) !important; }
body.tz-legacy .tezpackersandmovers-classic-btn, body.tz-legacy .tezpackersandmovers-simple-btn { background: var(--ink) !important; color: var(--white) !important; border-radius: var(--r-sm) !important; }
body.tz-legacy .tezpackersandmovers-twitter-feed { display: none; }

/* ---------- heritage motifs ---------- */
.tz-card { border-radius: 160px 160px var(--r) var(--r); }
.tz-card img { border-radius: 160px 160px 0 0; transition: transform .6s ease; }
.tz-card:hover img { transform: scale(1.04); }
.tz-card { overflow: hidden; }
.tz-photo--arch { border-radius: var(--arch); aspect-ratio: 1 / 1.1; }
.tz-h2::after { content: ""; display: block; width: 64px; height: 4px; margin-top: 12px; border-radius: 4px; background: linear-gradient(90deg, var(--saffron) 0 60%, var(--rust) 60%); }
.tz-dark .tz-h2::after, .tz-cta h2::after { display: none; }
.tz-header.is-scrolled { box-shadow: 0 6px 20px rgba(46, 21, 25, .10); }

/* hero slideshow (restores the old fading banner) */
.tz-slides { position: relative; aspect-ratio: 1 / 1.05; }
.tz-slides img { position: absolute; inset: 0; height: 100%; opacity: 0; animation: tzfade 18s infinite; }
.tz-slides img:nth-child(1) { animation-delay: 0s; position: relative; }
.tz-slides img:nth-child(2) { animation-delay: 6s; }
.tz-slides img:nth-child(3) { animation-delay: 12s; }
@keyframes tzfade { 0% { opacity: 0; } 4% { opacity: 1; } 33% { opacity: 1; } 38% { opacity: 0; } 100% { opacity: 0; } }
.tz-slides img:nth-child(1) { opacity: 1; animation-name: tzfade1; }
@keyframes tzfade1 { 0%, 33% { opacity: 1; } 38%, 96% { opacity: 0; } 100% { opacity: 1; } }

/* trust marquee (restores the old partner slider, with verified credentials only) */
.tz-marquee { overflow: hidden; border-block: 1px solid var(--line); background: var(--white); }
.tz-marquee__track { display: flex; gap: 48px; width: max-content; padding: 16px 0; animation: tzmarq 40s linear infinite; }
.tz-marquee:hover .tz-marquee__track { animation-play-state: paused; }
.tz-marquee ul { display: flex; gap: 48px; margin: 0; padding: 0; list-style: none; }
.tz-marquee li { white-space: nowrap; font-weight: 500; color: var(--ink-2); display: flex; align-items: center; gap: 10px; }
.tz-marquee li::before { content: ""; width: 10px; height: 10px; transform: rotate(45deg); background: var(--saffron); flex: none; }
@keyframes tzmarq { to { transform: translateX(-50%); } }

/* stats with count-up (restores the old counters, real numbers only) */
.tz-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; list-style: none; margin: 0; padding: 0; }
.tz-stats li { text-align: center; padding: 24px 12px; background: var(--white); border: 1px solid var(--line); border-radius: var(--arch); }
.tz-stats strong { display: block; font: 700 clamp(32px, 4vw, 44px)/1.1 var(--head); color: var(--rust); }
.tz-stats span { color: var(--ink-2); }

/* why / included */
.tz-why { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tz-why li { background: var(--white); border: 1px solid var(--line); border-left: 4px solid var(--saffron); border-radius: var(--r-sm); padding: 16px 18px; }
.tz-why strong { display: block; font-size: 18px; }
.tz-why span { color: var(--ink-2); }
.tz-included { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.tz-included li { padding-left: 32px; position: relative; }
.tz-included li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 22px; height: 22px; border-radius: 50%; background: var(--leaf); color: #fff; font-size: 13px; display: grid; place-items: center; margin-top: 3px; }

/* reviews carousel (restores the old testimonial slider) */
.tz-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 3); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 4px; }
.tz-carousel::-webkit-scrollbar { display: none; }
.tz-carousel > * { scroll-snap-align: start; }
.tz-carousel-nav { display: flex; gap: 10px; }
.tz-carousel-nav button { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35); background: transparent; color: #fff; font-size: 22px; cursor: pointer; }
.tz-carousel-nav button:hover { background: rgba(255, 255, 255, .12); }

/* map */
.tz-map { border-radius: var(--r); overflow: hidden; border: 1px solid var(--line); background: var(--tint); }
.tz-map iframe { display: block; width: 100%; height: 380px; border: 0; }

/* scroll reveal — only when JS has run (html.tz-js), so content is never hidden without JS */
.tz-js .tz-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.tz-js .tz-reveal.is-in { opacity: 1; transform: none; }

@media (max-width: 960px) {
  .tz-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tz-carousel { grid-auto-columns: 85%; }
  .tz-why { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .tz-slides img, .tz-marquee__track, .tz-hero figure { animation: none !important; }
  .tz-slides img:not(:first-child) { display: none; }
  .tz-js .tz-reveal { opacity: 1; transform: none; transition: none; }
  .tz-card img, .tz-btn, .tz-card { transition: none; }
  .tz-carousel { scroll-behavior: auto; }
}
.tz [id], body.tz-legacy [id] { scroll-margin-top: 96px; }

/* legacy pages: recovered "What's included" list, and the photo gallery as a grid */
body.tz-legacy .tz-included, body.tz-legacy .tz-included li { list-style: none !important; }
body.tz-legacy .tz-included { margin-bottom: 28px; }
body.tz-legacy .tz-included li::after { display: none; }
body.tz-legacy #gallery-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; }
body.tz-legacy #gallery-container::before, body.tz-legacy #gallery-container::after { display: none; }
body.tz-legacy #gallery-container > .col-md-12 { grid-column: 1 / -1; }
body.tz-legacy .gallery-card { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: var(--white); height: 100%; }
body.tz-legacy .gallery-image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
body.tz-legacy .gallery-content { padding: 14px 16px; }
body.tz-legacy .gallery-title { font-size: 18px !important; margin: 0 0 4px; }
body.tz-legacy .gallery-description { font-size: 15px !important; color: var(--ink-2); margin: 0; }
@media (max-width: 960px) { body.tz-legacy #gallery-container { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { body.tz-legacy #gallery-container { grid-template-columns: 1fr; } }

/* logistics partner logos (owner confirmed the partnerships, Nov 2026) */
.tz-partners .tz-marquee__track, .tz-partners ul { gap: 64px; align-items: center; }
.tz-partners li::before { display: none; }
.tz-partners img { height: 40px; width: auto; max-width: 140px; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .3s, opacity .3s; }
.tz-partners li:hover img { filter: none; opacity: 1; }
body.tz-legacy .tz-footer h2 { color: var(--white) !important; font-family: var(--body) !important; }

/* blog: full list of guides on the index, related guides under each post */
.tz-allguides, .tz-related { max-width: var(--wrap); margin: 32px auto 48px; padding: 28px 20px 8px; border-top: 4px solid var(--saffron); }
.tz-allguides h2, .tz-related h2 { font-size: 28px !important; margin: 0 0 8px; }
.tz-allguides h3 { font-size: 20px !important; margin: 20px 0 6px; }
.tz-allguides ul, .tz-related ul { columns: 2 320px; column-gap: 32px; padding-left: 20px; margin: 0 0 12px; }
.tz-allguides li, .tz-related li { break-inside: avoid; margin: 6px 0; }
.tz-allguides a, .tz-related a { color: var(--rust); }
.tz-card__more { margin-top: 10px !important; color: var(--rust) !important; font-weight: 700; font-size: 15px; }
