/*
Theme Name:  This Is Kumasi
Theme URI:   https://thisiskumasi.com
Author:      This Is Kumasi
Description: Premium city discovery platform — Kumasi, Ghana.
Version: 5.6.20-design-system-phase4
License:     Proprietary
Text Domain: thisiskumasi
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  /* Semantic foundation tokens */
  --color-brand-navy: #0F172A;
  --color-brand-navy-dark: #080E1A;
  --color-brand-navy-mid: #1A2744;
  --color-brand-navy-light: #243460;
  --color-brand-gold: #C9A227;
  --color-brand-gold-bright: #DDB830;
  --color-brand-gold-muted: #A8861F;
  --color-brand-gold-pale: #FBF6E3;
  --color-cta-primary: #C2410C;
  --color-cta-primary-hover: #9A3412;
  --color-cta-primary-shadow: rgba(194,65,12,.28);
  --color-white: #FFFFFF;
  --color-neutral-50: #F8F9FA;
  --color-neutral-100: #EAECF0;
  --color-neutral-200: #D0D5DD;
  --color-neutral-300: #98A2B3;
  --color-neutral-500: #667085;
  --color-neutral-700: #344054;
  --color-neutral-900: #101828;
  --radius-card: 12px;
  --radius-control: 8px;
  --radius-premium: 16px;
  --radius-pill: 9999px;
  --shadow-card: 0 1px 3px rgba(15,23,42,.06), 0 2px 8px rgba(15,23,42,.05);
  --shadow-card-hover: 0 8px 32px rgba(15,23,42,.14), 0 2px 8px rgba(15,23,42,.06);
  --shadow-premium: 0 16px 42px rgba(15,23,42,.09);
  --shadow-cta: 0 4px 20px var(--color-cta-primary-shadow);
  --focus-ring-color: rgba(201,162,39,.62);
  --focus-ring: 0 0 0 3px rgba(201,162,39,.24);
  --focus-ring-strong: 0 0 0 4px rgba(201,162,39,.34);
  --tik-mobile-dock-h: 74px;
  --tik-mobile-gap: 12px;
  --tik-safe-bottom: env(safe-area-inset-bottom, 0px);
  --tik-mobile-clearance: calc(var(--tik-mobile-dock-h) + 34px + var(--tik-safe-bottom));
  --tik-mobile-dock-clearance: var(--tik-mobile-clearance);
  --tik-final-dock-clearance: var(--tik-mobile-clearance);

  /* Brand */
  --navy:        var(--color-brand-navy);
  --navy-dark:   var(--color-brand-navy-dark);
  --navy-mid:    var(--color-brand-navy-mid);
  --navy-light:  var(--color-brand-navy-light);
  --gold:        var(--color-brand-gold);
  --gold-bright: var(--color-brand-gold-bright);
  --gold-muted:  var(--color-brand-gold-muted);
  --gold-pale:   var(--color-brand-gold-pale);
  --orange:      var(--color-cta-primary);
  --orange-h:    var(--color-cta-primary-hover);
  --white:       var(--color-white);
  --n50:         var(--color-neutral-50);
  --n100:        var(--color-neutral-100);
  --n200:        var(--color-neutral-200);
  --n300:        var(--color-neutral-300);
  --n500:        var(--color-neutral-500);
  --n700:        var(--color-neutral-700);
  --n900:        var(--color-neutral-900);

  /* Status */
  --st-planning:  #6366F1;
  --st-active:    #12B76A;
  --st-paused:    #F79009;
  --st-completed: #0F172A;

  /* Fonts */
  --font-display: 'Playfair Display', Georgia, serif;
  --font-ui:      'DM Sans', system-ui, sans-serif;

  /* Type scale */
  --t12: 0.75rem;
  --t13: 0.8125rem;
  --t14: 0.875rem;
  --t15: 0.9375rem;
  --t16: 1rem;
  --t18: 1.125rem;
  --t20: 1.25rem;
  --t24: 1.5rem;
  --t28: 1.75rem;
  --t32: 2rem;
  --t36: 2.25rem;
  --t42: 2.625rem;
  --t48: 3rem;
  --t56: 3.5rem;
  --t64: 4rem;

  /* Spacing — 8px grid */
  --s1:  0.25rem;
  --s2:  0.5rem;
  --s3:  0.75rem;
  --s4:  1rem;
  --s5:  1.25rem;
  --s6:  1.5rem;
  --s8:  2rem;
  --s10: 2.5rem;
  --s12: 3rem;
  --s16: 4rem;
  --s20: 5rem;
  --s24: 6rem;
  --s32: 8rem;

  /* Card */
  --card-pad:     var(--s5);
  --card-radius:  var(--radius-card);
  --card-shadow:  var(--shadow-card);
  --card-hover:   var(--shadow-card-hover);
  --card-border:  1px solid var(--n100);

  /* Radii */
  --r-xs:   2px;
  --r-sm:   4px;
  --r-md:   var(--radius-control);
  --r-lg:   var(--radius-card);
  --r-xl:   var(--radius-premium);
  --r-2xl:  24px;
  --r-full: 9999px;

  /* Shadows */
  --sh-xs:     0 1px 2px rgba(15,23,42,.07);
  --sh-sm:     var(--card-shadow);
  --sh-md:     0 4px 16px rgba(15,23,42,.10);
  --sh-lg:     var(--card-hover);
  --sh-xl:     0 24px 48px rgba(15,23,42,.16);
  --sh-gold:   0 4px 20px rgba(201,162,39,.28);
  --sh-orange: var(--shadow-cta);

  /* Layout */
  --max-w:        1280px;
  --max-w-wide:   1440px;
  --max-w-narrow: 720px;
  --max-w-text:   680px;        /* prose / single-column reading */

  /* ── Layout normalisation tokens ─────────────────────────
     All editorial 2-col splits use ONE ratio.
     All inline search bars use ONE max-width.
     All filter-to-content gaps use ONE value.            */
  --split-editorial:  1.5fr 1fr;   /* trending, newsroom, any feature+stack */
  --split-sidebar:    1fr 300px;   /* article sidebar */
  --split-listing:    1fr 360px;   /* directory/event/project contact card */
  --search-max-w:     560px;       /* hero search + archive search bars */
  --filter-gap:       var(--s8);   /* gap below filter tabs before grid */
  --sec-header-gap:   var(--s10);  /* gap below sec-header before content */

  /* Motion */
  --ease:    cubic-bezier(0.0,0.0,0.2,1);
  --ease-io: cubic-bezier(0.4,0.0,0.2,1);
  --ease-spring: cubic-bezier(0.34,1.56,0.64,1);
  --fast:  130ms;
  --base:  220ms;
  --slow:  360ms;
  --lazy:  500ms;

  /* Z */
  --z-base:  1;
  --z-float: 10;
  --z-sticky:50;
  --z-nav:   200;
  --z-modal: 1000;
  --z-toast: 9999;
}

/* Jobs board production polish */
.tik-job-board,
.tik-job-single {
  --tik-job-action: var(--color-cta-primary);
  --tik-job-action-hover: var(--color-cta-primary-hover);
  --tik-job-action-shadow: var(--color-cta-primary-shadow);
}
.tik-job-board-hero,
.tik-job-single-hero {
  background: linear-gradient(135deg, #0F172A 0%, #151f35 68%, #33270b 145%);
  color: #fff;
  padding: clamp(2rem, 4.4vw, 3.35rem) 0 clamp(1.75rem, 3.5vw, 2.65rem) !important;
}
.tik-job-single-hero {
  padding: clamp(3.2rem, 7vw, 5.8rem) 0 clamp(2.4rem, 5vw, 4rem) !important;
}
.tik-job-board-hero .archive-hero__label { margin-bottom: .55rem; }
.tik-job-board-hero h1,
.tik-job-single-hero h1 {
  color: #fff;
  max-width: 880px;
  letter-spacing: 0;
  line-height: 1.04;
}
.tik-job-board-hero h1 {
  font-size: clamp(2rem, 4.4vw, 3.65rem) !important;
  max-width: 780px;
}
.tik-job-board-hero p,
.tik-job-single-hero p {
  color: rgba(255,255,255,.78);
  max-width: 760px;
}
.tik-job-board-hero p {
  margin-top: .65rem;
  font-size: clamp(.98rem, 1.4vw, 1.12rem);
  line-height: 1.6;
  max-width: 680px;
}
.tik-job-board-hero__actions { margin-top: 1rem; }
.tik-job-board-section {
  background: #f8fafc;
  padding-top: clamp(2.1rem, 4vw, 3.1rem) !important;
}
.tik-job-board,
.tik-job-board-section,
#tik-job-results,
.tik-job-results-grid {
  max-width: 100%;
  overflow-x: clip;
}
.tik-job-filter,
.tik-job-results-head,
.tik-job-card,
.tik-job-card__top,
.tik-job-card__body,
.tik-job-card__company,
.tik-job-card__meta,
.tik-job-card__actions {
  min-width: 0;
  max-width: 100%;
}
.tik-job-filter {
  display: grid;
  grid-template-columns: minmax(240px, 1.35fr) repeat(5, minmax(142px, 1fr)) minmax(124px, .62fr) !important;
  gap: .82rem !important;
  align-items: end !important;
  padding: 1rem !important;
  margin-top: -2.25rem !important;
  margin-bottom: 1.35rem;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(15,23,42,.12);
  position: relative;
  z-index: 3;
}
.tik-job-filter__field { display: grid; gap: .46rem !important; min-width: 0; }
.tik-job-filter__field span {
  color: #243044 !important;
  font-size: .84rem !important;
  font-weight: 850 !important;
  line-height: 1.1;
}
.tik-job-filter input,
.tik-job-filter select,
.tik-job-filter__submit {
  min-height: 48px !important;
  height: 48px;
}
.tik-job-filter input,
.tik-job-filter select {
  width: 100%;
  border: 1px solid rgba(15,23,42,.14) !important;
  border-radius: 8px;
  background: #fff;
  color: #0F172A;
  padding: 0 .8rem;
  font: inherit;
  box-shadow: inset 0 1px 0 rgba(15,23,42,.03);
}
.tik-job-filter input:focus,
.tik-job-filter select:focus {
  border-color: rgba(201,162,39,.62) !important;
  outline: 3px solid rgba(201,162,39,.16);
}
.tik-job-filter__submit,
.tik-job-filter-toggle,
.tik-job-board .btn--primary,
.tik-job-single .btn--primary,
.tik-job-card__apply,
.tik-job-sticky-apply {
  background: var(--tik-job-action, #C2410C) !important;
  border-color: var(--tik-job-action, #C2410C) !important;
  color: #fff !important;
  text-decoration: none;
}
.tik-job-filter__submit,
.tik-job-filter-toggle {
  border: 0;
  border-radius: 8px;
  padding: 0 1.1rem;
  font-weight: 850;
  cursor: pointer;
}
.tik-job-filter__submit {
  width: 100%;
  white-space: nowrap;
  padding-inline: 1rem !important;
  box-shadow: 0 10px 24px var(--tik-job-action-shadow, rgba(194,65,12,.28));
}
.tik-job-filter__submit:hover,
.tik-job-filter-toggle:hover,
.tik-job-board .btn--primary:hover,
.tik-job-single .btn--primary:hover,
.tik-job-card__apply:hover,
.tik-job-sticky-apply:hover {
  background: var(--tik-job-action-hover, #9A3412) !important;
  border-color: var(--tik-job-action-hover, #9A3412) !important;
  color: #fff !important;
}
.tik-job-filter__submit:focus-visible,
.tik-job-filter-toggle:focus-visible,
.tik-job-board .btn--primary:focus-visible,
.tik-job-single .btn--primary:focus-visible,
.tik-job-card__apply:focus-visible,
.tik-job-card__details:focus-visible,
.tik-job-sticky-apply:focus-visible {
  outline: 3px solid rgba(201,162,39,.48);
  outline-offset: 3px;
}
.tik-job-filter__close,
.tik-job-filter-toggle,
.tik-job-filter-backdrop { display: none; }
.tik-job-results-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  color: #64748B;
  margin-bottom: 1rem;
}
.tik-job-results-head p { margin: 0; color: #0F172A; }
.tik-job-results-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.35rem) !important;
  align-items: stretch;
}
#tik-job-results.is-loading { opacity: .55; pointer-events: none; }
.tik-job-card {
  min-height: 468px;
  height: 100%;
  display: grid !important;
  grid-template-rows: auto 1fr auto;
  gap: 1.08rem !important;
  padding: 1.16rem !important;
  border: 1px solid rgba(15,23,42,.11) !important;
  border-radius: 10px !important;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15,23,42,.075) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  will-change: transform;
}
.tik-job-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(201,162,39,.40) !important;
  box-shadow: 0 22px 52px rgba(15,23,42,.13) !important;
}
.tik-job-card--featured {
  border-color: rgba(201,162,39,.62) !important;
  box-shadow: 0 18px 46px rgba(15,23,42,.11), inset 4px 0 0 #C9A227 !important;
}
.tik-job-card--featured:hover {
  border-color: rgba(201,162,39,.88) !important;
  box-shadow: 0 26px 64px rgba(15,23,42,.16), inset 4px 0 0 #C9A227 !important;
}
.tik-job-card__top,
.tik-job-card__actions { display: flex; align-items: center; justify-content: space-between; gap: .7rem; flex-wrap: wrap; }
.tik-job-card__top { min-height: 30px; }
.tik-job-card__category,
.tik-job-card__featured,
.tik-job-card__experience {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  padding: .35rem .62rem;
  font-size: .75rem;
  font-weight: 850;
}
.tik-job-card__category,
.tik-job-card__featured {
  max-width: 100%;
  min-height: 28px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tik-job-card__category { background: rgba(201,162,39,.12); color: #7c5f09; }
.tik-job-card__featured {
  max-width: min(150px, calc(100% - .4rem));
  margin-inline: .1rem;
  background: linear-gradient(135deg, #C9A227, #f3d36a) !important;
  color: #0F172A !important;
  border: 1px solid rgba(124,95,9,.16);
  box-shadow: 0 6px 14px rgba(201,162,39,.22);
}
.tik-job-card__experience { background: #fff7ed; color: #c2410c; }
.tik-job-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  gap: .95rem !important;
}
.tik-job-card__title {
  min-height: 3.15rem;
  margin: 0;
  color: #0F172A;
  font-size: clamp(1.08rem, 1.5vw, 1.24rem) !important;
  line-height: 1.24 !important;
  letter-spacing: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tik-job-card__title a { color: inherit; text-decoration: none; }
.tik-job-card__company {
  display: inline-flex !important;
  align-items: center;
  gap: .55rem;
  width: fit-content;
  max-width: calc(100% - .1rem);
  min-height: 34px;
  margin: 0 !important;
  padding: .32rem .62rem .32rem .36rem;
  border: 1px solid rgba(15,23,42,.09);
  border-radius: 999px;
  background: #f8fafc;
  color: #0F172A !important;
  font-weight: 800 !important;
}
.tik-job-card__company-mark {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 999px;
  background: #0F172A;
  color: #C9A227;
  font-size: .72rem;
  font-weight: 900;
}
.tik-job-card__company-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tik-job-card__meta {
  display: grid;
  gap: 0 !important;
  margin: .05rem 0 0;
  border: 1px solid rgba(15,23,42,.06);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.tik-job-card__meta div {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center !important;
  min-height: 38px !important;
  padding: .46rem .68rem;
  border-bottom: 1px solid rgba(15,23,42,.055);
}
.tik-job-card__meta div:last-child { border-bottom: 0; }
.tik-job-card__meta dt {
  position: static !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  overflow: visible !important;
  color: #64748B;
  font-size: .78rem;
  font-weight: 850;
}
.tik-job-card__meta dd {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  min-width: 0;
  margin: 0;
  justify-content: flex-start;
  color: #263449 !important;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tik-job-card__actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  align-items: stretch !important;
  gap: .7rem !important;
  margin-top: .1rem;
}
.tik-job-card__actions .btn,
.tik-job-card__details {
  width: 100%;
  min-height: 44px !important;
  border-radius: 8px !important;
  padding-inline: .75rem !important;
  white-space: nowrap;
  text-align: center;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tik-job-card__details {
  color: #0F172A !important;
  border-color: rgba(15,23,42,.16) !important;
  background: #fff !important;
  font-weight: 850;
  text-decoration: none;
}
.tik-job-card__details:hover {
  border-color: rgba(201,162,39,.55) !important;
  background: #fffbeb !important;
}
.tik-job-single-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.2rem; align-items: start; }
.tik-job-single-main,
.tik-job-panel,
.tik-job-content-block {
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(15,23,42,.07);
}
.tik-job-single-main { display: grid; gap: 1rem; border: 0; background: transparent; box-shadow: none; }
.tik-job-content-block,
.tik-job-panel { padding: clamp(1rem, 2.4vw, 1.45rem); }
.tik-job-single-meta,
.tik-job-application-grid { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.tik-job-single-meta span { border: 1px solid rgba(255,255,255,.20); border-radius: 999px; padding: .5rem .75rem; color: #fff; font-weight: 750; }
.tik-job-apply-main { margin-top: 1.25rem; }
.tik-job-bullet-list { display: grid; gap: .55rem; padding-left: 1.1rem; }
.tik-job-application-grid a {
  display: grid;
  gap: .15rem;
  min-width: min(220px, 100%);
  padding: .9rem;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 8px;
  color: #0F172A;
  text-decoration: none;
}
.tik-job-application-grid span { color: #64748B; overflow-wrap: anywhere; }
.tik-job-single-sidebar { position: sticky; top: 92px; }
.tik-job-panel p { margin: .85rem 0; color: #334155; }
.tik-job-panel .btn { width: 100%; margin-top: .6rem; }
.tik-job-sticky-apply { display: none; }
.tik-job-detail-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: end;
}
.tik-job-detail-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: .85rem;
}
.tik-job-detail-badges span {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 30px;
  padding: .4rem .7rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: .8rem;
  font-weight: 850;
}
.tik-job-detail-badges .tik-job-detail-badge--featured {
  background: #C9A227;
  border-color: rgba(201,162,39,.5);
  color: #0F172A;
}
.tik-job-company {
  color: rgba(255,255,255,.84) !important;
  font-weight: 850;
}
.tik-job-detail-section {
  background: #f8fafc;
}
.tik-job-apply-panel {
  display: grid;
  gap: .95rem;
}
.tik-job-panel__eyebrow {
  width: fit-content;
  margin: 0 !important;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: rgba(201,162,39,.14);
  color: #7c5f09 !important;
  font-size: .78rem;
  font-weight: 900;
}
.tik-job-summary-list,
.tik-job-trust dl {
  display: grid;
  gap: 0;
  margin: 0;
  border: 1px solid rgba(15,23,42,.075);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.tik-job-summary-list div,
.tik-job-trust dl div {
  display: grid;
  grid-template-columns: minmax(96px, .48fr) minmax(0, 1fr);
  gap: .75rem;
  padding: .68rem .75rem;
  border-bottom: 1px solid rgba(15,23,42,.06);
}
.tik-job-summary-list div:last-child,
.tik-job-trust dl div:last-child {
  border-bottom: 0;
}
.tik-job-summary-list dt,
.tik-job-trust dt {
  color: #64748B;
  font-size: .78rem;
  font-weight: 850;
}
.tik-job-summary-list dd,
.tik-job-trust dd {
  min-width: 0;
  margin: 0;
  color: #0F172A;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.tik-job-share {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
}
.tik-job-share a,
.tik-job-share button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: .55rem .6rem;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 8px;
  background: #fff;
  color: #0F172A;
  font: inherit;
  font-size: .82rem;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
}
.tik-job-share a:hover,
.tik-job-share button:hover {
  border-color: rgba(201,162,39,.55);
  background: #fffbeb;
}
.tik-job-content-block h2 {
  margin-bottom: .8rem;
  color: #0F172A;
}
.tik-job-bullet-list li {
  padding-left: .1rem;
  color: #334155;
}
.tik-submit-hub .tik-form__intro {
  margin: 1.2rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(201,162,39,.22);
  border-radius: 14px;
  background: #fffbeb;
  color: #334155;
}
.tik-submit-hub .tik-form__intro strong {
  display: block;
  color: #0F172A;
  font-size: 1.05rem;
}
.tik-submit-hub .tik-form__intro p {
  margin: .35rem 0 0;
  color: #475569;
}
.tik-section-submit-form .tik-form__section h3 {
  margin-bottom: .35rem;
  color: #0F172A;
}
.tik-section-submit-form .tik-form__help {
  margin: -.1rem 0 .45rem;
  color: #64748B;
  font-size: .82rem;
  line-height: 1.4;
}
.tik-section-submit-form .tik-form__label span {
  color: #C2410C;
  font-weight: 900;
}
.tik-section-submit-form .tik-form__review p {
  margin: 0;
  color: #475569;
  line-height: 1.65;
}
.tik-job-plan-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.tik-job-plan-options label {
  display: grid;
  min-width: 0;
  cursor: pointer;
}
.tik-job-plan-options input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.tik-job-plan-options span {
  display: grid;
  gap: .25rem;
  min-height: 108px;
  padding: .9rem;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 12px;
  background: #fff;
  color: #334155;
  box-shadow: 0 10px 28px rgba(15,23,42,.055);
}
.tik-job-plan-options strong {
  color: #0F172A;
  font-size: 1rem;
}
.tik-job-plan-options small {
  color: #64748B;
  line-height: 1.4;
}
.tik-job-plan-options input:checked + span {
  border-color: rgba(201,162,39,.65);
  background: linear-gradient(180deg,#fffbeb,#fff);
  box-shadow: 0 16px 38px rgba(15,23,42,.09);
}
.tik-job-plan-options input:focus-visible + span {
  outline: 3px solid rgba(201,162,39,.42);
  outline-offset: 3px;
}

@media (max-width: 1240px) {
  .tik-job-filter { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .tik-job-filter__field--search { grid-column: span 2; }
}
@media (max-width: 860px) {
  .tik-job-board {
    overflow-x: hidden;
  }
  .tik-job-board-section {
    padding-bottom: calc(7.5rem + env(safe-area-inset-bottom, 0px)) !important;
  }
  .tik-job-board-hero { padding: 2.15rem 0 2.2rem !important; }
  .tik-job-board-hero h1 { font-size: clamp(1.95rem, 10vw, 2.8rem) !important; }
  .tik-job-filter-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px !important;
    margin: -2.2rem 0 1rem;
    position: relative;
    z-index: 2;
    box-shadow: 0 12px 26px var(--tik-job-action-shadow, rgba(194,65,12,.28));
  }
  .tik-job-filter {
    position: fixed;
    inset: auto 0 0 0;
    grid-template-columns: 1fr !important;
    max-height: 88vh;
    overflow: auto;
    margin: 0 !important;
    gap: .9rem !important;
    padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom)) !important;
    border-radius: 20px 20px 0 0 !important;
    box-shadow: 0 -20px 60px rgba(15,23,42,.22) !important;
    transform: translateY(110%);
    transition: transform .22s ease;
    z-index: 1001;
  }
  .tik-job-filter.is-open { transform: translateY(0); }
  .tik-job-filter__field--search { grid-column: auto; }
  .tik-job-filter input,
  .tik-job-filter select,
  .tik-job-filter__submit { min-height: 48px !important; }
  .tik-job-filter__close {
    display: inline-flex;
    justify-self: end;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: #f1f5f9;
    color: #0F172A;
    font-size: 1.4rem;
  }
  .tik-job-filter-backdrop { position: fixed; inset: 0; background: rgba(15,23,42,.45); z-index: 1000; }
  .tik-job-filter-open .tik-job-filter-backdrop { display: block; }
  .tik-job-results-head { display: grid; gap: .25rem; }
  .tik-job-results-grid,
  .tik-job-single-layout { grid-template-columns: 1fr !important; }
  .tik-job-detail-hero__inner { grid-template-columns: 1fr; align-items: start; }
  .tik-job-single-sidebar { position: static; }
  .tik-job-card { min-height: 0; }
  .tik-job-sticky-apply {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: calc(var(--tik-mobile-dock-h, 74px) + var(--tik-mobile-gap, 12px) + var(--tik-safe-bottom, env(safe-area-inset-bottom, 0px)));
    z-index: 428;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 999px;
    font-weight: 900;
    box-shadow: 0 18px 45px var(--tik-job-action-shadow, rgba(194,65,12,.28));
  }
  .single-job .tik-job-detail {
    padding-bottom: calc(var(--tik-mobile-dock-h, 74px) + 128px + var(--tik-safe-bottom, env(safe-area-inset-bottom, 0px))) !important;
  }
  .single-job .site-footer {
    padding-bottom: calc(var(--tik-mobile-dock-h, 74px) + 96px + var(--tik-safe-bottom, env(safe-area-inset-bottom, 0px)));
  }
  .tik-job-plan-options { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .tik-job-results-grid { grid-template-columns: 1fr !important; }
  .tik-job-board-hero,
  .tik-job-single-hero { padding-top: 2.7rem !important; }
  .tik-job-card { padding: 1rem !important; }
  .tik-job-card__top { flex-direction: row !important; align-items: center !important; gap: .5rem; }
  .tik-job-card__actions { grid-template-columns: 1fr !important; }
  .tik-job-card__actions .btn,
  .tik-job-card__details { min-height: 46px !important; }
  .tik-job-card__meta div { grid-template-columns: 86px minmax(0, 1fr); }
}

/* ============================================================
   RESET
   ============================================================ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { font-size:16px; scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  font-family:var(--font-ui);
  font-size:var(--t16);
  line-height:1.6;
  color:var(--n900);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,video { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
ul,ol { list-style:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
input,textarea,select { font-family:inherit; }
svg { display:block; }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1,h2,h3,h4,h5,h6 {
  font-family:var(--font-display);
  font-weight:700;
  line-height:1.2;
  color:var(--navy);
}
h1 { font-size:clamp(var(--t32),4.5vw,var(--t48)); }
h2 { font-size:clamp(var(--t24),3vw,var(--t36)); }
h3 { font-size:clamp(var(--t20),2vw,var(--t24)); }
h4 { font-size:var(--t20); }
h5 { font-size:var(--t18); }
h6 { font-size:var(--t16); }
p  { font-size:var(--t16); line-height:1.7; margin-bottom:var(--s4); }
p:last-child { margin-bottom:0; }
.display { font-family:var(--font-display); }
.eyebrow {
  font-family:var(--font-ui);
  font-size:var(--t13);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold);
}

/* ============================================================
   LAYOUT
   ============================================================ */
.container {
  width:100%;
  max-width:var(--max-w);
  margin-inline:auto;
  padding-inline:var(--s6);
}
.container--wide   { max-width:var(--max-w-wide); }
.container--narrow { max-width:var(--max-w-narrow); }
.container--text   { max-width:var(--max-w-text); }

.section     { padding-block:var(--s20); }
.section--sm { padding-block:var(--s12); }
.section--lg { padding-block:var(--s32); }
.section--xs { padding-block:var(--s8);  }

.section--dark    { background:var(--navy); }
.section--mid     { background:var(--navy-mid); }
.section--neutral { background:var(--n50); }
.section--gold    { background:var(--gold-pale); }

.section--dark h1,.section--dark h2,.section--dark h3,
.section--dark h4,.section--dark h5 { color:var(--white); }

/* Grid */
.grid      { display:grid; gap:var(--s6); }
.grid--2   { grid-template-columns:repeat(2,1fr); }
.grid--3   { grid-template-columns:repeat(3,1fr); }
.grid--4   { grid-template-columns:repeat(4,1fr); }
.grid--auto{ grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }

/* ============================================================
   NAVIGATION — Production v4
   ============================================================ */
.site-header {
  position:sticky;
  top:0;
  z-index:var(--z-nav);
  background:var(--navy);
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:box-shadow var(--base) var(--ease),
             transform  var(--base) var(--ease);
}
.site-header.scrolled   { box-shadow:0 2px 24px rgba(0,0,0,.35); }
.site-header.nav-hidden { transform:translateY(-100%); }

.site-header__inner {
  display:flex;
  align-items:center;
  height:64px;
  gap:var(--s6);
}

/* Logo */
.site-logo {
  display:flex;
  align-items:center;
  gap:var(--s2);
  font-family:var(--font-display);
  font-size:var(--t20);
  font-weight:700;
  color:var(--white);
  flex-shrink:0;
  text-decoration:none;
}
.site-logo__icon {
  width:32px;
  height:32px;
  background:var(--gold);
  border-radius:var(--r-md);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:var(--t14);
  flex-shrink:0;
}
.site-logo__text { color:var(--white); }
.site-logo__text span { color:var(--gold); }

/* Primary nav */
.site-nav {
  display:flex;
  align-items:center;
  gap:var(--s1);
  flex:1;
  height:100%;
}

/* Nav item wrapper for dropdowns */
.nav-item {
  position:relative;
  height:100%;
  display:flex;
  align-items:center;
}

.site-nav__link {
  display:flex;
  align-items:center;
  gap:var(--s1);
  padding:var(--s2) var(--s3);
  font-size:var(--t14);
  font-weight:500;
  color:rgba(255,255,255,.7);
  border-radius:var(--r-md);
  white-space:nowrap;
  transition:color var(--fast),background var(--fast);
  height:36px;
  text-decoration:none;
}
.site-nav__link:hover,
.site-nav__link.current {
  color:var(--white);
  background:rgba(255,255,255,.07);
}
.site-nav__link.current {
  color:var(--gold);
}

/* Dropdown */
.nav-dropdown {
  position:absolute;
  top:calc(100% + 4px);
  left:0;
  min-width:220px;
  background:var(--navy-dark);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg);
  padding:var(--s2);
  box-shadow:var(--sh-xl);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity var(--base) var(--ease),
             transform var(--base) var(--ease),
             visibility var(--base);
  z-index:var(--z-modal);
}
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.nav-dropdown__link {
  display:flex;
  align-items:center;
  gap:var(--s3);
  padding:var(--s3) var(--s4);
  font-size:var(--t14);
  color:rgba(255,255,255,.7);
  border-radius:var(--r-md);
  transition:color var(--fast),background var(--fast);
  text-decoration:none;
}
.nav-dropdown__link:hover {
  color:var(--white);
  background:rgba(255,255,255,.07);
}
.nav-dropdown__link .icon {
  font-size:var(--t16);
  width:28px;
  text-align:center;
}

/* Header actions */
.site-header__actions {
  display:flex;
  align-items:center;
  gap:var(--s3);
  margin-left:auto;
}

/* Mobile toggle */
.nav-toggle {
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:var(--s2);
  width:40px;
  height:40px;
}
.nav-toggle span {
  display:block;
  width:22px;
  height:2px;
  background:var(--white);
  border-radius:2px;
  transition:all var(--base) var(--ease);
  transform-origin:center;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* Mobile nav */
.mobile-nav {
  background:var(--navy-dark);
  max-height:0;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.06);
  transition:max-height var(--slow) var(--ease-io);
  position:relative;
  z-index:1200;
  overscroll-behavior:contain;
}
.mobile-nav[aria-hidden="true"] {
  max-height:0;
  pointer-events:none;
  visibility:hidden;
}
.mobile-nav.open {
  max-height:calc(100dvh - 56px);
  pointer-events:auto;
  visibility:visible;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.mobile-nav__inner {
  padding:var(--s4) var(--s6) calc(120px + env(safe-area-inset-bottom));
  display:flex;
  flex-direction:column;
  gap:var(--s1);
}
.mobile-nav__link {
  display:flex;
  align-items:center;
  gap:var(--s3);
  padding:var(--s3) var(--s4);
  font-size:var(--t16);
  font-weight:500;
  color:rgba(255,255,255,.75);
  border-radius:var(--r-md);
  min-height:48px;
  transition:background var(--fast),color var(--fast);
  text-decoration:none;
}
.mobile-nav__link:hover { background:rgba(255,255,255,.07); color:var(--white); }
.mobile-nav__link .icon { font-size:var(--t18); width:28px; }
.mobile-nav__divider {
  height:1px;
  background:rgba(255,255,255,.07);
  margin:var(--s2) 0;
}
.mobile-nav__cta {
  margin-top:var(--s4);
  padding-top:var(--s4);
  border-top:1px solid rgba(255,255,255,.07);
}

/* ============================================================
   HERO — Two-column balanced layout v4
   ============================================================ */
.hero {
  position:relative;
  background:var(--navy-dark);
  overflow:hidden;
  min-height:680px;
  display:flex;
  align-items:center;
}

/* Layered background */
.hero__bg {
  position:absolute;
  inset:0;
  z-index:0;
}
.hero__bg-image {
  position:absolute;
  inset:0;
}
.hero__bg-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.18;
}
.hero__bg-gradient {
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right, var(--navy-dark) 45%, rgba(15,23,42,.3) 100%),
    linear-gradient(to top, rgba(15,23,42,.8) 0%, transparent 50%);
}
/* Decorative orb */
.hero__bg-orb {
  position:absolute;
  right:-10%;
  top:-20%;
  width:600px;
  height:600px;
  background:radial-gradient(circle, rgba(201,162,39,.08) 0%, transparent 70%);
  border-radius:50%;
  pointer-events:none;
}

.hero__inner {
  position:relative;
  z-index:1;
  width:100%;
}

.hero__grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--s16);
  align-items:center;
  min-height:580px;
  padding-block:var(--s20);
}

/* Left column — content */
.hero__content {}

.hero__breaking {
  display:inline-flex;
  align-items:center;
  gap:var(--s3);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(201,162,39,.25);
  border-radius:var(--r-full);
  padding:var(--s2) var(--s4) var(--s2) var(--s2);
  margin-bottom:var(--s6);
  max-width:100%;
}
.hero__breaking-link {
  font-size:var(--t13);
  font-weight:500;
  color:rgba(255,255,255,.85);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:color var(--fast);
}
.hero__breaking-link:hover { color:var(--gold); }

.hero__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:var(--s2);
  font-size:var(--t13);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:var(--s5);
}

.hero__title {
  font-family:var(--font-display);
  font-size:clamp(var(--t36),5vw,var(--t56));
  font-weight:800;
  line-height:1.08;
  color:var(--white);
  margin-bottom:var(--s5);
}
.hero__title em {
  font-style:normal;
  color:var(--gold);
  position:relative;
}

.hero__sub {
  font-size:var(--t18);
  color:rgba(255,255,255,.62);
  line-height:1.7;
  margin-bottom:var(--s8);
  max-width:460px;
}

.hero__search-wrap {
  margin-bottom:var(--s6);
}

.hero__ctas {
  display:flex;
  gap:var(--s3);
  flex-wrap:wrap;
  margin-bottom:var(--s8);
}

.hero__quick {
  display:flex;
  gap:var(--s2);
  flex-wrap:wrap;
}
.hero__ql {
  display:inline-flex;
  align-items:center;
  gap:var(--s2);
  padding:var(--s2) var(--s3);
  font-size:var(--t13);
  font-weight:500;
  color:rgba(255,255,255,.6);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-md);
  transition:all var(--fast);
  text-decoration:none;
}
.hero__ql:hover {
  color:var(--white);
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.05);
}

/* Right column — live panel */
.hero__panel {}

.hero__stats-card {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-2xl);
  padding:var(--s6);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.hero__stats-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--s4);
  margin-bottom:var(--s5);
}

.hero__stat {
  background:rgba(255,255,255,.05);
  border-radius:var(--r-lg);
  padding:var(--s4);
  border:1px solid rgba(255,255,255,.06);
}
.hero__stat-val {
  display:block;
  font-family:var(--font-display);
  font-size:var(--t32);
  font-weight:800;
  color:var(--white);
  line-height:1;
  margin-bottom:var(--s1);
}
.hero__stat-lbl {
  font-size:var(--t13);
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
}

/* Featured story mini-card in hero panel */
.hero__featured-story {
  display:flex;
  gap:var(--s3);
  align-items:center;
  padding:var(--s4);
  background:rgba(255,255,255,.05);
  border-radius:var(--r-lg);
  border:1px solid rgba(255,255,255,.07);
  text-decoration:none;
  transition:background var(--fast),border-color var(--fast);
}
.hero__featured-story:hover {
  background:rgba(255,255,255,.09);
  border-color:rgba(201,162,39,.25);
}
.hero__story-thumb {
  width:64px;
  height:64px;
  border-radius:var(--r-md);
  overflow:hidden;
  flex-shrink:0;
  background:var(--navy-mid);
}
.hero__story-thumb img { width:100%; height:100%; object-fit:cover; }
.hero__story-meta { flex:1; min-width:0; }
.hero__story-cat {
  font-size:var(--t12);
  font-weight:700;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:4px;
}
.hero__story-title {
  font-size:var(--t14);
  font-weight:600;
  color:var(--white);
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hero__story-time {
  font-size:var(--t13);
  color:rgba(255,255,255,.4);
  margin-top:4px;
}

/* ============================================================
   SEARCH BAR
   ============================================================ */
.search-bar {
  display:flex;
  background:var(--white);
  border-radius:var(--r-xl);
  box-shadow:var(--sh-xl);
  overflow:hidden;
}
.search-bar__input {
  flex:1;
  padding:var(--s4) var(--s5);
  font-size:var(--t16);
  border:none;
  outline:none;
  color:var(--navy);
  min-width:0;
}
.search-bar__input::placeholder { color:var(--n300); }
.search-bar__btn {
  padding:var(--s4) var(--s6);
  background:var(--gold);
  color:var(--white);
  font-weight:700;
  font-size:var(--t14);
  white-space:nowrap;
  transition:background var(--fast);
  flex-shrink:0;  /* overridden to 1 on mobile in breakpoints */
}
.search-bar__btn:hover { background:var(--gold-bright); }

/* ============================================================
   SECTION HEADER
   ============================================================ */
.sec-header {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--s6);
  margin-bottom:var(--sec-header-gap);
}
.sec-header__left { flex:1; }
.sec-header__label {
  display:inline-flex;
  align-items:center;
  gap:var(--s2);
  font-size:var(--t13);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:var(--s3);
}
.sec-header__label::before {
  content:'';
  display:block;
  width:16px;
  height:2px;
  background:var(--gold);
}
.sec-header__title {
  font-family:var(--font-display);
  font-size:clamp(var(--t24),3vw,var(--t32));
  font-weight:800;
  color:var(--navy);
}
.section--dark .sec-header__title { color:var(--white); }
.sec-header__sub {
  margin-top:var(--s2);
  font-size:var(--t15);
  color:var(--n500);
  line-height:1.6;
}
.section--dark .sec-header__sub { color:rgba(255,255,255,.52); }

/* ============================================================
   CARDS — Unified base
   ============================================================ */
.card {
  background:var(--white);
  border:var(--card-border);
  border-radius:var(--card-radius);
  overflow:hidden;
  box-shadow:var(--card-shadow);
  transition:
    box-shadow var(--base) var(--ease),
    transform  var(--base) var(--ease);
  will-change:transform;
}
.card:hover {
  box-shadow:var(--card-hover);
  transform:translateY(-3px);
}
.card--dark {
  background:var(--navy-mid);
  border-color:rgba(255,255,255,.07);
}
.card--dark .card__title { color:var(--white); }
.card--dark .card__excerpt { color:rgba(255,255,255,.55); }

/* Card media */
.card__media {
  position:relative;
  overflow:hidden;
  background:var(--n100);
}
.card__media img {
  width:100%; height:100%; object-fit:cover;
  transition:transform var(--slow) var(--ease);
}
.card:hover .card__media img { transform:scale(1.04); }

/* Aspect ratios */
.card--news    .card__media,
.card--news-sm .card__media,
.card--news-lg .card__media   { aspect-ratio:16/9; }
.card--dir     .card__media   { aspect-ratio:4/3; }
.card--event   .card__media   { aspect-ratio:3/2; }
.card--project .card__media   { aspect-ratio:16/9; }

/* Horizontal news */
.card--news-h { display:grid; grid-template-columns:120px 1fr; }
.card--news-h .card__media { aspect-ratio:1; min-height:120px; }

/* Card body */
.card__body { padding:var(--card-pad); }
.card__meta {
  display:flex;
  align-items:center;
  gap:var(--s2);
  flex-wrap:wrap;
  margin-bottom:var(--s2);
}
.card__title {
  font-family:var(--font-display);
  font-size:var(--t20);
  font-weight:700;
  line-height:1.3;
  color:var(--navy);
  margin-bottom:var(--s2);
}
.card__title a { transition:color var(--fast); }
.card__title a:hover { color:var(--gold); }
.card__excerpt {
  font-size:var(--t14);
  color:var(--n500);
  line-height:1.6;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.card__footer {
  padding:var(--s3) var(--card-pad);
  border-top:1px solid var(--n100);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s2);
}
.card__img-badge { position:absolute; bottom:var(--s3); left:var(--s3); }

/* Event date badge */
.card__date-badge {
  position:absolute; top:var(--s3); left:var(--s3);
  background:var(--white); border-radius:var(--r-md);
  padding:var(--s2) var(--s3); text-align:center;
  box-shadow:var(--sh-md); min-width:48px;
}
.card__date-badge .day {
  display:block; font-family:var(--font-display);
  font-size:var(--t24); font-weight:800; color:var(--gold); line-height:1;
}
.card__date-badge .mon {
  display:block; font-size:var(--t12); font-weight:700;
  text-transform:uppercase; letter-spacing:.06em; color:var(--n500);
}

/* Progress bar */
.progress-bar {
  height:6px; background:var(--n100); border-radius:var(--r-full);
  overflow:hidden; margin-block:var(--s2);
}
.progress-fill {
  height:100%; background:var(--gold); border-radius:var(--r-full);
  transition:width .8s var(--ease);
}

/* ============================================================
   DIRECTORY CARD — Airbnb-style interaction
   ============================================================ */
.card--dir {
  cursor:pointer;
  border-radius:var(--r-xl);
}
.card--dir:hover { transform:translateY(-4px); }

/* Favorite / save button */
.card__save {
  position:absolute;
  top:var(--s3);
  right:var(--s3);
  width:36px;
  height:36px;
  background:rgba(255,255,255,.9);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:var(--t16);
  box-shadow:var(--sh-sm);
  transition:background var(--fast), transform var(--fast) var(--ease-spring);
  z-index:1;
  border:none;
  cursor:pointer;
}
.card__save:hover { background:var(--white); transform:scale(1.12); }
.card__save.saved { background:var(--gold); }

/* Sponsored stripe */
.card--sponsored::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-bright));
  z-index:2;
}

/* Rating row */
.card__rating {
  display:flex;
  align-items:center;
  gap:var(--s1);
  font-size:var(--t13);
  font-weight:600;
  color:var(--n700);
  margin-top:var(--s2);
}
.card__rating-stars { color:var(--gold); }
.card__rating-count { color:var(--n500); font-weight:400; }

/* Quick-contact row */
.card__contact-row {
  display:flex;
  gap:var(--s2);
  padding:var(--s3) var(--card-pad);
  border-top:1px solid var(--n100);
}
.card__contact-btn {
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--s1);
  padding:var(--s2) var(--s3);
  font-size:var(--t13);
  font-weight:600;
  border-radius:var(--r-md);
  border:1.5px solid var(--n200);
  color:var(--n700);
  background:transparent;
  transition:all var(--fast);
  text-decoration:none;
  cursor:pointer;
  min-height:36px;
}
.card__contact-btn:hover { border-color:var(--navy); color:var(--navy); background:var(--n50); }
.card__contact-btn--wa:hover { border-color:#25D366; color:#25D366; }

/* ============================================================
   BADGES
   ============================================================ */
.badge {
  display:inline-flex;
  align-items:center;
  gap:var(--s1);
  padding:3px 10px;
  font-family:var(--font-ui);
  font-size:var(--t12);
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  border-radius:var(--r-full);
  white-space:nowrap;
  line-height:1.4;
}
.badge--gold     { background:var(--gold); color:var(--white); }
.badge--navy     { background:var(--navy); color:var(--white); }
.badge--orange   { background:var(--orange); color:var(--white); }
.badge--outline  { border:1px solid var(--n200); color:var(--n700); }
.badge--white    { background:rgba(255,255,255,.14); color:var(--white); border:1px solid rgba(255,255,255,.2); }
.badge--success  { background:#D1FAE5; color:#065F46; }
.badge--error    { background:#FEE2E2; color:#991B1B; }
.badge--verified { background:var(--gold-pale); color:var(--gold-muted); }
.badge--sponsored{ background:var(--navy); color:var(--gold); }
.badge--price {
  background:var(--n50);
  color:var(--n700);
  border:1px solid var(--n200);
  font-weight:800;
}
.badge--price-budget   { background:#ECFDF5; color:#047857; border-color:#A7F3D0; }
.badge--price-moderate { background:#EFF6FF; color:#1D4ED8; border-color:#BFDBFE; }
.badge--price-upmarket { background:var(--gold-pale); color:var(--gold-muted); border-color:rgba(201,162,39,.35); }
.badge--price-premium  { background:var(--navy); color:var(--gold); border-color:var(--navy); }
.badge--planning { background:#EEF2FF; color:var(--st-planning); }
.badge--active   { background:#D1FAE5; color:#065F46; }
.badge--paused   { background:#FEF3C7; color:#92400E; }
.badge--completed{ background:var(--n100); color:var(--navy); }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--s2);
  padding:var(--s3) var(--s6);
  font-family:var(--font-ui);
  font-size:var(--t14);
  font-weight:600;
  border-radius:var(--r-md);
  white-space:nowrap;
  min-height:44px;
  text-decoration:none;
  transition:
    background var(--fast) var(--ease),
    box-shadow  var(--fast) var(--ease),
    transform   var(--fast) var(--ease),
    color       var(--fast) var(--ease),
    border-color var(--fast) var(--ease);
}
.btn--primary { background:var(--orange); color:var(--white); }
.btn--primary:hover { background:var(--orange-h); box-shadow:var(--sh-orange); transform:translateY(-1px); }
.btn--gold { background:var(--gold); color:var(--white); }
.btn--gold:hover { background:var(--gold-bright); box-shadow:var(--sh-gold); transform:translateY(-1px); }
.btn--navy { background:var(--navy); color:var(--white); }
.btn--navy:hover { background:var(--navy-mid); transform:translateY(-1px); }
.btn--outline { border:1.5px solid var(--navy); color:var(--navy); }
.btn--outline:hover { background:var(--navy); color:var(--white); }
.btn--outline-gold { border:1.5px solid var(--gold); color:var(--gold); }
.btn--outline-gold:hover { background:var(--gold); color:var(--white); }
.btn--outline-white { border:1.5px solid rgba(255,255,255,.3); color:var(--white); }
.btn--outline-white:hover { border-color:var(--white); background:rgba(255,255,255,.08); }
.btn--ghost { color:var(--navy); }
.btn--ghost:hover { background:var(--n100); }
.btn--sm  { padding:var(--s2) var(--s4); font-size:var(--t13); min-height:36px; }
.btn--lg  { padding:var(--s4) var(--s8); font-size:var(--t16); min-height:52px; }
.btn--xl  { padding:var(--s5) var(--s10); font-size:var(--t18); min-height:60px; }
.btn--full{ width:100%; }
.btn--icon{ width:44px; height:44px; padding:0; border-radius:var(--r-md); }

/* ============================================================
   ARCHIVE HERO
   ============================================================ */
.archive-hero { padding-block:var(--s12); background:var(--navy); }
.archive-hero__label {
  display:block; font-size:var(--t13); font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold); margin-bottom:var(--s3);
}
.archive-hero h1 { font-family:var(--font-display); color:var(--white); }
.archive-hero p  { color:rgba(255,255,255,.58); margin-top:var(--s3); font-size:var(--t18); }

.archive-filter {
  background:var(--white); border-bottom:1px solid var(--n100);
  position:sticky; top:64px; z-index:var(--z-sticky);
}
.archive-filter .container {
  display:flex; gap:var(--s2); overflow-x:auto;
  padding-block:var(--s3); scrollbar-width:none; align-items:center;
}
.archive-filter .container::-webkit-scrollbar { display:none; }

/* ============================================================
   SINGLE ARTICLE LAYOUT
   ============================================================ */
.article-hero { padding-block:var(--s16); background:var(--navy-dark); }
.article-meta-row { display:flex; align-items:center; gap:var(--s3); flex-wrap:wrap; margin-bottom:var(--s5); }
.article-title {
  font-family:var(--font-display);
  font-size:clamp(var(--t28),5vw,var(--t48));
  color:var(--white); line-height:1.1; margin-bottom:var(--s5);
}
.article-lead { font-size:var(--t18); color:rgba(255,255,255,.68); line-height:1.75; margin-bottom:var(--s8); }
.article-byline {
  display:flex; align-items:center; gap:var(--s3);
  padding-top:var(--s6); border-top:1px solid rgba(255,255,255,.1);
}
.article-author { font-size:var(--t14); font-weight:700; color:var(--white); display:block; }
.article-pub    { font-size:var(--t13); color:rgba(255,255,255,.45); display:block; }
.article-avatar { border-radius:50%; }
.article-hero-img { background:var(--navy-dark); padding-block:var(--s8); }
.article-hero-img img {
  max-width:900px; margin-inline:auto;
  border-radius:var(--r-xl); aspect-ratio:16/9; object-fit:cover;
}
.article-layout { display:grid; grid-template-columns:var(--split-sidebar); gap:var(--s12); align-items:start; }
.listing-layout { display:grid; grid-template-columns:var(--split-listing); gap:var(--s10); align-items:start; }
.event-layout   { display:grid; grid-template-columns:var(--split-listing); gap:var(--s10); align-items:start; }
.project-layout { display:grid; grid-template-columns:var(--split-listing); gap:var(--s10); align-items:start; }
.article-body { font-size:var(--t16); line-height:1.85; color:var(--n700); }
.article-body p  { margin-bottom:var(--s5); }
.article-body h2,.article-body h3 { font-family:var(--font-display); margin:var(--s10) 0 var(--s4); color:var(--navy); }
.article-body blockquote {
  border-left:4px solid var(--gold); background:var(--gold-pale);
  padding:var(--s5) var(--s6); margin:var(--s8) 0;
  border-radius:0 var(--r-lg) var(--r-lg) 0;
  font-family:var(--font-display); font-size:var(--t20);
  font-style:italic; color:var(--navy);
}
.article-body img { border-radius:var(--r-lg); margin-block:var(--s6); width:100%; }
.article-body ul, .article-body ol { padding-left:var(--s6); margin-bottom:var(--s5); }
.article-body li { margin-bottom:var(--s2); line-height:1.7; }
.article-tags { display:flex; gap:var(--s2); flex-wrap:wrap; padding-top:var(--s6); border-top:1px solid var(--n100); margin-top:var(--s8); }

/* Share strip */
.article-share {
  display:flex; align-items:center; gap:var(--s3);
  padding:var(--s4) var(--s5);
  background:var(--n50); border-radius:var(--r-lg);
  margin-bottom:var(--s8);
}
.article-share__label { font-size:var(--t13); font-weight:700; color:var(--n500); text-transform:uppercase; letter-spacing:.06em; margin-right:var(--s2); }
.article-share__btn {
  display:inline-flex; align-items:center; gap:var(--s1);
  padding:var(--s2) var(--s4); font-size:var(--t13); font-weight:600;
  border-radius:var(--r-md); border:1.5px solid var(--n200);
  color:var(--n700); transition:all var(--fast); text-decoration:none;
  min-height:36px;
}
.article-share__btn:hover { border-color:var(--navy); color:var(--navy); background:var(--white); }

/* Sidebar */
.article-sidebar {}
.sidebar-widget {
  margin-bottom:var(--s6);
  padding:var(--s5);
  background:var(--n50);
  border-radius:var(--r-lg);
  border:1px solid var(--n100);
}
.sidebar-widget__title {
  font-size:var(--t14); font-weight:700; color:var(--navy);
  padding-bottom:var(--s3); margin-bottom:var(--s4);
  border-bottom:2px solid var(--gold);
}
.sidebar-news-item {
  display:flex; gap:var(--s3); padding-block:var(--s3);
  border-bottom:1px solid var(--n100); text-decoration:none;
}
.sidebar-news-item:last-child { border-bottom:none; padding-bottom:0; }
.sidebar-news-item:hover .sidebar-news-item__title { color:var(--gold); }
.sidebar-news-item__thumb {
  width:64px; height:64px; border-radius:var(--r-md);
  overflow:hidden; flex-shrink:0; background:var(--n100);
}
.sidebar-news-item__thumb img { width:100%; height:100%; object-fit:cover; }
.sidebar-news-item__title {
  font-size:var(--t14); font-weight:600; color:var(--navy);
  line-height:1.4; transition:color var(--fast);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.sidebar-news-item__meta { font-size:var(--t13); color:var(--n500); margin-top:4px; }

/* ============================================================
   SINGLE DIRECTORY — Airbnb UX patterns
   ============================================================ */
.listing-hero { position:relative; overflow:hidden; }
.listing-hero__gallery {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:280px 200px;
  gap:var(--s2);
  border-radius:var(--r-xl);
  overflow:hidden;
}
.listing-hero__gallery-main {
  grid-row:1/3;
  position:relative;
}
.listing-hero__gallery-main img,
.listing-hero__gallery-cell img {
  width:100%; height:100%; object-fit:cover;
}
.listing-hero__gallery-cell { position:relative; overflow:hidden; background:var(--n100); }
.listing-hero__gallery-more {
  position:absolute; inset:0;
  background:rgba(15,23,42,.55);
  display:flex; align-items:center; justify-content:center;
  font-size:var(--t18); font-weight:700; color:var(--white);
  cursor:pointer; text-decoration:none;
}

/* Contact sticky card */
.listing-contact-card {
  position:sticky;
  top:calc(64px + var(--s6));
  background:var(--white);
  border:1px solid var(--n200);
  border-radius:var(--r-2xl);
  padding:var(--s6);
  box-shadow:var(--sh-xl);
}
.listing-contact-card__head {
  padding-bottom:var(--s5);
  margin-bottom:var(--s5);
  border-bottom:1px solid var(--n100);
}
.listing-contact-card__name {
  font-family:var(--font-display);
  font-size:var(--t24); font-weight:700; color:var(--navy);
  margin-bottom:var(--s2);
}
.listing-contact-card__tier {
  display:flex; gap:var(--s2); align-items:center; flex-wrap:wrap;
}
.listing-contact-card__actions { display:flex; flex-direction:column; gap:var(--s3); }

/* Info grid */
.listing-info-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:var(--s4);
  margin-bottom:var(--s6);
}
.listing-info-item {}
.listing-info-item__label {
  font-size:var(--t13); font-weight:700; color:var(--n500);
  text-transform:uppercase; letter-spacing:.06em; margin-bottom:4px;
}
.listing-info-item__val {
  font-size:var(--t14); color:var(--n900); font-weight:500;
  line-height:1.5;
}

/* Hours table */
.hours-table { width:100%; border-collapse:collapse; }
.hours-table td {
  padding:var(--s2) 0; font-size:var(--t14);
  border-bottom:1px solid var(--n100);
}
.hours-table td:first-child { color:var(--n700); font-weight:500; }
.hours-table td:last-child  { text-align:right; color:var(--n500); }
.hours-table tr:last-child td { border-bottom:none; }
.hours-table .today td { color:var(--navy); font-weight:700; }

/* ============================================================
   SINGLE EVENT
   ============================================================ */

.event-detail-card {
  background:var(--white);
  border:1px solid var(--n200);
  border-radius:var(--r-2xl);
  overflow:hidden;
  box-shadow:var(--sh-lg);
  position:sticky;
  top:calc(64px + var(--s6));
}
.event-detail-card__header {
  background:var(--navy);
  padding:var(--s6);
}
.event-detail-card__date {
  font-family:var(--font-display);
  font-size:var(--t32); font-weight:800; color:var(--white); line-height:1;
  margin-bottom:var(--s1);
}
.event-detail-card__time { font-size:var(--t14); color:rgba(255,255,255,.65); }
.event-detail-card__body { padding:var(--s5); }
.event-detail-row {
  display:flex; gap:var(--s3); padding-block:var(--s3);
  border-bottom:1px solid var(--n100); align-items:flex-start;
}
.event-detail-row:last-of-type { border-bottom:none; }
.event-detail-icon { font-size:var(--t18); margin-top:2px; flex-shrink:0; }
.event-detail-label { font-size:var(--t13); font-weight:700; color:var(--n500); text-transform:uppercase; letter-spacing:.06em; margin-bottom:2px; }
.event-detail-val   { font-size:var(--t14); color:var(--n900); font-weight:500; line-height:1.5; }
.event-detail-card__footer { padding:var(--s5); padding-top:0; }

/* ============================================================
   SINGLE PROJECT
   ============================================================ */
.project-progress-hero {
  background:var(--navy-mid);
  padding-block:var(--s8);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.project-progress-bar {
  height:12px; background:rgba(255,255,255,.1);
  border-radius:var(--r-full); overflow:hidden;
}
.project-progress-fill {
  height:100%; background:linear-gradient(90deg,var(--gold),var(--gold-bright));
  border-radius:var(--r-full); transition:width .9s var(--ease);
}

.project-info-card {
  background:var(--white); border:1px solid var(--n200);
  border-radius:var(--r-2xl); overflow:hidden;
  box-shadow:var(--sh-md);
  position:sticky; top:calc(64px + var(--s6));
}
.project-info-card__header {
  background:var(--navy); padding:var(--s5);
}
.project-info-card__title { font-size:var(--t14); font-weight:700; color:var(--white); margin-bottom:var(--s3); }
.project-info-card__progress { font-family:var(--font-display); font-size:var(--t36); font-weight:800; color:var(--gold); }
.project-info-card__body { padding:var(--s5); }
.project-info-row {
  display:flex; justify-content:space-between; align-items:flex-start;
  padding-block:var(--s3); border-bottom:1px solid var(--n100); gap:var(--s3);
}
.project-info-row:last-child { border-bottom:none; }
.project-info-label { font-size:var(--t13); color:var(--n500); font-weight:600; flex-shrink:0; }
.project-info-val   { font-size:var(--t13); color:var(--n900); font-weight:600; text-align:right; max-width:60%; }

/* ============================================================
   CTA SECTION
   ============================================================ */
.cta-section { background:var(--navy); position:relative; overflow:hidden; }
.cta-section::before {
  content:''; position:absolute; top:-40%; right:-5%;
  width:600px; height:600px;
  background:radial-gradient(circle,rgba(201,162,39,.08) 0%,transparent 70%);
  pointer-events:none;
}
.cta-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s6); }
.cta-card {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07);
  border-radius:var(--r-xl); padding:var(--s8);
  transition:background var(--base),border-color var(--base);
}
.cta-card:hover { background:rgba(255,255,255,.07); border-color:rgba(201,162,39,.2); }
.cta-card__icon { width:44px; height:44px; background:rgba(201,162,39,.12); border-radius:var(--r-lg); display:flex; align-items:center; justify-content:center; font-size:var(--t20); margin-bottom:var(--s5); }
.cta-card__title { font-family:var(--font-display); font-size:var(--t20); font-weight:700; color:var(--white); margin-bottom:var(--s2); }
.cta-card__desc  { font-size:var(--t14); color:rgba(255,255,255,.48); line-height:1.7; margin-bottom:var(--s6); }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer { background:var(--navy-dark); padding-top:var(--s20); padding-bottom:var(--s10); }
.footer-grid {
  display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr;
  gap:var(--s12); padding-bottom:var(--s12);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.footer-brand__name { font-family:var(--font-display); font-size:var(--t20); font-weight:700; color:var(--white); margin-bottom:var(--s4); }
.footer-brand__name span { color:var(--gold); }
.footer-brand__desc { font-size:var(--t14); color:rgba(255,255,255,.45); line-height:1.75; margin-bottom:var(--s6); }
.footer-col__title { font-size:var(--t13); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--white); margin-bottom:var(--s5); }
.footer-col__link { display:block; font-size:var(--t14); color:rgba(255,255,255,.45); padding-block:var(--s1); transition:color var(--fast); }
.footer-col__link:hover { color:var(--gold); }
.footer-bottom { padding-top:var(--s8); display:flex; align-items:center; justify-content:space-between; gap:var(--s4); }
.footer-bottom p { font-size:var(--t13); color:rgba(255,255,255,.3); }

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination-wrap,.navigation.pagination { margin-top:var(--s12); display:flex; justify-content:center; }
.nav-links { display:flex; align-items:center; gap:var(--s2); flex-wrap:wrap; justify-content:center; }
.page-numbers {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:40px; height:40px; padding-inline:var(--s3);
  font-size:var(--t14); font-weight:600;
  border-radius:var(--r-md); border:1.5px solid var(--n200); color:var(--navy);
  transition:all var(--fast); text-decoration:none;
}
.page-numbers:hover,.page-numbers.current { background:var(--navy); border-color:var(--navy); color:var(--white); }

/* View toggle */
.view-toggle { display:flex; gap:var(--s2); }
.view-btn {
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:var(--r-md);
  border:1.5px solid var(--n200); background:var(--white);
  cursor:pointer; transition:all var(--fast); font-size:var(--t16);
}
.view-btn:hover { border-color:var(--navy); }
.view-btn.active { background:var(--navy); border-color:var(--navy); }

/* ============================================================
   ESSENTIAL PAGES
   ============================================================ */
.page-hero {
  padding:var(--s20) 0 var(--s16);
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
  position:relative; overflow:hidden;
}
.page-hero::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:80px;
  background:linear-gradient(to top, var(--white), transparent);
  pointer-events:none;
}
.page-hero__eyebrow { color:var(--gold); font-size:var(--t13); font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:var(--s4); }
.page-hero__title { font-family:var(--font-display); font-size:clamp(var(--t36),5vw,var(--t56)); color:var(--white); line-height:1.1; margin-bottom:var(--s5); }
.page-hero__sub { font-size:var(--t18); color:rgba(255,255,255,.62); line-height:1.7; max-width:560px; }

/* Contact form */
.contact-form-field { margin-bottom:var(--s5); }
.contact-form-label { display:block; font-size:var(--t14); font-weight:600; color:var(--navy); margin-bottom:var(--s2); }
.contact-form-input,
.contact-form-textarea {
  width:100%; padding:var(--s4) var(--s5);
  border:1.5px solid var(--n200); border-radius:var(--r-md);
  font-size:var(--t16); font-family:var(--font-ui); color:var(--n900);
  background:var(--white); transition:border-color var(--fast);
  outline:none;
}
.contact-form-input:focus,.contact-form-textarea:focus { border-color:var(--gold); }
.contact-form-textarea { min-height:140px; resize:vertical; }

/* Pricing cards */
.pricing-card {
  border:2px solid var(--n100); border-radius:var(--r-2xl);
  overflow:hidden; transition:border-color var(--base), transform var(--base);
}
.pricing-card:hover { border-color:var(--gold); transform:translateY(-4px); }
.pricing-card--featured { border-color:var(--gold); }
.pricing-card__header { padding:var(--s8); }
.pricing-card--featured .pricing-card__header { background:var(--navy); }
.pricing-card__price {
  font-family:var(--font-display); font-size:var(--t48); font-weight:800;
  color:var(--navy); line-height:1; margin-bottom:var(--s2);
}
.pricing-card--featured .pricing-card__price { color:var(--gold); }
.pricing-card__period { font-size:var(--t14); color:var(--n500); }
.pricing-card__body { padding:var(--s6); }
.pricing-feature {
  display:flex; align-items:flex-start; gap:var(--s3);
  padding-block:var(--s3); border-bottom:1px solid var(--n100);
  font-size:var(--t14); color:var(--n700);
}
.pricing-feature:last-child { border-bottom:none; }
.pricing-feature__check { color:var(--st-active); font-size:var(--t16); flex-shrink:0; margin-top:1px; }
.pricing-feature__x { color:var(--n300); }
.pricing-card__footer { padding:var(--s5) var(--s6); border-top:1px solid var(--n100); }

/* Team card */
.team-card { text-align:center; }
.team-card__avatar { width:100px; height:100px; border-radius:50%; overflow:hidden; margin:0 auto var(--s4); background:var(--n100); }
.team-card__avatar img { width:100%; height:100%; object-fit:cover; }
.team-card__name { font-family:var(--font-display); font-size:var(--t18); font-weight:700; color:var(--navy); }
.team-card__role { font-size:var(--t14); color:var(--n500); margin-top:4px; }

/* ============================================================
   UTILITIES
   ============================================================ */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.text-gold  { color:var(--gold); }
.text-navy  { color:var(--navy); }
.text-muted { color:var(--n500); }
.text-white { color:var(--white); }
.text-sm    { font-size:var(--t14); }
.text-xs    { font-size:var(--t13); }
.font-display{ font-family:var(--font-display); }
.font-bold   { font-weight:700; }
.flex { display:flex; }
.items-center { align-items:center; }
.gap-2 { gap:var(--s2); }
.gap-3 { gap:var(--s3); }
.gap-4 { gap:var(--s4); }
.section__cta { margin-top:var(--s10); display:flex; justify-content:center; }
.relative { position:relative; }
.overflow-h { overflow:hidden; }
.divider { height:1px; background:var(--n100); }
.divider--dark { background:rgba(255,255,255,.07); }
.empty-state { text-align:center; padding:var(--s20) var(--s8); color:var(--n500); }
.empty-state p { font-size:var(--t18); margin-bottom:var(--s6); }
.bg-neutral { background:var(--n50); }

/* ============================================================
   ANIMATIONS
   ============================================================ */
@media (prefers-reduced-motion:no-preference) {
  /* Cards remain visible by default; JS enables reveal animation only after it loads. */
  .js-enabled .card { opacity:0; transform:translateY(10px); }
  .js-enabled .card.visible { opacity:1; transform:translateY(0); }
  .grid .card:nth-child(2) { transition-delay:50ms; }
  .grid .card:nth-child(3) { transition-delay:100ms; }
  .grid .card:nth-child(4) { transition-delay:150ms; }
  .grid .card:nth-child(5) { transition-delay:200ms; }
  .grid .card:nth-child(6) { transition-delay:250ms; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1100px) {
  .hero__grid          { grid-template-columns:1fr; gap:var(--s12); }
  .hero__panel         { display:none; }
  .hero__sub           { max-width:100%; }
  .grid--4             { grid-template-columns:repeat(2,1fr); }
  .footer-grid         { grid-template-columns:1fr 1fr; gap:var(--s8); }
  .cta-grid            { grid-template-columns:1fr; gap:var(--s4); }
  /* Single-page layouts get a narrower sidebar at mid-width */
  .article-layout      { grid-template-columns:1fr 240px; gap:var(--s8); }
  .listing-layout      { grid-template-columns:1fr 300px; }
  .event-layout        { grid-template-columns:1fr 300px; }
  .project-layout      { grid-template-columns:1fr 280px; }
  .listing-hero__gallery{ grid-template-rows:220px 160px; }
  /* Editorial grids collapse earlier */
  .grid--editorial     { grid-template-columns:1fr; }
  .editorial-stack     { display:grid; grid-template-columns:1fr 1fr; gap:var(--s4); }
}
@media (max-width:768px) {
  .section     { padding-block:var(--s12); }
  .section--sm { padding-block:var(--s10); }
  .section--lg { padding-block:var(--s16); }
  h1 { font-size:var(--t32); }
  h2 { font-size:var(--t24); }
  .container { padding-inline:var(--s4); }
  .grid--2,.grid--3 { grid-template-columns:1fr; }
  .site-nav    { display:none; }
  .nav-toggle  { display:flex; }
  .sec-header  { flex-direction:column; align-items:flex-start; gap:var(--s3); }
  .article-layout  { grid-template-columns:1fr; }
  .listing-layout  { grid-template-columns:1fr; }
  .event-layout    { grid-template-columns:1fr; }
  .project-layout  { grid-template-columns:1fr; }
  .editorial-stack { grid-template-columns:1fr; }
  .footer-grid     { grid-template-columns:1fr; gap:var(--s8); }
  .footer-bottom   { flex-direction:column; text-align:center; }
  .hero { min-height:560px; }
  .hero__grid { padding-block:var(--s16); }
  .hero__ctas { flex-direction:column; }
  .hero__ctas .btn { width:100%; }
  .listing-hero__gallery { grid-template-columns:1fr; grid-template-rows:260px; }
  .listing-hero__gallery-cell { display:none; }
  .listing-contact-card { position:static; }
  .event-detail-card { position:static; }
  .project-info-card { position:static; }
  .listing-info-grid { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .hero__quick { gap:var(--s2); }
  .search-bar  { flex-direction:column; border-radius:var(--r-lg); }
  .search-bar__btn { width:100%; justify-content:center; }
  .btn { min-height:44px; }
  .filter-tab { min-height:40px; }
}

/* ============================================================
   LAYOUT NORMALISATION — v4.1
   Named classes for all repeating layout patterns.
   Replaces ad-hoc inline styles in PHP templates.
   ============================================================ */

/* ── Editorial grid — shared by trending + newsroom ─────────
   1.5fr : 1fr — feature story left, supporting stories right  */
.grid--editorial {
  display: grid;
  grid-template-columns: var(--split-editorial);
  gap: var(--s6);
  align-items: start;
}

/* Lead story (left column) */
.editorial-lead {}
.editorial-lead .card__title {
  font-size: clamp(var(--t20), 2.2vw, var(--t24));
}

/* Supporting stories stack (right column) */
.editorial-stack {
  display: flex;
  flex-direction: column;
  gap: var(--s4);
}

/* ── Mini horizontal card — used inside editorial stacks ─────
   Fixed 120px thumbnail, flex body                           */
.card--mini {
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: stretch;
  min-height: 0;
}
.card--mini .card__media {
  aspect-ratio: 1;
  min-height: 120px;
}
.card--mini .card__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--s4);
}
.card--mini .card__title {
  font-size: var(--t15);
  line-height: 1.35;
  -webkit-line-clamp: 3;
}
.card--mini .card__meta { margin-bottom: var(--s2); }

/* ── Breadcrumb ──────────────────────────────────────────────  */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--s2);
  flex-wrap: wrap;
  font-size: var(--t13);
  color: var(--n500);
  margin-bottom: var(--s6);
}
.breadcrumb__sep { color: var(--n300); user-select: none; }
.breadcrumb a    { color: var(--n500); transition: color var(--fast); }
.breadcrumb a:hover { color: var(--gold); }
.breadcrumb__current { color: var(--n900); font-weight: 500; }

/* ── Listing section — directory page content sections ───────  */
.listing-section {
  padding-block: var(--s8);
  border-bottom: 1px solid var(--n100);
  margin-bottom: 0;
}
.listing-section:last-child { border-bottom: none; }
.listing-section__title {
  font-family: var(--font-display);
  font-size: var(--t24);
  color: var(--navy);
  margin-bottom: var(--s5);
}

/* ── Listing title block ─────────────────────────────────────  */
.listing-title-block { margin-bottom: var(--s8); }
.listing-title-block__badges {
  display: flex;
  gap: var(--s2);
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--s3);
}
.listing-title-block h1 {
  font-family: var(--font-display);
  font-size: clamp(var(--t28), 4vw, var(--t36));
  color: var(--navy);
  margin-bottom: var(--s3);
  line-height: 1.15;
}
.listing-title-block__address {
  font-size: var(--t16);
  color: var(--n500);
}

/* ── Search bar max-width normalisation ──────────────────────  */
.search-bar { max-width: var(--search-max-w); }

/* override for hero — full width within content column */
.hero__search-wrap .search-bar { max-width: 100%; }

/* ── Gallery header (listing pages) ─────────────────────────  */
.listing-gallery-wrap {
  margin-bottom: var(--s8);
}

/* ── Card badge row — consistent across all card types ───────  */
.card__badge-row {
  display: flex;
  align-items: flex-start;
  gap: 6px var(--s2);
  flex-wrap: wrap;
  margin-bottom: var(--s2);
}
.card--dir .card__badge-row .badge {
  max-width: 100%;
}
.card--dir .badge--outline {
  overflow-wrap: anywhere;
  white-space: normal;
}

@media (max-width: 480px) {
  .card--dir .card__badge-row {
    gap: 6px;
  }
  .card--dir .badge {
    padding-inline: 8px;
  }
}

/* ── Card footer action row ──────────────────────────────────  */
.card__actions {
  display: flex;
  gap: var(--s2);
  padding: var(--s3) var(--card-pad);
  border-top: 1px solid var(--n100);
  align-items: center;
}
.card__actions .btn { flex: 1; font-size: var(--t13); }
.card__actions .btn--view { flex: 0; margin-left: auto; }

/* ── Sticky sidebar offset ───────────────────────────────────  */
.sticky-sidebar {
  position: sticky;
  top: calc(64px + var(--s5));
}

/* ── Section intro — label + title + subtitle block ─────────  */
.section-intro {
  text-align: center;
  max-width: 560px;
  margin: 0 auto var(--s12);
}
.section-intro .eyebrow { display: block; margin-bottom: var(--s4); }
.section-intro h2 { margin-bottom: var(--s3); }
.section-intro p  { color: var(--n500); font-size: var(--t16); }


/* ============================================================
   FRONT-END FORMS — v5.0
   Shared by List Your Business, Submit Event,
   Contact, and Advertise pages.
   ============================================================ */

/* Form wrapper */
.tik-form { max-width: 760px; }
.tik-form--wide { max-width: 100%; }

/* Section divider inside form */
.tik-form__section {
  padding-block: var(--s8);
  border-top: 1px solid var(--n100);
}
.tik-form__section:first-child { border-top: none; padding-top: 0; }
.tik-form__section-title {
  font-family: var(--font-display);
  font-size: var(--t20);
  color: var(--navy);
  margin-bottom: var(--s6);
  display: flex;
  align-items: center;
  gap: var(--s3);
}
.tik-form__section-title .icon { font-size: var(--t24); }

/* Grid within form sections */
.tik-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s5) var(--s6);
}
.tik-form__grid--3 { grid-template-columns: 1fr 1fr 1fr; }
.tik-form__col-full { grid-column: 1 / -1; }

/* Field wrapper */
.tik-form__field { display: flex; flex-direction: column; gap: var(--s2); }

/* Label */
.tik-form__label {
  font-size: var(--t14);
  font-weight: 600;
  color: var(--navy);
  display: flex;
  align-items: center;
  gap: var(--s2);
}
.tik-form__label .req { color: var(--orange); }
.tik-form__hint {
  font-size: var(--t13);
  color: var(--n500);
  line-height: 1.5;
}

/* Inputs */
.tik-form__input,
.tik-form__select,
.tik-form__textarea {
  width: 100%;
  padding: var(--s3) var(--s4);
  border: 1.5px solid var(--n200);
  border-radius: var(--r-md);
  font-size: var(--t16);
  font-family: var(--font-ui);
  color: var(--n900);
  background: var(--white);
  transition: border-color var(--fast), box-shadow var(--fast);
  outline: none;
  min-height: 44px; /* accessibility */
}
.tik-form__input:focus,
.tik-form__select:focus,
.tik-form__textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201,162,39,.12);
}
.tik-form__input::placeholder,
.tik-form__textarea::placeholder { color: var(--n300); }
.tik-form__textarea { min-height: 120px; resize: vertical; line-height: 1.6; }
.tik-form__select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23667085' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right var(--s4) center; padding-right: var(--s10); }

/* File upload */
.tik-form__file-wrap {
  border: 2px dashed var(--n200);
  border-radius: var(--r-lg);
  padding: var(--s8);
  text-align: center;
  cursor: pointer;
  transition: border-color var(--fast), background var(--fast);
  position: relative;
}
.tik-form__file-wrap:hover { border-color: var(--gold); background: var(--gold-pale); }
.tik-form__file-wrap input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.tik-form__file-icon { font-size: var(--t32); margin-bottom: var(--s2); display: block; }
.tik-form__file-label { font-size: var(--t14); font-weight: 600; color: var(--navy); }
.tik-form__file-hint  { font-size: var(--t13); color: var(--n500); margin-top: var(--s1); }

/* Radio / checkbox group */
.tik-form__radio-group { display: flex; gap: var(--s4); flex-wrap: wrap; }
.tik-form__radio-opt {
  display: flex; align-items: center; gap: var(--s2);
  padding: var(--s3) var(--s5);
  border: 1.5px solid var(--n200);
  border-radius: var(--r-md);
  cursor: pointer;
  font-size: var(--t14); font-weight: 500;
  transition: all var(--fast);
  min-height: 44px;
}
.tik-form__radio-opt:has(input:checked) {
  border-color: var(--gold);
  background: var(--gold-pale);
  color: var(--navy);
}
.tik-form__radio-opt input { accent-color: var(--gold); }

/* Notices */
.tik-form-notice {
  display: flex;
  align-items: flex-start;
  gap: var(--s4);
  padding: var(--s5) var(--s6);
  border-radius: var(--r-lg);
  margin-bottom: var(--s8);
  font-size: var(--t15);
  line-height: 1.6;
}
.tik-form-notice--success {
  background: #D1FAE5;
  border: 1px solid #A7F3D0;
  color: #065F46;
}
.tik-form-notice--error {
  background: #FEE2E2;
  border: 1px solid #FECACA;
  color: #991B1B;
}
.tik-form-notice--info {
  background: var(--gold-pale);
  border: 1px solid #F3E0A0;
  color: var(--gold-muted);
}
.tik-form-notice__icon { font-size: var(--t20); flex-shrink: 0; margin-top: 1px; }

/* Submit button row */
.tik-form__submit {
  margin-top: var(--s8);
  padding-top: var(--s8);
  border-top: 1px solid var(--n100);
  display: flex;
  align-items: center;
  gap: var(--s4);
  flex-wrap: wrap;
}
.tik-form__terms {
  font-size: var(--t13);
  color: var(--n500);
  line-height: 1.6;
  max-width: 480px;
}
.tik-form__terms a { color: var(--gold); }

/* Page form layout: two-column prose + form */
.form-page-layout {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: var(--s16);
  align-items: start;
}
.form-page-sidebar { position: sticky; top: calc(64px + var(--s6)); }

/* Benefits list */
.benefit-list { display: flex; flex-direction: column; gap: var(--s4); }
.benefit-item {
  display: flex;
  gap: var(--s4);
  align-items: flex-start;
  padding: var(--s4);
  background: rgba(255,255,255,.06);
  border-radius: var(--r-lg);
  border: 1px solid rgba(255,255,255,.08);
}
.benefit-item__icon { font-size: var(--t24); flex-shrink: 0; }
.benefit-item__title { font-size: var(--t15); font-weight: 700; color: var(--white); }
.benefit-item__desc  { font-size: var(--t13); color: rgba(255,255,255,.55); margin-top: 2px; }

@media (max-width: 900px) {
  .form-page-layout { grid-template-columns: 1fr; gap: var(--s8); }
  .form-page-sidebar { position: static; }
  .tik-form__grid   { grid-template-columns: 1fr; }
  .tik-form__grid--3{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .tik-form__grid--3 { grid-template-columns: 1fr; }
  .tik-form__radio-group { flex-direction: column; }
}


/* Directory booking platform links */
.tik-booking-card {
  border-color: rgba(201, 162, 39, .28);
  background: linear-gradient(180deg, #fff 0%, #fffaf0 100%);
  border-radius: 12px;
}

.tik-booking-card h3 {
  color: #0F172A;
  margin-bottom: 8px;
}

.tik-booking-card p {
  color: var(--n500);
  font-size: var(--t14);
  line-height: 1.55;
  margin-bottom: 16px;
}

.tik-booking-card__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.tik-booking-card__button {
  align-items: center;
  background: #0F172A;
  border: 1px solid rgba(201, 162, 39, .35);
  border-radius: 12px;
  color: #fff;
  display: inline-flex;
  font-size: var(--t14);
  font-weight: 800;
  justify-content: center;
  min-height: 44px;
  padding: 10px 14px;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.tik-booking-card__button:hover {
  background: #F97316;
  border-color: #F97316;
  color: #fff;
  transform: translateY(-1px);
}

@media (min-width: 680px) {
  .tik-booking-card__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ============================================================
   MOBILE HARDENING — v5.1
   Comprehensive mobile fixes. All rules here are additive —
   they override earlier declarations at the right breakpoint.
   Order: global → 1100px → 768px → 480px → 360px
   ============================================================ */

/* ── 0. Global: prevent ALL horizontal overflow ─────────────
   Must be on both html AND body to catch transformed children. */
html { overflow-x: hidden; }
body { overflow-x: hidden; max-width: 100%; }

/* ── 1. Trending / Editorial section fixes ──────────────────
   .editorial-stack gap: s4→s5 for breathing room
   .card--mini thumbnail: strict square aspect ratio
   .card--mini body: better vertical alignment
   .editorial-lead title: tighter clamp on narrower viewports  */
.editorial-stack      { gap: var(--s5); }  /* was s4, now s5 */

.card--mini .card__media {
  width: 120px;
  aspect-ratio: 1 / 1;      /* strict square — no jitter */
  flex-shrink: 0;
  align-self: stretch;
}
.card--mini .card__body {
  padding: var(--s4) var(--s4) var(--s4) var(--s4);
  gap: var(--s1);
}
/* Consistent meta line height */
.card--mini .card__meta      { margin-bottom: var(--s1); min-height: 0; }
.card--mini .card__title     { margin-bottom: var(--s1); line-height: 1.3; }
.card--mini .text-xs         { line-height: 1.2; display: block; }

/* Lead card: clamp title correctly across viewport widths */
.editorial-lead .card__title {
  font-size: clamp(var(--t18), 2vw, var(--t24));
  line-height: 1.25;
}
.editorial-lead .card__body  { padding: var(--s5); }
.editorial-lead .card__meta  { margin-bottom: var(--s3); }

/* ── 2. Named utility classes for inline grids ───────────────
   Replaces inline style= grids in templates so they
   respond properly to breakpoints.                            */

/* Audience stats grid — Advertise page (4 columns desktop) */
.grid--audience { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--s6); text-align: center; }

/* Two-column text+form layout — Contact page */
.grid--contact  { display: grid; grid-template-columns: var(--split-editorial); gap: var(--s16); align-items: start; }

/* ── 3. Tablet breakpoint — 1100px ──────────────────────────  */
@media (max-width: 1100px) {
  /* Audience grid: 4→2 */
  .grid--audience { grid-template-columns: repeat(2,1fr); gap: var(--s5); }
  /* Contact layout: split→full */
  .grid--contact  { grid-template-columns: 1fr; gap: var(--s10); }
  /* Trending: collapse editorial grid 1100→1 */
  .grid--editorial { grid-template-columns: 1fr; }
  .editorial-stack { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s5); }
  /* Hero panel hidden (already set) */
}

/* ── 4. Mobile breakpoint — 768px ───────────────────────────  */
@media (max-width: 768px) {

  /* ── Body / global ── */
  * { -webkit-overflow-scrolling: touch; }

  /* ── Container: tighter padding ── */
  .container         { padding-inline: var(--s4); }  /* 16px */
  .container--narrow { padding-inline: var(--s4); }
  .container--text   { padding-inline: var(--s4); }

  /* ── Nav: compact ── */
  .site-header__inner { height: 56px; gap: var(--s4); }
  .site-logo          { font-size: var(--t18); }
  .site-header__actions { display: none; }  /* hidden — CTA in mobile nav */

  /* ── Hero: tighter ── */
  .hero                { min-height: auto; margin-top: 0; }
  .hero__inner         { padding-top: 0; }
  .hero__grid          { padding-block: var(--s8) var(--s10); gap: var(--s6); }
  .hero__title         { font-size: var(--t32); }
  .hero__sub           { font-size: var(--t16); margin-bottom: var(--s6); }
  .hero__ctas          { flex-direction: column; gap: var(--s3); }
  .hero__ctas .btn     { width: 100%; justify-content: center; }
  .hero__quick         { gap: var(--s2); }
  .hero__ql            { font-size: var(--t13); }
  .hero__search-wrap   { margin-bottom: var(--s5); }
  .hero__breaking      { max-width: 100%; }
  .hero__breaking-link { font-size: var(--t13); }
  .hero__panel         { display: none; }

  /* ── Section spacing ── */
  .section     { padding-block: var(--s12); }
  .section--sm { padding-block: var(--s10); }
  .section--lg { padding-block: var(--s16); }
  .section--xs { padding-block: var(--s6);  }

  /* ── Page hero: no overflow ── */
  .page-hero       { padding-block: var(--s12) var(--s16); }
  .page-hero__title{ font-size: clamp(var(--t28), 8vw, var(--t36)); }
  .page-hero__sub  { font-size: var(--t16); }

  /* ── Archive hero ── */
  .archive-hero    { padding-block: var(--s10); }

  /* ── All grids collapse ── */
  .grid--2,.grid--3,.grid--4 { grid-template-columns: 1fr; }
  .grid--audience            { grid-template-columns: 1fr 1fr; }
  .grid--contact             { grid-template-columns: 1fr; gap: var(--s8); }
  .grid--editorial           { grid-template-columns: 1fr; }
  .editorial-stack           { display: flex; flex-direction: column; gap: var(--s4); }

  /* ── All single layouts collapse ── */
  .article-layout  { grid-template-columns: 1fr; }
  .listing-layout  { grid-template-columns: 1fr; }
  .event-layout    { grid-template-columns: 1fr; }
  .project-layout  { grid-template-columns: 1fr; }

  /* ── Listing (directory single): no sticky ── */
  .listing-contact-card { position: static; border-radius: var(--r-xl); }
  .event-detail-card    { position: static; }
  .project-info-card    { position: static; }
  .sticky-sidebar       { position: static; }

  /* ── Gallery: mobile shows one image only ── */
  .listing-hero__gallery       { grid-template-columns: 1fr; height: 240px; grid-template-rows: 240px; border-radius: var(--r-xl); }
  .listing-hero__gallery-main  { grid-row: auto; }
  .listing-hero__gallery-cell  { display: none; }

  /* ── Cards: full width, consistent ── */
  .card--mini { grid-template-columns: 100px 1fr; }
  .card--mini .card__media { width: 100px; }

  /* ── CTA grid ── */
  .cta-grid   { grid-template-columns: 1fr; gap: var(--s4); }

  /* ── Footer ── */
  .footer-grid   { grid-template-columns: 1fr; gap: var(--s8); }
  .footer-bottom { flex-direction: column; text-align: center; }

  /* ── Form page layout ── */
  .form-page-layout  { grid-template-columns: 1fr; gap: var(--s8); }
  .form-page-sidebar { position: static; order: 2; } /* form first on mobile */
  .tik-form__grid    { grid-template-columns: 1fr; }
  .tik-form__grid--3 { grid-template-columns: 1fr; }

  /* ── Buttons: full-width in stacked contexts ── */
  .tik-form__submit          { flex-direction: column; align-items: stretch; }
  .tik-form__submit .btn     { width: 100%; justify-content: center; }
  .tik-form__terms           { max-width: 100%; }

  /* ── Section header: vertical ── */
  .sec-header { flex-direction: column; align-items: flex-start; gap: var(--s3); }

  /* ── About page: value grid ── */
  .grid--2 { grid-template-columns: 1fr; }

  /* ── Listing info grid ── */
  .listing-info-grid { grid-template-columns: 1fr; gap: var(--s3); }

  /* ── Pricing cards ── */
  .pricing-card { margin-bottom: var(--s4); }
}

/* ── 5. Small mobile — 480px ─────────────────────────────────  */
@media (max-width: 480px) {

  /* Prevent any element from causing scroll */
  .card,.sec-header,.filter-tabs { overflow: visible; }
  .filter-tabs { overflow-x: auto; }

  /* Hero */
  .hero       { min-height: 420px; }
  .hero__grid { padding-block: var(--s10); }

  /* Search bar: vertical stack */
  .search-bar     { flex-direction: column; border-radius: var(--r-lg); }
  .search-bar__btn{ width: 100%; justify-content: center; border-radius: 0 0 var(--r-lg) var(--r-lg); }

  /* Mini cards: slightly narrower thumb */
  .card--mini                 { grid-template-columns: 80px 1fr; }
  .card--mini .card__media    { width: 80px; min-height: 80px; }

  /* Stat numbers: smaller on tiny screens */
  .hero__stat-val { font-size: var(--t24); }

  /* Audience grid: single column */
  .grid--audience { grid-template-columns: 1fr; gap: var(--s4); }

  /* Buttons: touch-friendly minimum */
  .btn        { min-height: 48px; }
  .btn--sm    { min-height: 40px; }
  .filter-tab { min-height: 40px; white-space: nowrap; }

  /* Form grid stays single column */
  .tik-form__grid,.tik-form__grid--3 { grid-template-columns: 1fr; }
  .tik-form__radio-group             { flex-direction: column; }

  /* Nav */
  .site-header__inner { height: 52px; padding-inline: var(--s4); }
  .site-logo__icon    { width: 28px; height: 28px; font-size: var(--t13); }
}

/* ── 6. Very small — 360px ───────────────────────────────────  */
@media (max-width: 360px) {
  .container { padding-inline: var(--s3); }  /* 12px */
  .hero__title { font-size: var(--t28); }
  .card__body  { padding: var(--s4); }
}


/* ============================================================
   ACCESSIBILITY + FOCUS — v5.2
   Keyboard focus rings using :focus-visible.
   Visible only for keyboard/sequential navigation;
   suppressed for mouse/pointer interactions.
   ============================================================ */

/* Global: reset browser default outline */
* { outline: none; }

/* Re-apply a consistent focus ring for keyboard users only */
:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: var(--r-sm);
}

/* Interactive elements get a more precise ring */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex="0"]:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
  border-radius: var(--r-sm);
}

/* Cards that are links */
.card:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 0;
  box-shadow: 0 0 0 4px rgba(201,162,39,.18), var(--card-hover);
}

/* Nav links */
.site-nav__link:focus-visible,
.nav-dropdown__link:focus-visible,
.mobile-nav__link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

/* Skip to content — visible on focus only */
.sr-only:focus-visible {
  position: fixed;
  top: var(--s4);
  left: var(--s4);
  width: auto;
  height: auto;
  padding: var(--s3) var(--s5);
  background: var(--gold);
  color: var(--white);
  font-size: var(--t14);
  font-weight: 700;
  border-radius: var(--r-md);
  clip: auto;
  z-index: calc(var(--z-toast) + 1);
  box-shadow: var(--sh-xl);
}

/* Form fields: gold border on focus-visible (overrides base input :focus) */
.tik-form__input:focus-visible,
.tik-form__select:focus-visible,
.tik-form__textarea:focus-visible {
  outline: none;   /* handled by border */
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201,162,39,.15);
}

/* Filter tabs — keyboard reachable */
.filter-tab:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

/* Buttons */
.btn:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px var(--gold);
}

/* ============================================================
   LAYOUT CONSISTENCY — utility page / utility section fixes
   ============================================================ */

/* Ensure page-hero section ::after gradient doesn't bleed on mobile */
@media (max-width: 768px) {
  .page-hero::after { height: 40px; }
  .page-hero { padding-bottom: var(--s16); }
}

/* Ensure .grid--contact (contact page split) collapses properly */
@media (max-width: 900px) {
  .grid--contact { grid-template-columns: 1fr; gap: var(--s8); }
}

/* Sidebar order on mobile — form before benefits panel */
@media (max-width: 900px) {
  .form-page-layout { grid-template-columns: 1fr; }
  .form-page-sidebar {
    position: static;
    order: 2;   /* benefits go below form on mobile */
  }
}

/* CTA grid: always single column on tablet- */
@media (max-width: 900px) {
  .cta-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   MOBILE NAV — current state visual indicator
   ============================================================ */
.mobile-nav__link.current {
  color: var(--white);
  background: rgba(255,255,255,.07);
}
.mobile-nav__link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: -2px;
}

/* ============================================================
   CARD CONSISTENCY — enforce alt text via CSS attr fallback
   (actual alt fix is in PHP; this is a dev aid only)
   ============================================================ */
.card__media img[alt=""] {
  /* Decorative — no change needed */
}


/* ============================================================
   FORM VALIDATION STATES — v5.3
   ============================================================ */

/* Field error state */
.tik-form__input[aria-invalid="true"],
.tik-form__select[aria-invalid="true"],
.tik-form__textarea[aria-invalid="true"] {
  border-color: #fca5a5;
  box-shadow: 0 0 0 3px rgba(239,68,68,.10);
}

/* Success notice - inline (non-banner) */
.tik-form-notice--success a { color: #065F46; font-weight: 700; text-decoration: underline; }

/* Submission loading state */
.tik-form__submit .btn:disabled {
  opacity: .72;
  cursor: not-allowed;
  transform: none;
}

/* ── Tier badge colours ──────────────────────────────────── */
.badge--tier-free      { background: var(--n100); color: var(--n700); }
.badge--tier-paid      { background: var(--gold-pale); color: var(--gold-muted); }
.badge--tier-sponsored { background: var(--navy); color: var(--gold); }


/* ============================================================
   HERO OVERFLOW HARDENING — v5.3.1
   Targeted fixes for 360–430px viewports.
   Root causes: white-space:nowrap on .btn, flex-shrink:0 on
   search-bar__btn, unconstrained hero__breaking pill.
   ============================================================ */

/* Breaking news pill: never wider than viewport.
   The inner link must truncate, not push the pill wider.       */
.hero__breaking {
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}
.hero__breaking-link {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  flex: 1 1 0;
}
.hero__breaking .badge {
  flex-shrink: 0;    /* badge never squashes */
}

/* Search bar: stack earlier (540px) so it's clean on 430px.
   Overrides the 480px rule defined earlier.                   */
@media (max-width: 540px) {
  .search-bar {
    flex-direction: column;
    border-radius: var(--r-lg);
  }
  .search-bar__input {
    border-radius: var(--r-lg) var(--r-lg) 0 0;
    min-width: 0;     /* allow shrinking */
  }
  .search-bar__btn {
    width: 100%;
    justify-content: center;
    border-radius: 0 0 var(--r-lg) var(--r-lg);
    flex-shrink: 1;   /* override global flex-shrink:0 */
    white-space: normal;
  }
}

/* Hero CTAs: full-width at 540px and below.                   */
@media (max-width: 540px) {
  .hero__ctas {
    flex-direction: column;
    align-items: stretch;
  }
  .hero__ctas .btn {
    width: 100%;
    white-space: normal;
    text-align: center;
    min-height: 48px;
  }
}

/* Buttons in hero context: allow text wrapping at narrow widths.
   Generic .btn keeps nowrap for nav/UI; only hero breaks.     */
@media (max-width: 400px) {
  .hero .btn {
    white-space: normal;
    font-size: var(--t13);
  }
  .hero__ql {
    font-size: var(--t12);
    padding: var(--s2);
  }
  .hero__grid {
    padding-block: var(--s8);
  }
  /* Stats: 2-column grid instead of row at 400px */
  .hero__stats-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* ============================================================
   SINGLE DIRECTORY — WIDE LAYOUT
   Use container--wide so gallery and content fill the screen.
   The .listing-layout uses 1fr 380px — wider than before.
   ============================================================ */

/* Wide listing layout: more generous content column           */
.listing-layout--wide {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--s10);
  align-items: start;
}

/* Gallery section: full viewport-width strip on directory page */
.listing-gallery-section {
  background: var(--n50);
  padding-block: var(--s5);
  border-bottom: 1px solid var(--n100);
}

/* Make gallery use the full container--wide width             */
.listing-gallery-wrap {
  margin-bottom: 0;   /* section handles spacing */
}
.listing-hero__gallery {
  width: 100%;
}

/* Ensure contact card doesn't collapse below content          */
@media (min-width: 769px) {
  .listing-layout--wide > aside {
    min-width: 0;
  }
  .listing-layout--wide > aside .listing-contact-card {
    position: sticky;
    top: calc(64px + var(--s5));
    min-width: 320px;
  }
}

/* Responsive: collapse listing-layout--wide same as listing-layout */
@media (max-width: 1100px) {
  .listing-layout--wide { grid-template-columns: 1fr 320px; }
}
@media (max-width: 768px) {
  .listing-layout--wide { grid-template-columns: 1fr; }
  .listing-layout--wide > aside .listing-contact-card { position: static; }
}


/* ============================================================
   HOTFIX v5.3.2
   A) Hero mobile — inline-flex breaking news pill overflow
   B) Directory single page — gallery and layout width
   ============================================================ */

/* ── A. Hero breaking news pill — definitive mobile fix ─────
   The base rule uses display:inline-flex which ignores
   max-width:100% when content overflows. On mobile we force
   display:flex (block-level) so it respects the container.
   The link truncates internally, badge never squashes.       */
@media (max-width: 768px) {
  .hero__breaking {
    display: flex;          /* not inline-flex — block flex respects parent width */
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .hero__breaking-link {
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .hero__breaking .badge {
    flex-shrink: 0;
  }
}

/* hero__sub: prevent any long word from overflowing */
@media (max-width: 768px) {
  .hero__sub {
    overflow-wrap: break-word;
    word-break:    break-word;
    max-width:     100%;
  }
  .hero__title {
    overflow-wrap: break-word;
    word-break:    break-word;
  }
  /* hero__content must not exceed container */
  .hero__content {
    min-width: 0;
    max-width: 100%;
    overflow:  hidden;
  }
}

/* ── B. Directory single page — fill available viewport ─────
   The gallery section and content use container--wide
   (max-width:1440px) which is correct. The gallery grid
   needs explicit height/row sizing for the wider container.  */
.listing-gallery-section {
  width:   100%;
  display: block;
}

/* Gallery: slightly taller rows when inside the wide container */
.container--wide .listing-hero__gallery {
  grid-template-rows: 320px 220px;
}

/* On tablet (1100px) keep it proportional */
@media (max-width: 1100px) {
  .container--wide .listing-hero__gallery {
    grid-template-rows: 240px 170px;
  }
}

/* On mobile — already handled by earlier mobile breakpoint */


/* ============================================================
   CARD + EDITORIAL FIXES — v5.3.3
   ============================================================ */

/* ── Directory card: flex column so actions pin to bottom ─── */
.card--dir {
  display: flex;
  flex-direction: column;
}
.card--dir .card__media {
  flex-shrink: 0;
}
.card--dir .card__body {
  flex: 1 1 auto;       /* grows to fill space between image and actions */
  display: flex;
  flex-direction: column;
}
.card--dir .card__badge-row {
  flex-shrink: 0;
}
.card--dir .card__title {
  flex: 1 1 auto;       /* title area grows, pushing excerpt + actions down */
  align-self: flex-start;
}
.card--dir .card__excerpt {
  flex-shrink: 0;
  /* Single truncated line for address */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  -webkit-line-clamp: unset;
}
.card--dir .card__actions {
  flex-shrink: 0;
  margin-top: auto;      /* always sits at bottom of the card */
}

/* ── Card image: enforce 4:3 on directory cards ──────────── */
.card--dir .card__media { aspect-ratio: 4 / 3; }

/* ── Badge row: prevent overflow on small cards ─────────── */
.card__badge-row {
  overflow: hidden;
  /* Allow badges to wrap but cap at 2 lines max */
}
/* ── Editorial grid: both columns align to top ───────────── */
.grid--editorial {
  align-items: start;     /* was missing — stops column height mismatch */
}

/* Lead card: fixed aspect image prevents height variability */
.editorial-lead .card__media {
  aspect-ratio: 16 / 9;
  min-height: 0;
}

/* Editorial stack: equal-height cards via flex */
.editorial-stack {
  display: flex;
  flex-direction: column;
  gap: var(--s4);
}
.editorial-stack .card--mini {
  /* Remove any height auto-stretching */
  align-self: stretch;
}

/* card--mini: consistent image square, body vertically centred */
.card--mini {
  display: grid;
  grid-template-columns: 112px 1fr;
  min-height: 112px;
}
.card--mini .card__media {
  width: 112px;
  height: 112px;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
  align-self: stretch;
}
.card--mini .card__body {
  padding: var(--s4);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--s1);
  min-width: 0;           /* allow text to truncate */
}
.card--mini .card__title {
  font-size: var(--t15);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* Consistent meta spacing in mini cards */
.card--mini .card__meta { margin-bottom: 0; }

/* ── Newsroom supporting cards: stable small news card ─────
   .card--news-sm: same 16:9 image + consistent body height  */
.editorial-stack .card--news-sm .card__media {
  aspect-ratio: 16 / 9;
}
.editorial-stack .card--news-sm .card__body {
  padding: var(--s4);
}
.editorial-stack .card--news-sm .card__title {
  font-size: var(--t16);
  -webkit-line-clamp: 3;
}


/* ============================================================
   ARCHIVE/LISTING UI FINALIZATION — v5.2
   Keeps listing pages visible even when JS/cache fails.
   ============================================================ */
.post-type-archive .archive-hero,
.archive .archive-hero { position: relative; }

.post-type-archive .section,
.archive .section { display: block; }

.post-type-archive .grid,
.archive .grid,
.discovery-grid,
.listing-grid {
  display: grid;
  gap: var(--s6);
}

.post-type-archive .grid--auto,
.archive .grid--auto,
.discovery-grid,
.listing-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.card,
article.card {
  opacity: 1;
  visibility: visible;
  min-width: 0;
}

.card__body,
.card__title,
.card__excerpt,
.card__meta { min-width: 0; }

.card__title a { color: inherit; }

.card__media a {
  display: block;
  height: 100%;
}

.card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card--sponsored {
  position: relative;
  border-color: rgba(201,162,39,.55);
}

.badge--verified::before {
  content: '✓';
  font-weight: 800;
}

.archive-filter {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

@media (max-width: 768px) {
  .post-type-archive .grid--auto,
  .archive .grid--auto,
  .discovery-grid,
  .listing-grid { grid-template-columns: 1fr; }

  .archive-hero { padding-block: var(--s10); }
}

/* ============================================================
   PREMIUM NEWSROOM + UI FINAL PATCH — v7.1
   Includes: homepage newsroom alignment, robust card visibility,
   archive/listing fallback grid, and JS-failure-safe display.
   ============================================================ */

/* Cards must remain visible even if JS fails or main.js is cached/missing. */
.card,
article.card {
  opacity: 1;
  visibility: visible;
  transform: none;
  min-width: 0;
}

@media (prefers-reduced-motion:no-preference) {
  html.js-enabled .card:not(.visible) {
    opacity: 1; /* fail-safe: never hide published content */
    transform: none;
  }
  html.js-enabled .card.visible {
    opacity: 1;
    transform: none;
  }
}

.premium-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--s6);
  margin-bottom: var(--s8);
}

.premium-section-head .sec-header__label { margin-bottom: var(--s3); }
.premium-section-head .sec-header__sub { max-width: 720px; }

.premium-topic-tabs {
  display: flex;
  gap: var(--s2);
  overflow-x: auto;
  padding-bottom: var(--s1);
  margin-bottom: var(--s8);
  scrollbar-width: none;
}
.premium-topic-tabs::-webkit-scrollbar { display: none; }

.premium-newsroom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(340px, .9fr) minmax(260px, .55fr);
  gap: var(--s6);
  align-items: stretch;
}

.premium-lead-story {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--r-2xl);
  overflow: hidden;
}

.premium-lead-story__media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--navy-mid);
}
.premium-lead-story__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.premium-lead-story__badge {
  position: absolute;
  left: var(--s4);
  bottom: var(--s4);
}
.premium-lead-story__body {
  padding: var(--s6);
  display: flex;
  flex-direction: column;
  flex: 1;
}
.premium-lead-story__title {
  font-family: var(--font-display);
  font-size: clamp(var(--t24), 2.6vw, var(--t36));
  line-height: 1.14;
  margin-bottom: var(--s3);
  color: var(--navy);
}
.premium-lead-story__title a:hover,
.premium-news-mini__title a:hover,
.premium-brief:hover span { color: var(--gold); }
.premium-lead-story__excerpt {
  color: var(--n500);
  line-height: 1.7;
  font-size: var(--t15);
}

.premium-news-stack {
  display: grid;
  gap: var(--s4);
  align-content: start;
}

.premium-news-mini {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  min-height: 128px;
  border-radius: var(--r-xl);
  overflow: hidden;
}
.premium-news-mini__media {
  display: block;
  height: 100%;
  min-height: 128px;
  background: var(--n100);
  overflow: hidden;
}
.premium-news-mini__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.premium-news-mini__body {
  padding: var(--s4);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.premium-news-mini__title {
  font-family: var(--font-display);
  font-size: var(--t18);
  line-height: 1.3;
  color: var(--navy);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.premium-news-briefs {
  background: var(--white);
  border: 1px solid var(--n100);
  border-radius: var(--r-2xl);
  box-shadow: var(--card-shadow);
  padding: var(--s5);
  align-self: stretch;
}
.premium-briefs__head {
  padding-bottom: var(--s4);
  margin-bottom: var(--s2);
  border-bottom: 2px solid var(--gold-pale);
}
.premium-briefs__head strong {
  display: block;
  font-family: var(--font-display);
  color: var(--navy);
  font-size: var(--t20);
  margin-top: var(--s1);
}
.premium-brief {
  display: block;
  padding: var(--s4) 0;
  border-bottom: 1px solid var(--n100);
  text-decoration: none;
}
.premium-brief span {
  display: block;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.35;
}
.premium-brief small {
  display: block;
  color: var(--n500);
  margin-top: var(--s1);
  font-size: var(--t13);
}
.premium-brief--cta {
  border-bottom: 0;
  color: var(--gold-muted);
  font-weight: 800;
}

.premium-media-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: rgba(255,255,255,.35);
  background: linear-gradient(135deg, var(--navy), var(--navy-mid));
  font-family: var(--font-display);
  font-weight: 800;
}
.premium-media-placeholder.small { font-size: var(--t13); }

/* Strengthen all archive/listing grids. */
.post-type-archive .grid--auto,
.archive .grid--auto,
.discovery-grid,
.listing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--s6);
}

.post-type-archive .card__media a,
.archive .card__media a,
.card__media a {
  display: block;
  width: 100%;
  height: 100%;
}

.post-type-archive .card__media img,
.archive .card__media img,
.card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 1180px) {
  .premium-newsroom-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 1fr);
  }
  .premium-news-briefs {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--s3);
  }
  .premium-briefs__head { grid-column: 1 / -1; }
  .premium-brief { border-bottom: 0; border-top: 1px solid var(--n100); }
}

@media (max-width: 900px) {
  .premium-section-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .premium-newsroom-grid {
    grid-template-columns: 1fr;
  }
  .premium-news-briefs {
    display: block;
  }
}

@media (max-width: 560px) {
  .premium-news-mini {
    grid-template-columns: 96px minmax(0, 1fr);
    min-height: 104px;
  }
  .premium-news-mini__media { min-height: 104px; }
  .premium-news-mini__body { padding: var(--s3); }
  .premium-news-mini__title { font-size: var(--t15); }
}

/* v9 safety: similar business cards should never collapse if an image is missing */
.card__placeholder {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:220px;
  background:var(--n100);
  color:var(--n500);
  font-size:var(--t14);
}
.similar-businesses .grid--3 {
  align-items:start;
}

/* ============================================================
   v10 CRITICAL UI FIXES — badges, cards, listings and maps
   ============================================================ */
.card, article.card { opacity:1 !important; transform:none !important; visibility:visible !important; position:relative; }
.js-enabled .card, .js-enabled .card.visible { opacity:1 !important; transform:none !important; }
.card__media > .badge, .card__img-badge, .card__media .badge--gold, .card__media .badge--navy, .card__media .badge--sponsored, .card__media .badge--verified {
  position:absolute !important; display:inline-flex !important; width:auto !important; min-width:0 !important; max-width:calc(100% - 24px) !important; height:auto !important; min-height:0 !important;
  padding:4px 10px !important; border-radius:999px !important; font-size:11px !important; line-height:1.35 !important; letter-spacing:.06em !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; z-index:5 !important; transform:none !important;
}
.card__img-badge { left:12px !important; bottom:12px !important; top:auto !important; right:auto !important; }
.card__media > .badge[style*="right"] { top:12px !important; right:12px !important; left:auto !important; bottom:auto !important; }
.archive .grid, .post-type-archive .grid, .grid--auto { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px !important; align-items:stretch; }
.card__media { position:relative; min-height:160px; }
.card__media img { width:100% !important; height:100% !important; object-fit:cover !important; }
.card__placeholder { min-height:180px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--navy),var(--navy-mid)); color:rgba(255,255,255,.7); font-weight:700; }
.listing-sidebar .widget_archive, .listing-sidebar .widget_categories, .single-directory .widget_archive, .single-directory .widget_categories { display:none !important; }
.tik-map-fallback { width:100%; min-height:420px; padding:32px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--n50); border:1px solid var(--n100); color:var(--n700); text-align:center; }
.tik-map-fallback__grid { width:100%; max-width:1100px; margin-top:24px; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; text-align:left; }
.tik-map-fallback__item { background:#fff; border:1px solid var(--n100); border-radius:12px; padding:14px; box-shadow:var(--sh-xs); }
@media (max-width:768px){ .archive .grid, .post-type-archive .grid, .grid--auto { grid-template-columns:1fr !important; } }

/* Tik v5.3 archive/search/map monetization upgrades */
.tik-advanced-search{display:grid;grid-template-columns:minmax(220px,1fr) 180px 160px auto;gap:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.12)}
.tik-advanced-search .search-bar__input,.tik-advanced-search .search-bar__select{border:0;border-right:1px solid #e5e7eb;min-height:58px;padding:0 18px;font:inherit;background:#fff;color:var(--navy)}
.tik-archive-map-wrap{margin-top:-32px;margin-bottom:32px;border-radius:24px;overflow:hidden;box-shadow:0 18px 50px rgba(15,23,42,.18);border:1px solid rgba(15,23,42,.08)}
#tik-archive-map{height:360px;background:#eef2f7}.tik-map-fallback{height:100%;display:flex;align-items:center;justify-content:center;color:#667085;background:#f8fafc}
.card__logo{position:absolute;left:18px;bottom:-22px;width:48px;height:48px;border-radius:14px;border:3px solid #fff;box-shadow:0 10px 25px rgba(15,23,42,.18);background:#fff;object-fit:cover}.badge--rating{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.tik-pricing-card{background:var(--navy);color:#fff;border-radius:24px;padding:32px;position:sticky;top:110px}.tik-pricing-card h2{font-family:var(--font-display);font-size:28px;margin-bottom:18px}.tik-pricing-card p{color:rgba(255,255,255,.78);line-height:1.7;margin:0 0 16px}
@media(max-width:800px){.tik-advanced-search{grid-template-columns:1fr}.tik-advanced-search .search-bar__input,.tik-advanced-search .search-bar__select{border-right:0;border-bottom:1px solid #e5e7eb}.tik-archive-map-wrap{margin-top:20px}#tik-archive-map{height:300px}}

/* ============================================================
   PHASE 1 UX FEATURES — added by phase1-features.php + phase1.js
   ============================================================ */

/* ── WhatsApp floating button ─────────────────────────────── */
.tik-wa-float {
  position: fixed;
  bottom: 100px;      /* above bookmarks toggle */
  right: var(--s5);
  z-index: 900;
  display: flex;
  align-items: center;
  gap: var(--s2);
  padding: var(--s3) var(--s4);
  background: #25d366;
  color: #fff;
  border-radius: 999px;
  text-decoration: none;
  font-size: var(--t14);
  font-weight: 600;
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
  transition: transform .15s, box-shadow .15s;
  max-width: 160px;
  white-space: nowrap;
  overflow: hidden;
}
.tik-wa-float:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  color: #fff;
}
.tik-wa-float span { font-size: var(--t13); }

/* ── Bookmarks toggle (fixed, bottom-right) ───────────────── */
.tik-bm-toggle {
  position: fixed;
  bottom: var(--s5);
  right: var(--s5);
  z-index: 900;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  border: 2px solid var(--gold);
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
  transition: transform .15s;
  padding: 0;
}
.tik-bm-toggle:hover { transform: scale(1.08); }
.tik-bm-icon { line-height: 1; }
.tik-bm-count {
  position: absolute;
  top: -4px;
  right: -4px;
  background: var(--gold);
  color: var(--navy);
  font-size: 10px;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}

/* ── Bookmarks overlay ────────────────────────────────────── */
.tik-bm-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 910;
}
.tik-bm-overlay[aria-hidden="false"] { display: block; }

/* ── Bookmarks drawer ─────────────────────────────────────── */
.tik-bm-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(380px, 92vw);
  background: #fff;
  z-index: 920;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .25s ease;
  box-shadow: -4px 0 32px rgba(0,0,0,.12);
}
.tik-bm-drawer[aria-hidden="false"] { transform: translateX(0); }

.tik-bm-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--s5) var(--s5) var(--s4);
  border-bottom: 1px solid var(--n100);
}
.tik-bm-title {
  font-size: var(--t18);
  font-weight: 700;
  margin: 0;
}
.tik-bm-close {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: var(--n500);
  padding: var(--s2);
  line-height: 1;
}
.tik-bm-close:hover { color: var(--navy); }

.tik-bm-list {
  flex: 1;
  overflow-y: auto;
  list-style: none;
  margin: 0;
  padding: var(--s4) var(--s5);
}
.tik-bm-empty {
  color: var(--n500);
  font-size: var(--t14);
  line-height: 1.6;
  padding: var(--s6) 0;
}
.tik-bm-item {
  display: flex;
  align-items: center;
  gap: var(--s3);
  padding: var(--s3) 0;
  border-bottom: 1px solid var(--n100);
}
.tik-bm-link {
  flex: 1;
  font-size: var(--t14);
  font-weight: 500;
  color: var(--navy);
  text-decoration: none;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tik-bm-link:hover { color: var(--gold); }
.tik-bm-remove {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--n400);
  font-size: 14px;
  padding: var(--s1);
  line-height: 1;
}
.tik-bm-remove:hover { color: var(--danger, #dc2626); }

.tik-bm-clear {
  display: block;
  width: calc(100% - var(--s10));
  margin: var(--s4) var(--s5);
  padding: var(--s3);
  background: none;
  border: 1px solid var(--n200);
  border-radius: var(--radius);
  font-size: var(--t13);
  color: var(--n500);
  cursor: pointer;
  text-align: center;
}
.tik-bm-clear:hover { background: var(--n50); color: var(--navy); }

/* ── Card save button ─────────────────────────────────────── */
.card__save {
  position: absolute;
  top: var(--s3);
  right: var(--s3);
  background: rgba(255,255,255,.9);
  border: none;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--n400);
  transition: color .15s, transform .15s;
  z-index: 5;
  padding: 0;
}
.card__save:hover,
.card__save.saved { color: #e11d48; transform: scale(1.12); }

/* ── Phase 1 — Single page extras section ─────────────────── */
.tik-p1-extras {
  margin-top: var(--s8);
  padding-top: var(--s8);
  border-top: 1px solid var(--n100);
}

.tik-view-count {
  font-size: var(--t12);
  color: var(--n400);
  margin: 0 0 var(--s3);
  min-height: 1em;
}

/* Rating summary */
.tik-rating-summary {
  display: flex;
  align-items: center;
  gap: var(--s3);
  margin-bottom: var(--s5);
  flex-wrap: wrap;
}
.tik-stars-disp { display: flex; gap: 2px; }
.star { font-size: 18px; }
.star--on  { color: #f59e0b; }
.star--off { color: var(--n200); }
.tik-avg-label { font-size: var(--t14); color: var(--n600); font-weight: 500; }
.tik-no-reviews { font-size: var(--t14); color: var(--n400); }

/* Single-page save button */
.tik-single-save {
  display: inline-flex;
  align-items: center;
  gap: var(--s2);
  margin-bottom: var(--s6);
  font-size: var(--t14);
}
.tik-single-save.saved { color: #e11d48; border-color: #e11d48; }

/* ── Review section ───────────────────────────────────────── */
.tik-review-section { margin-top: var(--s8); }
.tik-review-section__title {
  font-size: var(--t20);
  font-weight: 700;
  margin-bottom: var(--s5);
}

.tik-review-form { margin-bottom: var(--s8); }

/* Star input */
.tik-star-input {
  display: flex;
  align-items: center;
  gap: var(--s1);
  margin-bottom: var(--s4);
  flex-wrap: wrap;
}
.tik-star-btn {
  background: none;
  border: none;
  font-size: 28px;
  cursor: pointer;
  color: var(--n200);
  padding: 0 2px;
  line-height: 1;
  transition: color .1s, transform .1s;
}
.tik-star-btn.active,
.tik-star-btn.hover { color: #f59e0b; }
.tik-star-btn:hover { transform: scale(1.15); }
.tik-star-label {
  font-size: var(--t13);
  font-weight: 600;
  color: var(--n600);
  margin-left: var(--s2);
}

.tik-review-input,
.tik-review-textarea {
  display: block;
  width: 100%;
  max-width: 520px;
  padding: var(--s3) var(--s4);
  border: 1px solid var(--n200);
  border-radius: var(--radius);
  font-size: var(--t14);
  font-family: inherit;
  color: var(--navy);
  background: #fff;
  margin-bottom: var(--s3);
  transition: border-color .15s;
  box-sizing: border-box;
}
.tik-review-input:focus,
.tik-review-textarea:focus {
  outline: none;
  border-color: var(--gold);
}
.tik-review-textarea { resize: vertical; min-height: 80px; }

.tik-review-msg {
  margin-top: var(--s3);
  font-size: var(--t13);
  min-height: 1.4em;
}
.tik-review-msg--ok  { color: #16a34a; }
.tik-review-msg--err { color: #dc2626; }

/* Review list */
.tik-review-list { margin-top: var(--s6); }
.tik-review-item {
  padding: var(--s4) 0;
  border-bottom: 1px solid var(--n100);
}
.tik-review-item:last-child { border-bottom: none; }
.tik-review-header {
  display: flex;
  align-items: center;
  gap: var(--s3);
  flex-wrap: wrap;
  margin-bottom: var(--s2);
}
.tik-review-author { font-weight: 600; font-size: var(--t14); color: var(--navy); }
.tik-review-stars  { display: flex; gap: 1px; font-size: 14px; }
.tik-review-date   { font-size: var(--t12); color: var(--n400); margin-left: auto; }
.tik-review-body   { font-size: var(--t14); color: var(--n600); margin: 0; line-height: 1.6; }
.tik-no-reviews-yet { font-size: var(--t14); color: var(--n400); padding: var(--s4) 0; }

/* ── Search spinner + found count ─────────────────────────── */
.tik-search-spinner {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 2px solid var(--n200);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: tik-spin .7s linear infinite;
  margin-left: var(--s3);
  vertical-align: middle;
  flex-shrink: 0;
}
@keyframes tik-spin { to { transform: rotate(360deg); } }

.tik-found-count {
  font-size: var(--t13);
  color: var(--n400);
  margin: var(--s2) 0 var(--s4);
  min-height: 1.2em;
}


/* Phase 1 performance + Phase 2 monetization polish */
.tik-p2-pricing{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:32px 0}.tik-p2-price-card{background:#fff;border:1px solid var(--n100,#e5e7eb);border-radius:24px;padding:24px;box-shadow:0 18px 45px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:14px}.tik-p2-price-card--featured,.tik-p2-price-card--sponsored{border-color:var(--gold,#c9a227);transform:translateY(-4px)}.tik-p2-plan-key{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold,#c9a227);font-weight:800}.tik-p2-price{font-size:30px;line-height:1;color:var(--navy,#0f172a)}.tik-p2-period{font-size:13px;color:var(--n500,#64748b);margin-top:-10px}.tik-p2-price-card ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:14px;color:var(--n700,#334155)}.tik-claim-box{margin:32px 0;padding:20px;border:1px solid var(--n100,#e5e7eb);border-radius:18px;background:#fff;box-shadow:0 12px 36px rgba(15,23,42,.06)}.tik-claim-box summary{cursor:pointer;font-weight:800;color:var(--navy,#0f172a)}.tik-claim-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.tik-claim-form input,.tik-claim-form textarea{width:100%;border:1px solid var(--n200,#e5e7eb);border-radius:12px;padding:12px 14px}.tik-claim-box--claimed{background:#f0fdf4;border-color:#bbf7d0;color:#166534;font-weight:700}.tik-airbnb-polish .card,.card--feature,.card--dir{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card--feature:hover,.card--dir:hover{transform:translateY(-3px);box-shadow:0 22px 55px rgba(15,23,42,.12);border-color:rgba(201,162,39,.35)}.card__media img{object-fit:cover;transition:transform .3s ease}.card:hover .card__media img{transform:scale(1.035)}@media(max-width:980px){.tik-p2-pricing{grid-template-columns:repeat(2,minmax(0,1fr))}.tik-claim-grid{grid-template-columns:1fr}}@media(max-width:640px){.tik-p2-pricing{grid-template-columns:1fr}}

/* ============================================================
   PHASE 3 — Business Dashboard + Analytics + Map
   ============================================================ */

/* ── Dashboard layout ────────────────────────────────────── */
.tik-p3-dashboard {
  max-width: 1100px;
  margin: 0 auto;
  padding: var(--s8) var(--s5);
}

.tik-p3-dash__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--s4);
  margin-bottom: var(--s6);
  flex-wrap: wrap;
}
.tik-p3-dash__title { font-size: var(--t28); font-weight: 800; margin: 0; }
.tik-p3-dash__sub   { font-size: var(--t15); color: var(--n500); margin: var(--s1) 0 0; }

/* ── Nav tabs ────────────────────────────────────────────── */
.tik-p3-dash__nav {
  display: flex;
  gap: 2px;
  overflow-x: auto;
  border-bottom: 2px solid var(--n100);
  margin-bottom: var(--s6);
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.tik-p3-dash__nav::-webkit-scrollbar { display: none; }

.tik-p3-dash__tab {
  display: flex;
  align-items: center;
  gap: var(--s2);
  padding: var(--s3) var(--s4);
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  background: none;
  font-size: var(--t14);
  font-weight: 500;
  color: var(--n500);
  cursor: pointer;
  white-space: nowrap;
  transition: color .15s, border-color .15s;
}
.tik-p3-dash__tab:hover        { color: var(--navy); }
.tik-p3-dash__tab.active       { color: var(--navy); border-bottom-color: var(--gold); font-weight: 700; }
.tik-p3-dash__tab-icon         { font-size: 16px; }
@media (max-width: 560px) { .tik-p3-dash__tab-label { display: none; } }

/* ── Loading / error ─────────────────────────────────────── */
.tik-p3-dash__loading {
  display: flex;
  align-items: center;
  gap: var(--s3);
  padding: var(--s8) 0;
  color: var(--n500);
  font-size: var(--t15);
}
.tik-p3-spinner {
  display: inline-block;
  width: 22px; height: 22px;
  border: 2px solid var(--n200);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: tik-spin .7s linear infinite;
}
.tik-p3-dash__error { color: #dc2626; padding: var(--s6) 0; }

/* ── Stat grid ───────────────────────────────────────────── */
.tik-p3-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: var(--s4);
  margin-bottom: var(--s8);
}
.tik-p3-stat-card {
  background: #fff;
  border: 1px solid var(--n100);
  border-radius: var(--radius);
  padding: var(--s5);
  display: flex;
  flex-direction: column;
  gap: var(--s1);
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
.tik-p3-stat-icon  { font-size: 22px; }
.tik-p3-stat-value { font-size: var(--t28); font-weight: 800; color: var(--navy); line-height: 1.1; }
.tik-p3-stat-label { font-size: var(--t13); color: var(--n500); }

/* ── Listing cards (overview) ────────────────────────────── */
.tik-p3-section-title { font-size: var(--t18); font-weight: 700; margin: 0 0 var(--s4); }
.tik-p3-listing-card {
  background: #fff;
  border: 1px solid var(--n100);
  border-radius: var(--radius);
  padding: var(--s4) var(--s5);
  margin-bottom: var(--s3);
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
.tik-p3-listing-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s3);
  flex-wrap: wrap;
  margin-bottom: var(--s2);
}
.tik-p3-listing-card__title {
  font-weight: 600;
  font-size: var(--t15);
  color: var(--navy);
  text-decoration: none;
}
.tik-p3-listing-card__title:hover { color: var(--gold); }
.tik-p3-listing-card__badges { display: flex; gap: var(--s2); flex-wrap: wrap; }
.tik-p3-listing-card__stats  {
  display: flex;
  gap: var(--s4);
  font-size: var(--t13);
  color: var(--n500);
}

/* ── Plan + status badges ────────────────────────────────── */
.tik-plan-badge {
  display: inline-block;
  padding: 2px var(--s2);
  border-radius: 999px;
  font-size: var(--t11);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.tik-plan-badge--free      { background: var(--n100); color: var(--n600); }
.tik-plan-badge--verified  { background: #dbeafe; color: #1d4ed8; }
.tik-plan-badge--featured  { background: #fef3c7; color: #92400e; }
.tik-plan-badge--sponsored { background: var(--gold-pale); color: var(--gold-muted); border: 1px solid var(--gold); }

.tik-status-badge              { display: inline-block; padding: 2px var(--s2); border-radius: 999px; font-size: var(--t11); font-weight: 600; }
.tik-status-badge--publish     { background: #dcfce7; color: #166534; }
.tik-status-badge--pending     { background: #fef9c3; color: #854d0e; }
.tik-status-badge--draft       { background: var(--n100); color: var(--n600); }

/* ── Listings table ──────────────────────────────────────── */
.tik-p3-toolbar {
  display: flex;
  align-items: center;
  gap: var(--s3);
  flex-wrap: wrap;
  margin-bottom: var(--s4);
}
.tik-p3-listing-search,
.tik-p3-listing-filter,
.tik-p3-select {
  padding: var(--s2) var(--s3);
  border: 1px solid var(--n200);
  border-radius: var(--radius);
  font-size: var(--t14);
  background: #fff;
  color: var(--navy);
}
.tik-p3-listing-search { flex: 1; min-width: 200px; }
.tik-p3-label { font-size: var(--t13); color: var(--n500); white-space: nowrap; }

.tik-p3-listing-table-wrap { overflow-x: auto; }
.tik-p3-listing-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--t14);
}
.tik-p3-listing-table th {
  text-align: left;
  padding: var(--s3) var(--s4);
  background: var(--n50, #f9fafb);
  border-bottom: 2px solid var(--n100);
  font-weight: 600;
  color: var(--n600);
  font-size: var(--t13);
}
.tik-p3-listing-table td {
  padding: var(--s3) var(--s4);
  border-bottom: 1px solid var(--n100);
  vertical-align: middle;
}
.tik-p3-listing-table tr:hover td { background: var(--n50, #f9fafb); }
.tik-p3-actions { white-space: nowrap; }
.tik-p3-btn {
  display: inline-block;
  padding: 4px 10px;
  border-radius: var(--radius);
  font-size: var(--t12);
  font-weight: 600;
  cursor: pointer;
  border: none;
  background: var(--gold);
  color: var(--navy);
  text-decoration: none;
  transition: opacity .15s;
}
.tik-p3-btn:hover       { opacity: .85; }
.tik-p3-btn--ghost      { background: none; border: 1px solid var(--n200); color: var(--navy); }
.tik-p3-btn--sm         { padding: 3px 8px; font-size: var(--t11); }

/* ── Analytics chart ─────────────────────────────────────── */
.tik-p3-analytics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: var(--s4);
  margin-bottom: var(--s6);
}
.tik-p3-chart-wrap {
  background: #fff;
  border: 1px solid var(--n100);
  border-radius: var(--radius);
  padding: var(--s5);
  margin-bottom: var(--s6);
}
.tik-p3-chart-title { font-size: var(--t16); font-weight: 700; margin: 0 0 var(--s4); }
#tikP3ViewChart    { display: block; width: 100%; max-height: 220px; }
.tik-p3-analytics-select-row {
  display: flex; align-items: center; gap: var(--s3);
  margin-bottom: var(--s5); flex-wrap: wrap;
}
.tik-p3-analytics-empty { color: var(--n500); font-size: var(--t14); padding: var(--s6) 0; }
.tik-p3-loading-inline   { color: var(--n400); font-size: var(--t14); }

/* ── Reviews ─────────────────────────────────────────────── */
.tik-p3-review-item {
  padding: var(--s4) 0;
  border-bottom: 1px solid var(--n100);
}
.tik-p3-review-item:last-child { border-bottom: none; }
.tik-p3-review-header {
  display: flex; align-items: center; gap: var(--s3);
  flex-wrap: wrap; margin-bottom: var(--s2);
}
.tik-p3-review-author { font-weight: 600; font-size: var(--t14); }
.tik-p3-review-stars  { display: flex; gap: 1px; font-size: 14px; }
.tik-p3-review-date   { font-size: var(--t12); color: var(--n400); margin-left: auto; }
.tik-p3-review-body   { font-size: var(--t14); color: var(--n600); margin: 0; line-height: 1.6; }
.tik-p3-review-owner-reply {
  background: var(--gold-pale);
  border-left: 3px solid var(--gold);
  padding: var(--s3) var(--s4);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-size: var(--t13);
  color: var(--navy);
  margin-top: var(--s3);
}
.tik-p3-reply-form { margin-top: var(--s3); }
.tik-p3-reply-form summary { cursor: pointer; font-size: var(--t13); color: var(--gold); font-weight: 600; }
.tik-p3-reply-input {
  display: block; width: 100%; max-width: 480px;
  padding: var(--s3); border: 1px solid var(--n200);
  border-radius: var(--radius); font-size: var(--t14);
  font-family: inherit; margin: var(--s3) 0;
  resize: vertical;
}
.tik-p3-reply-msg { font-size: var(--t12); color: #dc2626; }
.tik-p3-reviews-empty { color: var(--n500); font-size: var(--t14); padding: var(--s6) 0; }

/* ── Promotions ──────────────────────────────────────────── */
.tik-p3-promo-tiers {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--s5);
  margin-bottom: var(--s8);
}
.tik-p3-promo-card {
  background: #fff;
  border: 1px solid var(--n100);
  border-radius: var(--radius);
  padding: var(--s5);
  display: flex; flex-direction: column; gap: var(--s3);
  box-shadow: 0 1px 6px rgba(0,0,0,.05);
}
.tik-p3-promo-card h3   { margin: 0; font-size: var(--t18); }
.tik-p3-promo-price     { font-size: var(--t24); font-weight: 800; color: var(--navy); margin: 0; }
.tik-p3-promo-price span{ font-size: var(--t13); font-weight: 400; color: var(--n500); }
.tik-p3-promo-summary   { font-size: var(--t13); color: var(--n600); margin: 0; }
.tik-p3-promo-features  { margin: 0; padding: 0; list-style: none; font-size: var(--t13); color: var(--n600); display: flex; flex-direction: column; gap: 4px; }
.tik-p3-promo-card--sponsored { border-color: var(--gold); }

.tik-p3-upgrade-form {
  max-width: 480px;
  background: #fff;
  border: 1px solid var(--n100);
  border-radius: var(--radius);
  padding: var(--s6);
  margin-top: var(--s4);
}
.tik-p3-upgrade-form h3 { margin: 0 0 var(--s5); font-size: var(--t20); }
.tik-p3-form-row { display: flex; flex-direction: column; gap: var(--s2); margin-bottom: var(--s4); }
.tik-p3-form-row label { font-size: var(--t13); font-weight: 600; color: var(--n600); }
.tik-p3-form-row input,
.tik-p3-form-row select {
  padding: var(--s3) var(--s4); border: 1px solid var(--n200);
  border-radius: var(--radius); font-size: var(--t14);
}
.tik-p3-form-note { font-size: var(--t12); color: var(--n500); margin-top: var(--s3); }

/* ── Payments ────────────────────────────────────────────── */
.tik-p3-payments-grid { display: flex; flex-direction: column; gap: var(--s3); }
.tik-p3-payment-row {
  display: flex; align-items: center; gap: var(--s3);
  background: #fff; border: 1px solid var(--n100);
  border-radius: var(--radius); padding: var(--s4) var(--s5);
  flex-wrap: wrap;
}
.tik-p3-payment-title    { flex: 1; font-weight: 600; font-size: var(--t14); color: var(--navy); }
.tik-p3-plan-active      { font-size: var(--t13); color: #16a34a; font-weight: 600; }
.tik-p3-plan-inactive    { font-size: var(--t13); color: var(--n500); }

/* ── Settings ────────────────────────────────────────────── */
.tik-p3-settings-info h3 { font-size: var(--t18); margin: var(--s6) 0 var(--s3); }
.tik-p3-settings-info h3:first-child { margin-top: 0; }
.tik-p3-settings-info ul { font-size: var(--t14); color: var(--n600); padding-left: var(--s6); }
.tik-p3-settings-note { font-size: var(--t13); color: var(--n400); margin-top: var(--s3); }

/* ── Admin analytics page ────────────────────────────────── */
.tik-p3-analytics-wrap h1 { margin-bottom: var(--s4); }
.tik-p3-analytics-wrap .description { color: var(--n500); margin-bottom: var(--s5); }

/* ── Claimed badge ───────────────────────────────────────── */
.tik-claimed-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--s2);
  background: #dcfce7;
  color: #166534;
  border: 1px solid #bbf7d0;
  border-radius: var(--radius);
  padding: var(--s2) var(--s4);
  font-size: var(--t13);
  font-weight: 600;
  margin-bottom: var(--s4);
}
.tik-claimed-badge__icon { font-size: 16px; }

/* ── Login prompt ────────────────────────────────────────── */
.tik-p3-login-prompt {
  padding: var(--s8);
  text-align: center;
  background: var(--n50, #f9fafb);
  border-radius: var(--radius);
  font-size: var(--t15);
}

/* ── Near Me + map filter ────────────────────────────────── */
.tik-near-me-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--s2);
  padding: var(--s2) var(--s4);
  background: var(--navy);
  color: #fff;
  border: none;
  border-radius: var(--radius);
  font-size: var(--t14);
  font-weight: 600;
  cursor: pointer;
  margin-bottom: var(--s3);
  transition: opacity .15s;
}
.tik-near-me-btn:hover:not(:disabled) { opacity: .85; }
.tik-near-me-btn:disabled             { opacity: .55; cursor: not-allowed; }

.tik-map-cat-filter {
  padding: var(--s2) var(--s3);
  border: 1px solid var(--n200);
  border-radius: var(--radius);
  font-size: var(--t14);
  background: #fff;
  color: var(--navy);
  margin-bottom: var(--s3);
  margin-left: var(--s3);
}

/* ── Empty states ────────────────────────────────────────── */
.tik-p3-empty {
  color: var(--n500);
  font-size: var(--t14);
  padding: var(--s6) 0;
  text-align: center;
}
.tik-p3-empty a { color: var(--gold); font-weight: 600; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
  .tik-p3-stat-grid      { grid-template-columns: repeat(2, 1fr); }
  .tik-p3-promo-tiers    { grid-template-columns: 1fr; }
  .tik-p3-listing-table  { font-size: var(--t12); }
  .tik-p3-listing-table th,
  .tik-p3-listing-table td { padding: var(--s2) var(--s3); }
}
@media (max-width: 480px) {
  .tik-p3-stat-grid      { grid-template-columns: 1fr 1fr; }
  .tik-p3-dashboard      { padding: var(--s5) var(--s3); }
}


/* Phase 3.5 Premium Business Dashboard UI */
.tik-p3-dashboard--premium{max-width:1200px;margin:0 auto;padding:32px 16px 88px;background:#F8FAFC;color:#0F172A}
.tik-p3-dash__hero{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,#0F172A,#1e293b);color:#fff;border-radius:24px;padding:32px;box-shadow:0 8px 24px rgba(15,23,42,.12);margin-bottom:20px}
.tik-p3-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(201,162,39,.18);color:#FDE68A;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.tik-p3-dash__title{font-size:clamp(28px,4vw,44px);line-height:1.05;margin:0 0 8px}.tik-p3-dash__sub{max-width:680px;color:#cbd5e1;margin:0}.tik-p3-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.tik-p3-dash__nav{position:sticky;top:0;z-index:20;display:flex;gap:8px;overflow-x:auto;background:rgba(248,250,252,.92);backdrop-filter:blur(10px);padding:12px 0;margin-bottom:20px}.tik-p3-dash__tab{border:1px solid #e2e8f0;background:#fff;color:#0F172A;border-radius:999px;padding:11px 16px;font-weight:800;white-space:nowrap;box-shadow:0 4px 12px rgba(15,23,42,.04)}.tik-p3-dash__tab.active{background:#0F172A;color:#fff;border-color:#0F172A}.tik-p3-stat-grid--six{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-bottom:20px}.tik-p3-stat-card,.tik-p3-card{background:#fff;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.08);border:1px solid #e5e7eb}.tik-p3-stat-card{padding:18px}.tik-p3-stat-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:12px;background:#fff7ed;margin-bottom:12px}.tik-p3-stat-value{display:block;font-size:28px;font-weight:900;color:#0F172A}.tik-p3-stat-label{font-size:13px;color:#64748b;font-weight:700}.tik-p3-overview-layout,.tik-p3-settings-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:20px}.tik-p3-card{padding:22px}.tik-p3-toolbar--premium{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px;margin-bottom:16px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.tik-p3-toolbar--premium input,.tik-p3-toolbar--premium select,.tik-p3-select{min-height:44px;border:1px solid #cbd5e1;border-radius:12px;padding:0 12px;background:#fff}.tik-p3-listing-table-wrap{background:#fff;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.08);overflow:auto}.tik-p3-listing-table{width:100%;border-collapse:collapse}.tik-p3-listing-table th,.tik-p3-listing-table td{padding:14px 16px;border-bottom:1px solid #e5e7eb;text-align:left}.tik-p3-listing-table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.tik-p3-promo-intro{background:#fff;border-radius:16px;padding:24px;margin-bottom:18px;box-shadow:0 8px 24px rgba(15,23,42,.08)}.tik-p3-promo-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tik-p3-promo-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:24px;box-shadow:0 8px 24px rgba(15,23,42,.08)}.tik-p3-promo-card--featured_homepage{border-color:#C9A227;box-shadow:0 14px 36px rgba(201,162,39,.18)}.tik-p3-promo-price{font-size:30px;font-weight:900;color:#0F172A}.tik-p3-promo-price span{font-size:14px;color:#64748b}.tik-p3-upgrade-form{background:#fff;border-radius:16px;padding:22px;margin-top:20px;box-shadow:0 8px 24px rgba(15,23,42,.08)}.tik-p3-form-row{display:grid;gap:6px;margin-bottom:14px}.tik-p3-form-row input,.tik-p3-form-row select{min-height:44px;border:1px solid #cbd5e1;border-radius:12px;padding:0 12px}.tik-p3-outreach-shortcode{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.tik-p3-outreach-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.08)}@media(max-width:900px){.tik-p3-dash__hero{align-items:flex-start;flex-direction:column}.tik-p3-stat-grid--six{grid-template-columns:repeat(2,minmax(0,1fr))}.tik-p3-overview-layout,.tik-p3-settings-grid,.tik-p3-promo-tiers{grid-template-columns:1fr}.tik-p3-dash__nav{position:fixed;left:0;right:0;bottom:0;top:auto;justify-content:flex-start;padding:10px 12px;border-top:1px solid #e2e8f0}.tik-p3-dash__tab{padding:10px 13px}.tik-p3-dashboard--premium{padding-bottom:104px}}@media(max-width:560px){.tik-p3-stat-grid--six{grid-template-columns:1fr}.tik-p3-dash__hero{padding:24px}.tik-p3-listing-table th:nth-child(2),.tik-p3-listing-table td:nth-child(2),.tik-p3-listing-table th:nth-child(6),.tik-p3-listing-table td:nth-child(6){display:none}}


/* ================================
   TIK PREMIUM LISTING (FINAL FIX)
   ================================ */

.tik-single-listing {
  background: var(--n50);
  padding-bottom: var(--s16);
}

/* HERO */
.tik-listing-hero {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: var(--s10) var(--s6);
}

.tik-back-btn {
  display: inline-block;
  margin-bottom: var(--s4);
  font-size: var(--t13);
  padding: 6px 12px;
  border-radius: var(--r-full);
  border: 1px solid var(--n200);
  background: var(--white);
}

.tik-listing-header {
  margin-bottom: var(--s6);
}

.tik-listing-header h1 {
  font-size: clamp(var(--t28), 4vw, var(--t42));
  margin-bottom: var(--s2);
}

.tik-location {
  color: var(--n500);
}

/* IMAGE */
.tik-featured-image {
  border-radius: var(--r-2xl);
  overflow: hidden;
  box-shadow: var(--sh-xl);
}

.tik-featured-image img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}

/* GRID */
.tik-listing-wrap {
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: var(--s8);
  padding: var(--s6);
}

/* CARDS */
.tik-card {
  background: var(--white);
  border: 1px solid var(--n100);
  border-radius: var(--r-xl);
  padding: var(--s6);
  box-shadow: var(--sh-md);
  margin-bottom: var(--s6);
}

.tik-card h2,
.tik-card h3 {
  margin-bottom: var(--s4);
}

/* CONTENT */
.tik-content {
  color: var(--n700);
  line-height: 1.8;
}

/* SIDEBAR */
.tik-sidebar {
  position: relative;
}

.tik-info-card ul {
  list-style: none;
  padding: 0;
}

.tik-info-card li {
  padding: var(--s3) 0;
  border-bottom: 1px solid var(--n100);
}

.tik-info-card span {
  font-size: var(--t13);
  color: var(--n500);
}

.tik-info-card strong {
  display: block;
  margin-top: 4px;
}

/* ACTION BUTTONS */
.tik-action-card {
  display: flex;
  flex-direction: column;
  gap: var(--s3);
  position: sticky;
  top: 100px;
}

.tik-btn {
  display: block;
  text-align: center;
  padding: var(--s3);
  border-radius: var(--r-md);
  font-weight: 600;
}

.tik-btn-primary {
  background: var(--orange);
  color: white;
}

.tik-btn-dark {
  background: var(--navy);
  color: white;
}

.tik-btn-light {
  border: 1px solid var(--n200);
  background: var(--white);
}

/* REVIEW */
.tik-review-form input,
.tik-review-form textarea {
  width: 100%;
  margin-bottom: var(--s3);
  padding: var(--s3);
  border: 1px solid var(--n200);
  border-radius: var(--r-md);
}

.tik-review-form button {
  background: var(--gold);
  padding: var(--s3);
  border-radius: var(--r-md);
  font-weight: 700;
}

/* MAP */
.tik-map iframe {
  width: 100%;
  height: 300px;
  border-radius: var(--r-lg);
  border: none;
}

/* MOBILE */
@media (max-width: 900px) {
  .tik-listing-wrap {
    grid-template-columns: 1fr;
  }

  .tik-featured-image img {
    height: 300px;
  }

  .tik-action-card {
    position: static;
  }
}

.tik-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--s6);
}

/* ================================
   TIK PREMIUM LISTING (EXTRA POLISH)
   ================================ */

.tik-info-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.tik-listing-wrap {
  margin-top: var(--s8);
}

.tik-card {
  transition: all 0.25s ease;
}

.tik-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-lg);
}

/* TIK AIRBNB STYLE GALLERY */

.tik-gallery {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--s3);
  border-radius: var(--r-2xl);
  overflow: hidden;
  box-shadow: var(--sh-xl);
}

.tik-gallery-main img {
  width: 100%;
  height: 520px;
  object-fit: cover;
}

.tik-gallery-thumbs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s3);
}

.tik-gallery-thumb {
  border: 0;
  padding: 0;
  background: var(--n100);
  overflow: hidden;
}

.tik-gallery-thumb img {
  width: 100%;
  height: 253px;
  object-fit: cover;
  transition: transform .25s ease;
}

.tik-gallery-thumb:hover img {
  transform: scale(1.05);
}

@media (max-width: 900px) {
  .tik-gallery {
    grid-template-columns: 1fr;
  }

  .tik-gallery-main img {
    height: 320px;
  }

  .tik-gallery-thumbs {
    grid-template-columns: repeat(4, 1fr);
  }

  .tik-gallery-thumb img {
    height: 90px;
  }
}


/* ================================
   TIK REAL RATING SYSTEM
   ================================ */

.tik-review-success {
  background: #ecfdf3;
  color: #067647;
  border: 1px solid #abefc6;
  padding: var(--s3) var(--s4);
  border-radius: var(--r-md);
  margin-bottom: var(--s5);
  font-weight: 600;
}

.tik-review-summary {
  display: flex;
  align-items: center;
  gap: var(--s3);
  padding: var(--s4);
  background: var(--n50);
  border: 1px solid var(--n100);
  border-radius: var(--r-lg);
  margin-bottom: var(--s6);
}

.tik-review-summary strong {
  font-family: var(--font-display);
  font-size: var(--t32);
  color: var(--navy);
  line-height: 1;
}

.tik-review-stars {
  color: var(--gold);
  font-size: var(--t20);
  letter-spacing: 2px;
}

.tik-rating-input {
  display: grid;
  gap: var(--s2);
  margin-bottom: var(--s4);
}

.tik-rating-input label {
  display: flex;
  align-items: center;
  gap: var(--s2);
  width: fit-content;
  color: var(--gold);
  font-size: var(--t18);
  cursor: pointer;
}

.tik-rating-input input {
  width: auto;
  margin: 0;
}

.tik-review-list {
  margin-top: var(--s8);
}

.tik-review-item {
  padding: var(--s4) 0;
  border-top: 1px solid var(--n100);
}

.tik-review-item-head {
  display: flex;
  justify-content: space-between;
  gap: var(--s3);
  margin-bottom: var(--s2);
}

.tik-review-item-head span {
  color: var(--gold);
  letter-spacing: 1px;
}

.tik-review-item p {
  color: var(--n700);
}

.tik-no-reviews {
  color: var(--n500);
}

/* ⭐ Star Rating UI */
.tik-stars-ui {
  display: flex;
  gap: 6px;
  font-size: 28px;
  cursor: pointer;
}

.tik-stars-ui span {
  color: #e5e7eb;
  transition: 0.2s;
}

.tik-stars-ui span.active {
  color: #c9a227;
}

:root {
  --tik-navy: #0F172A;
  --tik-gold: #C9A227;
  --tik-orange: #F97316;
  --tik-gray: #64748B;
  --tik-light: #F8FAFC;
  --tik-border: #E5E7EB;
  --tik-white: #FFFFFF;

  --tik-radius-sm: 8px;
  --tik-radius-md: 14px;
  --tik-radius-lg: 20px;
  --tik-radius-xl: 28px;

  --tik-shadow-sm: 0 4px 14px rgba(15, 23, 42, 0.06);
  --tik-shadow-md: 0 12px 30px rgba(15, 23, 42, 0.10);
  --tik-shadow-lg: 0 24px 60px rgba(15, 23, 42, 0.16);
}

.tik-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 12px 20px;
  border-radius: var(--tik-radius-md);
  font-weight: 800;
  text-decoration: none;
  transition: all .25s ease;
}

.tik-btn:hover {
  transform: translateY(-2px);
  box-shadow: var(--tik-shadow-md);
}

.tik-btn-primary {
  background: var(--tik-orange);
  color: #fff;
}

.tik-btn-gold {
  background: var(--tik-gold);
  color: var(--tik-navy);
}

.tik-btn-dark {
  background: var(--tik-navy);
  color: #fff;
}

.tik-btn-outline {
  border: 1px solid var(--tik-border);
  color: var(--tik-navy);
  background: #fff;
}

.tik-card {
  background: var(--tik-white);
  border: 1px solid var(--tik-border);
  border-radius: var(--tik-radius-lg);
  box-shadow: var(--tik-shadow-sm);
  overflow: hidden;
  transition: all .25s ease;
}

.tik-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--tik-shadow-md);
}

.tik-card-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.tik-card-body {
  padding: 22px;
}

.tik-card-title {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  color: var(--tik-navy);
  margin-bottom: 8px;
}

.tik-card-text {
  color: var(--tik-gray);
  font-size: 15px;
  line-height: 1.6;
}

/* ================================
   TIK REVIEW STAR UI FIX
   ================================ */

.tik-stars-ui {
  display: flex;
  gap: 8px;
  margin: 10px 0 18px;
}

.tik-stars-ui span {
  font-size: 30px;
  color: #d0d5dd;
  cursor: pointer;
  transition: color .2s ease, transform .2s ease;
}

.tik-stars-ui span.active {
  color: #c9a227;
}

.tik-stars-ui span:hover {
  transform: scale(1.12);
}
/* ============================================================
   MASTER SINGLE LISTING SYSTEM — v6
   Shared by food spots, tourist guide, weekend picks, jobs,
   real estate, culture, emergency, marketplace and directory.
   ============================================================ */
.tik-master-single {
  background: var(--n50);
  color: var(--n900);
  min-height: 100vh;
}
.tik-ms-hero {
  padding: var(--s10) 0 var(--s8);
  background: linear-gradient(180deg, #fff 0%, var(--n50) 100%);
}
.tik-ms-back {
  display: inline-flex;
  align-items: center;
  gap: var(--s1);
  padding: 7px 13px;
  margin-bottom: var(--s5);
  border: 1px solid var(--n200);
  border-radius: var(--r-full);
  background: var(--white);
  color: var(--navy);
  font-size: var(--t13);
  font-weight: 700;
  box-shadow: var(--sh-xs);
}
.tik-ms-title-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--s6);
  margin-bottom: var(--s6);
}
.tik-ms-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s2);
  margin-bottom: var(--s3);
}
.tik-ms-title {
  font-family: var(--font-display);
  font-size: clamp(var(--t32), 5vw, var(--t56));
  line-height: 1.05;
  color: var(--navy);
  margin: 0;
}
.tik-ms-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s3);
  margin-top: var(--s3);
  color: var(--n500);
  font-size: var(--t15);
}
.tik-ms-rating {
  color: var(--gold-muted);
  font-weight: 800;
}
.tik-ms-gallery {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: var(--s2);
  border-radius: var(--r-2xl);
  overflow: hidden;
  box-shadow: var(--sh-xl);
  background: var(--white);
}
.tik-ms-gallery-main,
.tik-ms-gallery-thumb {
  background: var(--n100);
  min-height: 100%;
}
.tik-ms-gallery-main img {
  width: 100%;
  height: 520px;
  object-fit: cover;
}
.tik-ms-gallery-thumbs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s2);
}
.tik-ms-gallery-thumb {
  border: 0;
  padding: 0;
  overflow: hidden;
}
.tik-ms-gallery-thumb img {
  width: 100%;
  height: 254px;
  object-fit: cover;
  transition: transform var(--base) var(--ease);
}
.tik-ms-gallery-thumb:hover img { transform: scale(1.05); }
.tik-ms-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: var(--s8);
  align-items: start;
}
.tik-ms-main,
.tik-ms-sidebar {
  min-width: 0;
}
.tik-ms-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--s5);
  position: sticky;
  top: calc(64px + var(--s5));
}
.tik-ms-card {
  background: var(--white);
  border: 1px solid var(--n100);
  border-radius: var(--r-2xl);
  padding: var(--s6);
  box-shadow: var(--sh-md);
  margin-bottom: var(--s6);
}
.tik-ms-card h2,
.tik-ms-card h3 {
  margin-bottom: var(--s4);
}
.tik-ms-content {
  color: var(--n700);
  line-height: 1.85;
}
.tik-ms-content p { margin-bottom: var(--s4); }
.tik-ms-content ul,
.tik-ms-content ol {
  list-style: initial;
  padding-left: var(--s6);
  margin-bottom: var(--s4);
}
.tik-ms-info-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.tik-ms-info-list li {
  padding: var(--s3) 0;
  border-bottom: 1px solid var(--n100);
}
.tik-ms-info-list li:last-child { border-bottom: 0; }
.tik-ms-info-list span {
  display: block;
  color: var(--n500);
  font-size: var(--t13);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 4px;
}
.tik-ms-info-list strong {
  display: block;
  color: var(--navy);
  font-size: var(--t15);
  line-height: 1.45;
  word-break: break-word;
}
.tik-ms-actions-card {
  display: flex;
  flex-direction: column;
  gap: var(--s3);
}
.tik-ms-map-wrap {
  border: 1px solid var(--n100);
  border-radius: var(--r-xl);
  overflow: hidden;
  margin-bottom: var(--s4);
}
.tik-ms-map-wrap iframe {
  width: 100%;
  min-height: 340px;
  border: 0;
  display: block;
}
.tik-ms-claim-card .tik-claim-box {
  border: 0;
  padding: 0;
  margin: 0;
  box-shadow: none;
}
.tik-ms-claim-card summary {
  font-family: var(--font-display);
  font-size: var(--t20);
  font-weight: 800;
  color: var(--navy);
  cursor: pointer;
  margin-bottom: var(--s3);
}
.tik-claim-form input,
.tik-claim-form textarea {
  width: 100%;
  border: 1px solid var(--n200);
  border-radius: var(--r-md);
  padding: var(--s3) var(--s4);
  margin-bottom: var(--s3);
  background: var(--white);
}
.tik-claim-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s3);
}
/* Existing Phase 1 extras restyled inside the master layout */
.tik-ms-review-card .tik-p1-extras {
  margin-top: var(--s2);
}
.tik-ms-review-card .tik-view-count {
  color: var(--n500);
  font-size: var(--t14);
  margin-bottom: var(--s3);
}
.tik-rating-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--s3);
  background: var(--n50);
  border: 1px solid var(--n100);
  border-radius: var(--r-lg);
  padding: var(--s4);
  margin-bottom: var(--s5);
}
.tik-stars-disp,
.tik-review-stars {
  color: var(--gold);
  letter-spacing: 1px;
}
.tik-rating-summary .star--off,
.tik-review-stars .star--off {
  color: var(--n300);
}
.tik-avg-label {
  color: var(--n700);
  font-weight: 700;
}
.tik-review-section__title {
  font-family: var(--font-display);
  font-size: var(--t20);
  margin-bottom: var(--s3);
}
.tik-review-form {
  background: var(--white);
  border: 1px solid var(--n100);
  border-radius: var(--r-xl);
  padding: var(--s5);
}
.tik-star-input {
  display: flex;
  align-items: center;
  gap: var(--s2);
  margin-bottom: var(--s4);
}
.tik-star-btn {
  width: 40px;
  height: 40px;
  border-radius: var(--r-md);
  background: var(--gold);
  color: var(--white);
  font-size: var(--t20);
  line-height: 1;
  transition: transform var(--fast), background var(--fast), opacity var(--fast);
  opacity: .45;
}
.tik-star-btn:hover,
.tik-star-btn.hover,
.tik-star-btn.active {
  opacity: 1;
  transform: translateY(-1px);
}
.tik-star-label {
  color: var(--n500);
  font-size: var(--t14);
  font-weight: 700;
  margin-left: var(--s2);
}
.tik-review-input,
.tik-review-textarea {
  width: 100%;
  border: 1px solid var(--n200);
  border-radius: var(--r-md);
  padding: var(--s3) var(--s4);
  margin-bottom: var(--s3);
  background: var(--white);
}
.tik-review-textarea { min-height: 110px; resize: vertical; }
.tik-review-msg {
  margin-top: var(--s3);
  font-size: var(--t14);
  font-weight: 700;
}
.tik-review-msg--ok { color: #067647; }
.tik-review-msg--err { color: #991b1b; }
.tik-review-list {
  margin-top: var(--s6);
}
.tik-review-item {
  border-top: 1px solid var(--n100);
  padding: var(--s4) 0;
}
.tik-review-header {
  display: flex;
  align-items: center;
  gap: var(--s3);
  flex-wrap: wrap;
  margin-bottom: var(--s2);
}
.tik-review-author {
  font-weight: 800;
  color: var(--navy);
}
.tik-review-date {
  color: var(--n500);
  font-size: var(--t13);
}
.tik-review-body {
  color: var(--n700);
  font-size: var(--t15);
}
.tik-single-save {
  margin-bottom: var(--s5);
}
.tik-single-save.saved {
  color: var(--gold-muted);
  background: var(--gold-pale);
}
@media (max-width: 980px) {
  .tik-ms-gallery { grid-template-columns: 1fr; }
  .tik-ms-gallery-main img { height: 360px; }
  .tik-ms-gallery-thumbs { grid-template-columns: repeat(4, 1fr); }
  .tik-ms-gallery-thumb img { height: 96px; }
  .tik-ms-layout { grid-template-columns: 1fr; }
  .tik-ms-sidebar { position: static; }
}
@media (max-width: 560px) {
  .tik-ms-hero { padding-top: var(--s6); }
  .tik-ms-title { font-size: var(--t32); }
  .tik-ms-gallery-main img { height: 280px; }
  .tik-ms-gallery-thumbs { grid-template-columns: repeat(2, 1fr); }
  .tik-ms-gallery-thumb img { height: 120px; }
  .tik-ms-card { padding: var(--s5); border-radius: var(--r-xl); }
  .tik-star-btn { width: 36px; height: 36px; }
}

/* ============================================================
   TIK ARCHIVE CARD PATCH — v7
   Fixes blank media placeholders and action overflow on archive cards.
   ============================================================ */
.card--feature {
  min-width: 0;
}

.card--feature .card__media--feature {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
}

.card__placeholder {
  width: 100%;
  height: 100%;
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 25% 20%, rgba(201,162,39,.16), transparent 32%),
    linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
  color: var(--white);
}

.card__placeholder span {
  width: 88px;
  height: 88px;
  border: 3px solid rgba(255,255,255,.8);
  border-radius: var(--r-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: var(--t42);
  font-weight: 800;
  letter-spacing: .04em;
}

.card__placeholder--logo {
  background: var(--n50);
}

.card__placeholder--logo img {
  max-width: 55%;
  max-height: 55%;
  object-fit: contain;
  transform: none !important;
}

.card--feature .card__actions--feature {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s2);
  padding: var(--s3) var(--card-pad);
  overflow: visible;
}

.card--feature .card__actions--feature .btn {
  min-width: 0;
  width: 100%;
  padding-inline: var(--s2);
  justify-content: center;
  overflow: hidden;
  text-overflow: ellipsis;
}

.card--feature .card__actions--feature .btn--view {
  margin-left: 0;
}

@media (max-width: 520px) {
  .card--feature .card__actions--feature {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   TIK MASTER LISTING PATCH — v8
   Production fixes: maps, empty cards, media, archive actions.
   ============================================================ */
.tik-ms-gallery:empty,
.tik-ms-actions-card:empty {
  display: none !important;
}

.tik-ms-map-wrap iframe {
  width: 100%;
  min-height: 360px;
  border: 0;
  display: block;
  background: var(--n50);
}

.tik-ms-actions-card .btn {
  width: 100%;
}

.card--feature .card__media--feature > a {
  display: block;
  width: 100%;
  height: 100%;
}

.card--feature .card__media--feature img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card--feature .card__actions--feature {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s2);
}

.card--feature .card__actions--feature .btn {
  width: 100%;
  min-width: 0;
  padding-inline: var(--s2);
  white-space: nowrap;
}

.card--feature .card__actions--feature .btn--view {
  margin-left: 0 !important;
}

@media (max-width: 520px) {
  .card--feature .card__actions--feature {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   TIK PHASE 1 CLEANUP — v9
   Google Maps, branded media fallbacks, stable archive actions.
   ============================================================ */
.card--feature {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.card--feature .card__body {
  flex: 1 1 auto;
}
.card--feature .card__media--feature {
  overflow: hidden;
  background: var(--navy);
}
.card--feature .card__media--feature img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.card--feature .card__actions--feature {
  margin-top: auto;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch;
}
.card--feature .card__actions--feature .btn {
  min-height: 40px;
  border-radius: 10px;
  font-weight: 800;
  font-size: 13px;
}
.tik-ms-map-wrap {
  overflow: hidden;
  border-radius: var(--r-lg);
  border: 1px solid var(--n100);
  background: var(--n50);
}
.tik-ms-map-wrap iframe {
  width: 100%;
  min-height: 380px;
  border: 0;
  display: block;
}
.tik-ms-actions-card {
  display: grid;
  gap: var(--s3);
}
.tik-ms-info-list li strong:empty,
.tik-ms-info-list li span:empty {
  display: none;
}
@media (max-width: 640px) {
  .card--feature .card__actions--feature {
    grid-template-columns: 1fr !important;
  }
  .tik-ms-map-wrap iframe {
    min-height: 300px;
  }
}


/* ============================================================
   TIK PHASE 1 FINAL ROUTING + BRAND POLISH — v10
   ============================================================ */
.site-logo--brand { min-width: 178px; }
.site-logo__img { height: 38px; width: auto; display:block; }
.site-header .site-logo__img { filter: none; }
.footer-brand__logo { display:inline-flex; align-items:center; margin-bottom: var(--s4); }
.footer-brand__logo img { height: 54px; width:auto; display:block; }
.tik-ms-gallery--single { grid-template-columns: 1fr; max-width: 980px; }
.tik-ms-gallery--single .tik-ms-gallery-main img { height: 520px; }
.card--dir .card__media > a,
.card--dir .card__media img { width:100%; height:100%; object-fit:cover; display:block; }
.card--dir .card__actions { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--s2); padding: var(--s3) var(--card-pad); }
.card--dir .card__actions .btn { width:100%; min-width:0; justify-content:center; padding-inline: var(--s2); white-space:nowrap; }
.tik-archive-map-wrap:has(#tik-archive-map:empty) { display:none; }
#tik-archive-map:empty { display:none; }
.archive-hero + .container .tik-archive-map-wrap:empty { display:none; }
@media (max-width: 980px) { .tik-ms-gallery--single .tik-ms-gallery-main img { height: 360px; } }
@media (max-width: 560px) {
  .site-logo--brand { min-width: 140px; }
  .site-logo__img { height: 32px; }
  .footer-brand__logo img { height: 46px; }
  .tik-ms-gallery--single .tik-ms-gallery-main img { height: 280px; }
  .card--dir .card__actions { grid-template-columns: 1fr; }
}


/* ============================================================
   TIK PHASE 1 COMPLETION PATCH — v11
   Routing, logo placement, single-gallery, and empty archive map cleanup.
   ============================================================ */
.tik-ms-gallery.tik-ms-gallery--single {
  display: block;
  width: 100%;
  max-width: none;
  background: transparent;
}
.tik-ms-gallery.tik-ms-gallery--single .tik-ms-gallery-main {
  border-radius: var(--r-2xl);
  overflow: hidden;
  background: var(--n100);
}
.tik-ms-gallery.tik-ms-gallery--single .tik-ms-gallery-main img {
  width: 100%;
  height: min(520px, 52vw);
  min-height: 320px;
  object-fit: cover;
}
body.tax-business_category .tik-archive-map-wrap,
body.tax-directory_category .tik-archive-map-wrap,
.tik-archive-map-wrap:empty {
  display: none !important;
}
.site-logo--brand img { max-width: 190px; }
.footer-brand__logo img { max-width: 220px; }
@media (max-width: 640px) {
  .tik-ms-gallery.tik-ms-gallery--single .tik-ms-gallery-main img {
    height: 300px;
    min-height: 240px;
  }
}

/* ============================================================
   TIK PHASE 2A — Claim + Lead Tracking UI — v12
   ============================================================ */
.tik-claim-box--success {
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #166534;
  padding: 18px;
  border-radius: 18px;
}
.tik-claim-box--success strong,
.tik-claim-box--claimed strong { display:block; margin-bottom: 4px; }
.tik-p2-admin-stats ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.tik-p2-admin-stats li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid var(--n100, #e5e7eb);
  padding: 10px 0;
}
.tik-p2-admin-stats li:last-child { border-bottom: 0; }
.tik-p2-admin-stats span {
  color: var(--n500, #64748b);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.tik-p2-admin-stats strong {
  color: var(--navy, #0f172a);
  font-size: 16px;
}
.tik-ms-claim-card .tik-claim-box {
  margin: 0;
  box-shadow: none;
}
.tik-ms-actions-card .btn {
  text-align: center;
}


/* ============================================================
   TIK PHASE 2B — FEATURED + SUBMIT POLISH
   ============================================================ */
.card--sponsored,
.card:has(.badge--sponsored) {
  border-color: rgba(201,162,39,.45);
}
.badge--sponsored {
  background: var(--gold-pale);
  color: var(--gold-muted);
  border: 1px solid rgba(201,162,39,.35);
}
.tik-payment-box {
  margin: var(--s6) 0;
  padding: var(--s6);
  border: 1px solid rgba(201,162,39,.35);
  border-radius: var(--r-xl);
  background: var(--gold-pale);
}
.tik-form-notice {
  padding: var(--s4) var(--s5);
  border-radius: var(--r-lg);
  margin-bottom: var(--s6);
  font-weight: 600;
}
.tik-form-notice--success {
  background: #ecfdf3;
  color: #067647;
  border: 1px solid #abefc6;
}
.tik-form-notice--error {
  background: #fef3f2;
  color: #b42318;
  border: 1px solid #fecdca;
}


/* ============================================================
   TIK PHASE 2C — PROJECT LISTING UI
   ============================================================ */
.tik-project-progress-card .tik-project-progress-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:var(--s4);
  margin-bottom:var(--s4);
}
.tik-project-progress-card .tik-project-progress-head strong {
  font-family:var(--font-display);
  font-size:clamp(2rem,4vw,3.5rem);
  color:var(--gold);
  line-height:1;
}
.tik-project-progress-card .tik-project-progress-head span {
  color:var(--n500);
  font-weight:700;
}
.tik-project-progress-bar {
  height:12px;
}
.card--project .card__media img {
  width:100%;
  height:100%;
  object-fit:cover;
}


/* ============================================================
   TIK Phase 2C+ — Project Intelligence + Submit CTA
   ============================================================ */
.tik-project-intel-strip {
  padding: 34px 0 12px;
  background: #fff;
}
.tik-project-intel-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) repeat(4, minmax(120px, 1fr));
  gap: 16px;
  align-items: stretch;
}
.tik-project-intel-card,
.tik-project-stat {
  border: 1px solid var(--n200, #e5e7eb);
  background: #fff;
  border-radius: 22px;
  box-shadow: var(--sh-sm, 0 10px 30px rgba(15,23,42,.06));
}
.tik-project-intel-card {
  padding: 26px;
}
.tik-project-intel-eyebrow {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--gold, #c9a227);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 900;
}
.tik-project-intel-card h2 {
  margin: 0 0 8px;
  color: var(--navy, #0f172a);
  font-family: var(--font-display, 'Playfair Display', serif);
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.05;
}
.tik-project-intel-card p {
  margin: 0;
  color: var(--n500, #64748b);
  max-width: 620px;
}
.tik-project-intel-actions {
  margin-top: 18px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.tik-project-stat {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  min-height: 150px;
}
.tik-project-stat strong {
  color: var(--navy, #0f172a);
  font-size: 34px;
  line-height: 1;
  font-weight: 900;
}
.tik-project-stat span {
  margin-top: 8px;
  color: var(--n500, #64748b);
  font-size: 13px;
  font-weight: 800;
}
.archive-filter--project-status {
  border-top: 0;
}
@media (max-width: 1100px) {
  .tik-project-intel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tik-project-intel-card { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .tik-project-intel-grid { grid-template-columns: 1fr; }
  .tik-project-stat { min-height: auto; }
}

/* ============================================================
   Phase 2D: City intelligence project updates
   ============================================================ */
.tik-project-update-form { margin-top: 18px; }
.tik-project-update-list { display: grid; gap: 14px; margin-top: 14px; }
.tik-project-update-item { border: 1px solid var(--n200); border-radius: 16px; padding: 16px; background: #fff; }
.tik-project-update-head { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:8px; }
.tik-project-update-head strong { color: var(--navy); }
.tik-project-update-head span { color: var(--n500); font-size: 12px; }
.tik-project-report-card .tik-form__grid { gap: 14px; }
.tik-form-notice--success { border:1px solid #bbf7d0; background:#f0fdf4; color:#166534; padding:14px 16px; border-radius:14px; margin-bottom:16px; }
.tik-form-notice--error { border:1px solid #fecaca; background:#fef2f2; color:#991b1b; padding:14px 16px; border-radius:14px; margin-bottom:16px; }

/* ============================================================
   Phase 3+4 v17: City Intelligence, monetization, logo + form fixes
   ============================================================ */
.site-logo--brand,
.site-header .site-logo--brand {
  display:inline-flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  min-width:0 !important;
  width:auto !important;
  max-width:220px !important;
  overflow:visible !important;
}
.site-logo__img,
.site-logo--brand img,
.site-header .site-logo__img {
  display:block !important;
  width:168px !important;
  height:auto !important;
  max-width:100% !important;
  max-height:46px !important;
  object-fit:contain !important;
  aspect-ratio:auto !important;
}
@media(max-width:720px){.site-logo__img,.site-logo--brand img,.site-header .site-logo__img{width:142px!important;max-height:40px!important}}

/* Submit pages: prevent pricing panel from bleeding into the form */
.form-page-layout,
.submit-project-wrap {
  display:grid !important;
  grid-template-columns:minmax(260px,360px) minmax(0,1fr) !important;
  gap:48px !important;
  align-items:start !important;
}
.form-page-layout > main,
.submit-project-wrap > main,
.form-page-layout .tik-form,
.submit-project-wrap .tik-form {
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
}
.form-page-sidebar,
.submit-pricing {
  min-width:0 !important;
  width:100% !important;
  max-width:360px !important;
  position:sticky !important;
  top:110px !important;
  z-index:1 !important;
}
.tik-pricing-card { overflow:hidden !important; }
.tik-pricing-card .pricing-grid,
.tik-pricing-card .tik-pricing-grid,
.tik-pricing-card [class*="pricing"] {
  display:block !important;
  grid-template-columns:1fr !important;
  max-width:100% !important;
}
.tik-pricing-card .pricing-card,
.tik-pricing-card .tik-pricing-tier,
.tik-pricing-card [class*="pricing-card"],
.tik-pricing-card [class*="tier"] {
  width:100% !important;
  max-width:100% !important;
  margin:0 0 14px !important;
  transform:none !important;
}
.tik-pricing-card * { word-break:normal; overflow-wrap:anywhere; }
.tik-form__section {
  background:#fff;
  border:1px solid var(--n100,#e5e7eb);
  border-radius:22px;
  padding:28px;
  box-shadow:0 12px 34px rgba(15,23,42,.055);
  margin-bottom:24px;
}
@media(max-width:1024px){
  .form-page-layout,.submit-project-wrap{grid-template-columns:1fr!important;gap:28px!important}
  .form-page-sidebar,.submit-pricing{position:static!important;max-width:100%!important;order:2}
}

/* Project intelligence UI */
.tik-project-trust-row {display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;}
.tik-trust-pill {display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:999px; font-size:12px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; border:1px solid var(--n200,#e5e7eb); background:#fff; color:var(--navy,#0f172a)}
.tik-trust-pill--official{background:#ecfdf5;color:#047857;border-color:#bbf7d0}.tik-trust-pill--community{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.tik-trust-pill--stale{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.tik-trust-pill--sponsored{background:#fef9c3;color:#854d0e;border-color:#fde68a}
.tik-project-timeline {position:relative; display:grid; gap:16px; padding-left:24px; margin-top:10px; border-left:2px solid var(--n200,#e5e7eb)}
.tik-project-timeline__item {position:relative; padding:0 0 4px;}
.tik-project-timeline__item:before {content:""; position:absolute; left:-31px; top:4px; width:12px; height:12px; border-radius:99px; background:var(--gold,#c9a227); box-shadow:0 0 0 5px #fff; border:2px solid var(--gold,#c9a227)}
.tik-project-timeline__item.is-done:before{background:#16a34a;border-color:#16a34a}.tik-project-timeline__date{display:block;font-size:12px;font-weight:900;color:var(--gold,#c9a227);text-transform:uppercase;letter-spacing:.08em}.tik-project-timeline__title{margin:2px 0 0;font-weight:800;color:var(--navy,#0f172a)}.tik-project-timeline__note{margin:4px 0 0;color:var(--n500,#64748b);font-size:14px;line-height:1.6}
.tik-project-monetize-card {background:linear-gradient(135deg,var(--navy,#0f172a),#17233a)!important;color:#fff!important}.tik-project-monetize-card h3,.tik-project-monetize-card strong{color:#fff!important}.tik-project-monetize-card p{color:rgba(255,255,255,.72)!important}.tik-project-monetize-card .btn--outline{background:#fff;color:var(--navy,#0f172a);border-color:#fff}
.tik-command-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0}.tik-command-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.tik-command-card strong{display:block;font-size:30px;line-height:1;color:#0f172a}.tik-command-card span{display:block;margin-top:8px;color:#64748b;font-weight:800}.tik-command-section{margin-top:28px;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.05)}

/* ============================================================
   Audit Fix v18: Submit Project sidebar + accessibility polish
   ============================================================ */
.tik-submit-plan-card {
  overflow: visible !important;
}
.tik-submit-plans {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  margin: 18px 0 20px !important;
}
.tik-submit-plan {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  padding: 14px 16px;
}
.tik-submit-plan span {
  display: inline-flex;
  color: var(--gold,#c9a227);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  margin-bottom: 6px;
}
.tik-submit-plan strong {
  display: block;
  color: #fff;
  font-size: 15px;
  line-height: 1.25;
}
.tik-submit-plan small {
  display: block;
  color: rgba(255,255,255,.68);
  font-size: 12px;
  line-height: 1.5;
  margin-top: 4px;
}
.submit-project-wrap .tik-form__section {
  scroll-margin-top: 110px;
}
.submit-project-wrap .tik-form__input:focus,
.submit-project-wrap .tik-form__textarea:focus,
.submit-project-wrap .tik-form__select:focus {
  outline: 3px solid rgba(201,162,39,.22);
  border-color: var(--gold,#c9a227);
}
@media (max-width: 1024px) {
  .tik-submit-plan-card { position: static !important; }
}

/* ============================================================
   UI/content upgrades: readability, gallery, archive card polish
   ============================================================ */
.article-hero .article-lead,
.article-lead {
  color: rgba(255,255,255,0.78) !important;
  font-size: 18px;
  line-height: 1.65;
  max-width: 760px;
  margin-top: 22px;
}
.article-hero .article-lead p { color: inherit !important; margin: 0; }

.tik-food-spots .tik-grid,
.tik-food-spots .tik-featured-section__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  align-items: stretch;
}
.tik-food-spots .tik-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(15,23,42,.08);
  min-height: 100%;
}
.tik-food-spots .tik-card__image,
.tik-food-spots .tik-card__image-link {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #0f172a;
}
.tik-food-spots .tik-card__image--featured { aspect-ratio: 16 / 10; }
.tik-food-spots .tik-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.tik-food-spots .tik-card:hover .tik-card__img { transform: scale(1.04); }
.tik-food-spots .tik-card__body { flex: 1; padding: 20px 20px 8px; }
.tik-food-spots .tik-card__footer { padding: 16px 20px 20px; margin-top: auto; display: flex; gap: 10px; flex-wrap: wrap; }
.tik-food-spots .tik-card__footer .tik-btn { flex: 1 1 130px; justify-content: center; }
.tik-food-spots .tik-card__excerpt { color: var(--n500,#64748b); line-height: 1.65; }

.tik-ms-gallery { margin-top: 34px; }
.tik-ms-gallery-main img,
.tik-ms-gallery-thumb img { background: #0f172a; }
.tik-ms-gallery-thumb { cursor: pointer; }
.tik-ms-gallery-thumb.is-active { outline: 3px solid var(--gold,#c9a227); outline-offset: 2px; }

.card__media img,
.card__media--feature img,
.card--dir .card__media img,
.card--event .card__media img,
.card--project .card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.card__media { background: #0f172a; }

.tik-gallery-admin-preview { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0; }
.tik-gallery-admin-preview__item { position:relative; width:92px; height:92px; border-radius:10px; overflow:hidden; border:1px solid #dcdcde; background:#f6f7f7; }
.tik-gallery-admin-preview__item img { width:100%; height:100%; object-fit:cover; display:block; }
.tik-gallery-admin-preview__remove { position:absolute; top:4px; right:4px; width:22px; height:22px; border:0; border-radius:99px; background:#1d2327; color:#fff; cursor:pointer; line-height:22px; padding:0; }

/* ============================================================
   Premium consistency pass v20
   ============================================================ */
.single-news .article-hero,
.single-news .article-hero .container,
.single-news .article-meta-row,
.single-news .article-title,
.single-news .article-byline { opacity: 1 !important; }
.news-hero-excerpt,
.single-news .hero-excerpt,
.single-news .post-excerpt,
.single-news .article-lead,
.article-hero .article-lead {
  color: rgba(255,255,255,0.82) !important;
  opacity: 1 !important;
  font-size: 18px;
  line-height: 1.7;
  max-width: 760px;
  margin-top: 22px;
  position: relative;
  z-index: 2;
}
.single-news .article-byline { position: relative; z-index: 2; }

.tik-food-spots .tik-container,
.tik-food-spots .container,
.archive .container,
.post-type-archive .container { width: min(100% - 40px, 1380px); margin-inline: auto; }
.tik-food-spots .tik-hero { padding: clamp(56px, 7vw, 96px) 0 36px; background: linear-gradient(135deg, #08111f 0%, #101827 62%, #16233b 100%); color: #fff; }
.tik-food-spots .tik-hero__eyebrow { color: var(--gold,#c9a227); font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.tik-food-spots .tik-hero__title { color: #fff; font-family: var(--font-display); font-size: clamp(42px, 6vw, 74px); line-height: 1; margin: 12px 0 10px; }
.tik-food-spots .tik-hero__subtitle { color: rgba(255,255,255,.76); font-size: 18px; line-height: 1.65; max-width: 720px; }
.tik-search-form { margin-top: 26px; max-width: 760px; }
.tik-search-form__inner { display: flex; gap: 10px; padding: 8px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(255,255,255,.08); box-shadow: 0 18px 45px rgba(0,0,0,.18); }
.tik-search-form__input { flex: 1; min-width: 0; border: 0; border-radius: 12px; padding: 14px 16px; font: inherit; }
.tik-search-form__btn,
.tik-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 12px; min-height: 44px; padding: 0 18px; font-weight: 900; text-decoration: none; border: 1px solid transparent; cursor: pointer; }
.tik-search-form__btn,
.tik-btn--primary,
.tik-btn--apply { background: var(--orange,#ea580c); color: #fff; }
.tik-btn--reset { background: #fff; color: var(--navy,#0f172a); border-color: var(--n200,#e5e7eb); }
.tik-btn--whatsapp { background: #25d366; color: #fff; }
.tik-cat-chips,
.tik-filters { background: #fff; border-bottom: 1px solid var(--n100,#e5e7eb); }
.tik-cat-chips__track { display: flex; gap: 10px; overflow-x: auto; padding: 18px 0; }
.tik-filters { padding: 18px 0; }
.tik-filters__row { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)) auto; gap: 14px; align-items: end; }
.tik-filter-group__label { display: block; margin-bottom: 6px; color: var(--n500,#64748b); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.tik-filter-group__select { width: 100%; min-height: 44px; border: 1px solid var(--n200,#e5e7eb); border-radius: 12px; padding: 0 12px; background: #fff; }
.tik-filters__actions { display: flex; gap: 10px; }
.tik-results { padding: 40px 0 64px; background: #f8fafc; }
.tik-featured-section__header,
.tik-results__header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.tik-featured-section__title { margin: 0; font-family: var(--font-display); font-size: clamp(30px, 4vw, 46px); line-height: 1.05; color: var(--navy,#0f172a); }
.tik-results__count { color: var(--n500,#64748b); font-weight: 700; }
.tik-view-toggle { display: inline-flex; gap: 8px; }
.tik-food-spots .tik-grid,
.tik-food-spots .tik-featured-section__grid,
.archive .grid--auto,
.post-type-archive .grid--auto { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important; gap: 28px !important; align-items: stretch; }
.tik-food-spots .tik-card,
.archive .card,
.post-type-archive .card { min-width: 0; border-radius: 22px; border: 1px solid rgba(15,23,42,.08); box-shadow: 0 18px 45px rgba(15,23,42,.08); }
.card__media,
.card__media--feature,
.tik-food-spots .tik-card__image,
.tik-food-spots .tik-card__image-link { aspect-ratio: 16 / 10; min-height: 0 !important; }
.card__media img,
.card__media--feature img,
.tik-food-spots .tik-card__img,
.tik-ms-gallery-main img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; }
.card__title,
.tik-card__title { line-height: 1.12; overflow-wrap: anywhere; }
.tik-ms-info-list li:has(strong:empty),
.tik-ms-info-list li:empty { display: none; }
.tik-ms-gallery { gap: 16px; }
.tik-ms-gallery-main { position: relative; overflow: hidden; border-radius: 22px; background: #0f172a; }
.tik-ms-gallery-main img { transition: opacity .22s ease, transform .35s ease; }
.tik-ms-gallery-thumbs { overflow-x: auto; scroll-snap-type: x mandatory; padding: 3px; }
.tik-ms-gallery-thumb { scroll-snap-align: start; border-radius: 14px; border: 2px solid transparent; background: transparent; }
.tik-ms-gallery-thumb.is-active { border-color: var(--gold,#c9a227); outline: none; }
.tik-gallery-lightbox { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; padding: 28px; background: rgba(2,6,23,.92); }
.tik-gallery-lightbox.is-open { display: flex; }
.tik-gallery-lightbox img { max-width: min(1100px, 92vw); max-height: 82vh; object-fit: contain; border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,.35); }
.tik-gallery-lightbox button { position: absolute; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; border-radius: 999px; width: 46px; height: 46px; cursor: pointer; font-size: 28px; line-height: 1; }
.tik-gallery-lightbox__close { top: 24px; right: 24px; }
.tik-gallery-lightbox__prev { left: 24px; }
.tik-gallery-lightbox__next { right: 24px; }

@media (max-width: 980px) {
  .tik-filters__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tik-filters__actions { grid-column: 1 / -1; }
  .tik-ms-layout { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
  .tik-food-spots .tik-container,
  .tik-food-spots .container,
  .archive .container,
  .post-type-archive .container { width: min(100% - 28px, 1380px); }
  .tik-food-spots .tik-hero { padding-top: 42px; }
  .tik-search-form__inner { flex-direction: column; }
  .tik-search-form__btn { width: 100%; }
  .tik-filters__row { grid-template-columns: 1fr; }
  .tik-filters__actions { flex-direction: column; }
  .tik-food-spots .tik-grid,
  .tik-food-spots .tik-featured-section__grid,
.archive .grid--auto,
.post-type-archive .grid--auto { grid-template-columns: 1fr !important; gap: 20px !important; }

  .tik-ms-title { font-size: clamp(38px, 12vw, 56px); }
  .tik-ms-gallery-main img { height: 300px !important; }
  .tik-ms-gallery-thumbs { grid-template-columns: repeat(4, minmax(92px, 1fr)); }
  .tik-gallery-lightbox__prev { left: 10px; }
  .tik-gallery-lightbox__next { right: 10px; }
}



/* RC2 production polish: listing internals, related cards and mobile actions */
.tik-ms-related { background: var(--n50); }
.tik-ms-related .sec-header { margin-bottom: var(--s5); }
.tik-ms-info-list strong { overflow-wrap: anywhere; text-align: right; }
.tik-ms-actions-card { gap: var(--s2); }
.tik-ms-actions-card .btn { justify-content: center; min-height: 44px; }
@media (max-width: 720px) {
  .tik-ms-meta-line { gap: 8px; align-items: flex-start; }
  .tik-ms-badges { gap: 6px; }
  .tik-ms-badges .badge { max-width: 100%; white-space: normal; }
  .tik-ms-actions-card { position: sticky; bottom: 0; z-index: 20; margin-inline: calc(var(--s4) * -1); border-radius: var(--r-xl) var(--r-xl) 0 0; box-shadow: 0 -14px 36px rgba(15,23,42,.14); }
  .tik-ms-info-list li { align-items: flex-start; gap: var(--s3); }
  .tik-ms-info-list strong { max-width: 58%; }
}


/* ============================================================
   RC3 PREMIUM UI/UX REFINEMENT PASS
   Modern city discovery polish for homepage, cards, mobile, and singles.
   ============================================================ */
:root {
  --tik-premium-shadow: 0 18px 50px rgba(15,23,42,.12);
  --tik-premium-shadow-lg: 0 28px 80px rgba(15,23,42,.18);
  --tik-glass: rgba(255,255,255,.82);
}
body { background: #F7F8FA; }
.site-header {
  background: rgba(8,14,26,.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.site-header.scrolled { background: rgba(8,14,26,.96); }
.site-nav__link { border-radius: 999px; padding-inline: 13px; }
.site-nav__link:hover, .site-nav__link.current { background: rgba(255,255,255,.08); }
.hero { min-height: clamp(650px, 84vh, 860px); isolation: isolate; }
.hero__bg-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,14,26,.15), rgba(8,14,26,.62));
}
.hero__bg-gradient {
  background:
    linear-gradient(90deg, rgba(8,14,26,.98) 0%, rgba(8,14,26,.78) 43%, rgba(8,14,26,.2) 100%),
    linear-gradient(0deg, rgba(8,14,26,.75), rgba(8,14,26,.05));
}
.hero__bg-orb { display: none; }
.hero__grid { align-items: end; min-height: clamp(580px, 78vh, 760px); }
.hero__title { max-width: 840px; letter-spacing: 0; text-wrap: balance; }
.hero__sub { max-width: 660px; font-size: clamp(17px, 2vw, 21px); }
.hero__search-wrap { max-width: 720px; }
.hero .search-bar { min-height: 64px; border: 1px solid rgba(255,255,255,.2); box-shadow: 0 24px 80px rgba(0,0,0,.28); }
.hero__stats-card {
  background: rgba(8,14,26,.74);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(18px);
  box-shadow: var(--tik-premium-shadow-lg);
}
.tik-home-now { margin-top: -46px; position: relative; z-index: 5; }
.tik-now-strip {
  display: grid;
  grid-template-columns: minmax(220px, .72fr) 2fr;
  gap: var(--s4);
  align-items: stretch;
  background: var(--white);
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 24px;
  padding: var(--s4);
  box-shadow: var(--tik-premium-shadow);
}
.tik-now-strip__intro { padding: var(--s4); border-right: 1px solid var(--n100); }
.tik-now-strip__intro h2 { font-family: var(--font-display); color: var(--navy); font-size: clamp(24px,3vw,34px); line-height: 1.08; margin: 0; }
.tik-now-actions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--s3); }
.tik-now-pill {
  display: flex; flex-direction: column; gap: 5px; min-height: 138px;
  padding: var(--s4); border-radius: 18px; text-decoration: none;
  color: var(--navy); background: linear-gradient(180deg,#fff,#f8fafc);
  border: 1px solid var(--n100); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.tik-now-pill:hover { transform: translateY(-3px); box-shadow: var(--tik-premium-shadow); border-color: rgba(201,162,39,.45); }
.tik-now-pill span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; background: var(--gold-pale); color: var(--gold-muted); font-weight: 900; }
.tik-now-pill strong { font-size: var(--t16); }
.tik-now-pill small { color: var(--n500); line-height: 1.45; }
.premium-section-head, .sec-header { align-items: end; }
.sec-header__title { text-wrap: balance; letter-spacing: 0; }
.sec-header__sub { max-width: 720px; }
.grid--auto { align-items: stretch; }
.card {
  border-color: rgba(15,23,42,.08);
  box-shadow: 0 10px 30px rgba(15,23,42,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--tik-premium-shadow); border-color: rgba(201,162,39,.3); }
.card__media::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 46%;
  background: linear-gradient(180deg, rgba(15,23,42,0), rgba(15,23,42,.34));
  pointer-events: none;
}
.card__title { letter-spacing: 0; }
.card__excerpt { color: var(--n600); }
.card--dir .card__media { aspect-ratio: 5 / 4; }
.card--event .card__media, .card--project .card__media { aspect-ratio: 16 / 10; }
.card__actions { background: rgba(248,250,252,.72); }
.badge { letter-spacing: .04em; }
.tik-scroll-row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(280px, 360px);
  gap: var(--s4);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  padding: 2px 2px var(--s4);
  scrollbar-width: thin;
}
.tik-scroll-row__item { scroll-snap-align: start; min-width: 0; }
.tik-scroll-row__item .card { height: 100%; }
.tik-scroll-row--dark .card { background: rgba(255,255,255,.96); }
.tik-premium-row--food { background: linear-gradient(180deg,#fff 0%,#f8fafc 100%); }
.tik-premium-card-grid .card { height: 100%; }
.tik-area-panel {
  display: grid; grid-template-columns: .85fr 1.4fr; gap: var(--s8); align-items: center;
  padding: clamp(24px,5vw,56px); border-radius: 28px;
  background: linear-gradient(135deg,var(--navy),#18233f 62%,#243460);
  color: var(--white); box-shadow: var(--tik-premium-shadow-lg); overflow: hidden;
}
.tik-area-panel__copy h2, .tik-ashanti-copy h2 { font-family: var(--font-display); font-size: clamp(30px,4vw,48px); line-height: 1.05; margin: 0 0 var(--s4); letter-spacing: 0; }
.tik-area-panel__copy p, .tik-ashanti-copy p { color: rgba(255,255,255,.68); font-size: var(--t18); line-height: 1.7; }
.tik-area-cloud { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--s3); }
.tik-area-chip {
  display: flex; justify-content: space-between; gap: var(--s3); align-items: center;
  padding: var(--s4); border-radius: 16px; text-decoration: none;
  background: rgba(255,255,255,.09); color: var(--white); border: 1px solid rgba(255,255,255,.12);
}
.tik-area-chip:hover { background: rgba(255,255,255,.15); }
.tik-area-chip span { color: rgba(255,255,255,.56); font-size: var(--t13); }
.tik-weekend-band { background: radial-gradient(circle at top left, rgba(201,162,39,.16), transparent 34%), var(--navy-dark); }
.tik-ashanti-layout {
  display: grid; grid-template-columns: .95fr 1.1fr; gap: var(--s8); align-items: stretch;
  background: #fff; border-radius: 28px; border: 1px solid rgba(15,23,42,.08); box-shadow: var(--tik-premium-shadow); overflow: hidden;
}
.tik-ashanti-copy { padding: clamp(28px,5vw,58px); background: linear-gradient(135deg,#0f172a,#20304f); color: var(--white); }
.tik-ashanti-list { display: grid; align-content: center; gap: var(--s3); padding: clamp(24px,4vw,44px); }
.tik-ashanti-link { display: block; padding: var(--s4); border-radius: 16px; text-decoration: none; color: var(--navy); border: 1px solid var(--n100); background: #fff; }
.tik-ashanti-link:hover { border-color: rgba(201,162,39,.45); box-shadow: 0 10px 30px rgba(15,23,42,.08); }
.tik-ashanti-link span { display: block; color: var(--gold-muted); font-size: var(--t12); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
.tik-ashanti-link strong { font-size: var(--t18); }
.tik-ashanti-actions { display:flex; gap: var(--s3); flex-wrap: wrap; margin-top: var(--s6); }
.archive-hero { background: linear-gradient(135deg,#080e1a,#17213a 62%,#243460); }
.article-hero { background: linear-gradient(135deg,#080e1a,#17213a); }
.article-body { max-width: 760px; }
.article-body p { font-size: 18px; line-height: 1.86; }
.tik-ms-hero { background: linear-gradient(180deg,#fff,#f8fafc); }
.tik-ms-card { border-color: rgba(15,23,42,.08); box-shadow: 0 12px 36px rgba(15,23,42,.07); }
.tik-ms-gallery-main, .tik-ms-gallery-thumb { box-shadow: 0 10px 30px rgba(15,23,42,.08); }
.tik-mobile-dock { display: none; }
@media (max-width: 980px) {
  .tik-now-strip, .tik-area-panel, .tik-ashanti-layout { grid-template-columns: 1fr; }
  .tik-now-strip__intro { border-right: 0; border-bottom: 1px solid var(--n100); }
  .tik-now-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tik-scroll-row { grid-auto-columns: minmax(260px, 78vw); }
}
@media (max-width: 720px) {
  body { padding-bottom: 74px; }
  .site-header { position: sticky; top: 0; }
  .hero { min-height: auto; }
  .hero__grid { min-height: 620px; padding-block: 104px 72px; }
  .hero__title { font-size: clamp(42px, 13vw, 64px); }
  .hero__quick { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .hero__ql { flex: 0 0 auto; }
  .tik-home-now { margin-top: -28px; }
  .tik-now-strip { padding: var(--s3); border-radius: 20px; }
  .tik-now-actions { grid-template-columns: 1fr; }
  .tik-now-pill { min-height: 112px; }
  .section { padding-block: var(--s12); }
  .card:hover { transform: none; }
  .card__media img { transform: none !important; }
  .tik-area-cloud { grid-template-columns: 1fr; }
  .tik-area-panel, .tik-ashanti-layout { border-radius: 22px; }
  .tik-area-chip { align-items: flex-start; flex-direction: column; }
  .tik-mobile-dock {
    position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 400;
    display: grid; grid-template-columns: repeat(4,1fr); gap: 4px;
    padding: 8px; border-radius: 22px; background: rgba(8,14,26,.94);
    border: 1px solid rgba(255,255,255,.12); box-shadow: 0 18px 60px rgba(0,0,0,.28); backdrop-filter: blur(18px);
  }
  .tik-mobile-dock__item { display: grid; place-items: center; gap: 2px; min-height: 48px; border-radius: 16px; color: rgba(255,255,255,.7); text-decoration: none; font-size: 11px; }
  .tik-mobile-dock__item span { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--gold); }
  .tik-mobile-dock__item strong { font-size: 12px; }
  .tik-mobile-dock__item:hover, .tik-mobile-dock__item:focus { background: rgba(255,255,255,.08); color: #fff; }
}


/* ============================================================
   RC4 MOBILE CONTRAST + ACCESSIBILITY REFINEMENT
   Focused readability fixes for dark premium sections and mobile UI.
   ============================================================ */
.section--dark,
.tik-weekend-band,
.tik-area-panel,
.tik-ashanti-copy,
.tik-project-monetize-card,
.archive-hero,
.article-hero,
.page-hero,
.cta-section {
  background: linear-gradient(135deg, rgba(15,23,42,.96), rgba(2,6,23,.88));
}

.section--dark h1,
.section--dark h2,
.section--dark h3,
.section--dark .sec-header__title,
.tik-weekend-band h1,
.tik-weekend-band h2,
.tik-weekend-band h3,
.tik-weekend-band .sec-header__title,
.tik-area-panel h1,
.tik-area-panel h2,
.tik-area-panel h3,
.tik-ashanti-copy h1,
.tik-ashanti-copy h2,
.tik-ashanti-copy h3,
.tik-project-monetize-card h1,
.tik-project-monetize-card h2,
.tik-project-monetize-card h3,
.archive-hero h1,
.archive-hero h2,
.article-hero h1,
.article-hero h2,
.page-hero h1,
.page-hero h2,
.cta-section h1,
.cta-section h2,
.cta-section h3,
.hero__title {
  color: #F8FAFC !important;
  opacity: 1 !important;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.section--dark p,
.section--dark .sec-header__sub,
.tik-weekend-band p,
.tik-weekend-band .sec-header__sub,
.tik-area-panel p,
.tik-area-panel__copy p,
.tik-ashanti-copy p,
.tik-project-monetize-card p,
.archive-hero p,
.article-hero .article-lead,
.article-hero p,
.page-hero__sub,
.cta-section p,
.hero__sub {
  color: rgba(255,255,255,.82) !important;
  opacity: 1 !important;
  line-height: 1.72;
}

.section--dark .sec-header__label,
.tik-weekend-band .sec-header__label,
.tik-area-panel .sec-header__label,
.tik-ashanti-copy .sec-header__label,
.cta-section .sec-header__label {
  color: #FDE68A !important;
  opacity: 1 !important;
}

.section--dark .btn--outline,
.section--dark .btn--outline-white,
.tik-weekend-band .btn--outline,
.tik-weekend-band .btn--outline-white,
.tik-area-panel .btn--outline,
.tik-area-panel .btn--outline-white,
.tik-ashanti-copy .btn--outline,
.tik-ashanti-copy .btn--outline-white,
.tik-project-monetize-card .btn--outline,
.archive-hero .btn--outline,
.article-hero .btn--outline,
.page-hero .btn--outline,
.cta-section .btn--outline,
.cta-section .btn--outline-white {
  border: 1px solid rgba(255,255,255,.25) !important;
  color: #fff !important;
  background: rgba(255,255,255,.04) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.section--dark .btn--outline:hover,
.section--dark .btn--outline-white:hover,
.tik-weekend-band .btn--outline:hover,
.tik-weekend-band .btn--outline-white:hover,
.tik-area-panel .btn--outline:hover,
.tik-area-panel .btn--outline-white:hover,
.tik-ashanti-copy .btn--outline:hover,
.tik-ashanti-copy .btn--outline-white:hover,
.tik-project-monetize-card .btn--outline:hover,
.archive-hero .btn--outline:hover,
.article-hero .btn--outline:hover,
.page-hero .btn--outline:hover,
.cta-section .btn--outline:hover,
.cta-section .btn--outline-white:hover {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.42) !important;
}

.card__media::after,
.card-media::after,
.card__media--feature::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,.18), transparent);
  pointer-events: none;
  z-index: 1;
}

.card__media > .badge,
.card__media .card__img-badge,
.card-media > .badge {
  z-index: 2;
}

.card__media .card__title,
.card__media .card-title,
.card-media .card-title,
.card--overlay .card__title,
.card--overlay .card-title {
  color: #fff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.45);
}

@media (max-width: 720px) {
  .section--dark h1,
  .section--dark h2,
  .tik-weekend-band h2,
  .tik-area-panel h2,
  .tik-ashanti-copy h2,
  .archive-hero h1,
  .article-hero h1,
  .page-hero__title,
  .hero__title {
    font-weight: 700;
    letter-spacing: -0.02em;
    text-wrap: balance;
  }

  .section--dark p,
  .section--dark .sec-header__sub,
  .tik-weekend-band p,
  .tik-area-panel p,
  .tik-ashanti-copy p,
  .page-hero__sub,
  .hero__sub {
    font-size: 16px;
    line-height: 1.72;
  }

  .tik-mobile-dock {
    left: 12px;
    right: 12px;
    bottom: 8px;
    gap: 3px;
    padding: 6px;
    border-radius: 19px;
  }

  .tik-mobile-dock__item {
    min-height: 42px;
    border-radius: 14px;
    gap: 1px;
  }

  .tik-mobile-dock__item span {
    font-size: 9px;
  }

  .tik-mobile-dock__item strong {
    font-size: 11px;
    line-height: 1.1;
  }

  .card__save {
    width: 38px;
    height: 38px;
    font-size: 17px;
  }
}


/* =========================================================
   RC6 PREMIUM POLISH + MOBILE CONSISTENCY PASS
   ========================================================= */
:root{--tik-card-radius:18px;--tik-card-pad:clamp(1rem,2vw,1.25rem);--tik-card-shadow-soft:0 14px 34px rgba(15,23,42,.10);--tik-card-shadow-hover:0 18px 42px rgba(15,23,42,.16);--tik-section-gap:clamp(3rem,6vw,5.5rem)}
.section,.tik-premium-section,.home-section,.archive-section{padding-top:var(--tik-section-gap);padding-bottom:var(--tik-section-gap)}.section+.section,.tik-premium-section+.tik-premium-section,.home-section+.home-section{margin-top:0}.sec-header,.section-header,.tik-section-header{margin-bottom:clamp(1.25rem,3vw,2.25rem)}.sec-header__title,.section-title,.tik-section-title,.archive-hero__title{letter-spacing:-.02em;line-height:1.06}.sec-header__sub,.section-description,.tik-section-lede,.archive-hero__intro{line-height:1.65;max-width:68ch}.grid--auto,.card-grid,.cards-grid,.archive-grid,.tik-premium-card-grid{align-items:stretch;gap:clamp(1rem,2.4vw,1.5rem)}.card,.tik-card,.card--dir,.card--feature,.card--event,.card--project,.tik-scroll-row__item>article,.tik-scroll-row__item>.card{height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--tik-card-radius);box-shadow:var(--tik-card-shadow-soft)}.card:hover,.tik-card:hover{box-shadow:var(--tik-card-shadow-hover)}.card__media,.tik-card__image,.card--dir .card__media,.card--feature .card__media,.card--event .card__media,.card--project .card__media{position:relative;overflow:hidden;background:#e5e7eb;aspect-ratio:16/11;flex:0 0 auto}.card--dir .card__media,.tik-card__image{aspect-ratio:4/3}.card--event .card__media,.card--project .card__media,.card__media--feature{aspect-ratio:16/10}.card__media img,.tik-card__image img,.tik-card__img,.card img[class*="wp-post-image"]{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.card__body,.tik-card__body{flex:1 1 auto;display:flex;flex-direction:column;gap:.75rem;padding:var(--tik-card-pad)}.card__title,.tik-card__title{margin:0;color:#0f172a;font-weight:750;line-height:1.16;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card__excerpt,.tik-card__excerpt,.card__location,.tik-card__location,.card__meta,.tik-card__meta{line-height:1.55}.card__excerpt,.tik-card__excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card__badge-row,.tik-card__badges,.card__meta,.card__footer,.tik-card__footer{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .45rem}.card__actions,.card__footer,.tik-card__footer{margin-top:auto;padding-top:.25rem}.tik-scroll-row{gap:clamp(.9rem,2vw,1.25rem);scroll-padding-inline:clamp(1rem,3vw,1.5rem);padding-bottom:.65rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tik-scroll-row__item{min-width:min(340px,86vw);max-width:360px;scroll-snap-align:start}@media(max-width:900px){.section,.tik-premium-section,.home-section,.archive-section{padding-top:3rem;padding-bottom:3rem}.grid--auto,.card-grid,.cards-grid,.archive-grid,.tik-premium-card-grid{gap:1rem}.card,.tik-card{border-radius:16px}.card__body,.tik-card__body{padding:1rem;gap:.65rem}.card__title,.tik-card__title{font-size:clamp(1.02rem,4.5vw,1.25rem);line-height:1.18}.card__excerpt,.tik-card__excerpt{-webkit-line-clamp:2}.tik-scroll-row{gap:.85rem;padding-inline:.1rem 1rem;scroll-padding-inline:1rem}.tik-scroll-row__item{min-width:min(292px,84vw);max-width:84vw}}@media(max-width:640px){.section,.tik-premium-section,.home-section,.archive-section{padding-top:2.65rem;padding-bottom:2.65rem}.card__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(hover:none) and (pointer:coarse){.card:hover,.tik-card:hover,.card:hover .card__media img,.tik-card:hover .tik-card__img{transform:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}


/* =========================================================
   RC7 VISUAL CONSISTENCY + COLOUR GRADING CORRECTION
   ========================================================= */
:root{--tik-deep-navy:#0F172A;--tik-ashanti-gold:#C9A227;--tik-action-orange:#F97316;--tik-body-text:#334155;--tik-muted-text:#64748B;--tik-light-bg:#F8FAFC;--tik-border-soft:rgba(15,23,42,.10);--tik-placeholder-gradient:linear-gradient(135deg,#0F172A 0%,#18233F 52%,#C9A227 140%)}.section--dark .card:not(.card--dark),.tik-weekend-band .card:not(.card--dark),.tik-scroll-row--dark .card:not(.card--dark),.tik-area-panel .card:not(.card--dark),.archive-hero .card:not(.card--dark),.cta-section .card:not(.card--dark){background:#fff;color:var(--tik-body-text)}.section--dark .card:not(.card--dark) .card__body,.tik-weekend-band .card:not(.card--dark) .card__body,.tik-scroll-row--dark .card:not(.card--dark) .card__body,.section--dark .card:not(.card--dark) .card__footer,.tik-weekend-band .card:not(.card--dark) .card__footer,.tik-scroll-row--dark .card:not(.card--dark) .card__footer{color:var(--tik-body-text)!important;opacity:1!important}.card:not(.card--dark) .card__title,.card:not(.card--dark) .card__title a,.card--project .card__title,.card--project .card__title a,.tik-card__title,.tik-card__title a,.premium-lead-story__title,.premium-lead-story__title a,.premium-news-mini__title,.premium-news-mini__title a{color:var(--tik-deep-navy)!important;opacity:1!important;text-shadow:none!important}.card:not(.card--dark) .card__meta,.card:not(.card--dark) .card__location,.card:not(.card--dark) .card__price,.card:not(.card--dark) .card__footer,.card--project .card__meta,.card--project .card__footer,.tik-card__location,.tik-card__meta{color:var(--tik-body-text)!important;opacity:1!important}.card:not(.card--dark) .card__excerpt,.card:not(.card--dark) .card__body p,.card--project .card__excerpt,.premium-lead-story__excerpt,.premium-news-mini__excerpt{color:var(--tik-muted-text)!important;opacity:1!important}.card__body::before,.card__body::after,.card__footer::before,.card__footer::after,.tik-card__body::before,.tik-card__body::after{content:none!important;display:none!important}.card__media::after,.premium-lead-story__media::after,.premium-news-mini__media::after,.tik-card__image::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;pointer-events:none;background:linear-gradient(to top,rgba(15,23,42,.58),rgba(15,23,42,.14),transparent);z-index:1}.card__media>*,.premium-lead-story__media>*,.premium-news-mini__media>*,.tik-card__image>*{position:relative;z-index:2}.card__media>img,.premium-lead-story__media>img,.premium-news-mini__media>img,.tik-card__image>img,.card__media>a,.premium-lead-story__media>a,.premium-news-mini__media>a{z-index:0}.home-newsroom-premium{background:var(--tik-light-bg)}.premium-lead-story__media{aspect-ratio:16/9;background:var(--tik-placeholder-gradient)}.premium-news-mini__media{aspect-ratio:1/1;background:var(--tik-placeholder-gradient)}.card__placeholder,.premium-media-placeholder,.tik-card__image:empty{min-height:180px;background:var(--tik-placeholder-gradient)!important;color:rgba(255,255,255,.82)!important;letter-spacing:.02em;text-align:center}


/* =========================================================
   RC8 NEWSROOM / EDITORIAL GRID RECONSTRUCTION
   Fixes dead whitespace, forced equal heights, and awkward sidebar stretch.
   ========================================================= */
.home-newsroom-premium,.section:has(.grid--editorial){overflow:clip}.home-newsroom-premium .premium-section-head,.section:has(.grid--editorial) .sec-header{margin-bottom:clamp(1.25rem,2.2vw,1.75rem)}.home-newsroom-premium .premium-topic-tabs{margin-bottom:clamp(1rem,2vw,1.5rem)}
.premium-newsroom-grid{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(280px,.9fr) minmax(220px,.58fr)!important;gap:clamp(1rem,1.8vw,1.35rem)!important;align-items:start!important;grid-auto-rows:auto!important}.premium-newsroom-grid>*,.premium-newsroom-grid .card,.premium-newsroom-grid article,.premium-newsroom-grid aside,.grid--editorial>*,.grid--editorial .card,.grid--editorial article,.editorial-stack,.editorial-stack .card{height:auto!important;min-height:0!important;align-self:start!important}.premium-lead-story{display:block!important;height:auto!important;min-height:0!important;box-shadow:0 14px 34px rgba(15,23,42,.08)!important}.premium-lead-story__media{aspect-ratio:16/9!important;min-height:0!important}.premium-lead-story__body{display:block!important;flex:initial!important;padding:clamp(1.1rem,2.1vw,1.55rem)!important}.premium-lead-story__body .card__meta{margin-bottom:.55rem!important}.premium-lead-story__title{font-size:clamp(1.5rem,2vw,2.05rem)!important;line-height:1.12!important;margin:0 0 .55rem!important;max-width:16ch}.premium-lead-story__excerpt{margin:0!important;max-width:58ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.premium-news-stack{display:flex!important;flex-direction:column!important;gap:clamp(.85rem,1.4vw,1rem)!important;align-content:start!important}.premium-news-mini{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;min-height:0!important;height:auto!important;align-items:stretch!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 10px 24px rgba(15,23,42,.07)!important}.premium-news-mini__media{aspect-ratio:1/1!important;width:112px!important;height:112px!important;min-height:0!important}.premium-news-mini__media img{width:100%!important;height:100%!important;object-fit:cover!important}.premium-news-mini__body{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:.45rem!important;padding:.9rem 1rem!important;min-height:0!important}.premium-news-mini__body .card__badge-row{margin:0!important;gap:.35rem!important}.premium-news-mini__title{margin:0!important;font-size:clamp(.98rem,1.1vw,1.08rem)!important;line-height:1.22!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.premium-news-briefs{display:flex!important;flex-direction:column!important;gap:0!important;align-self:start!important;height:auto!important;min-height:0!important;padding:1rem!important;border-radius:18px!important;background:#fff!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 10px 24px rgba(15,23,42,.06)!important}.premium-briefs__head{margin:0 0 .45rem!important;padding-bottom:.7rem!important;border-bottom:1px solid rgba(15,23,42,.08)!important}.premium-brief{display:block!important;padding:.75rem 0!important;min-height:0!important;border-bottom:1px solid rgba(15,23,42,.08)!important}.premium-brief span{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.93rem!important;line-height:1.32!important}.premium-brief small{display:block!important;margin-top:.3rem!important;line-height:1.2!important}.premium-brief--cta{border-bottom:0!important;padding-bottom:.2rem!important}
.grid--editorial{display:grid!important;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr)!important;gap:clamp(1rem,2vw,1.35rem)!important;align-items:start!important;grid-auto-rows:auto!important}.grid--editorial .editorial-lead{display:block!important;height:auto!important;min-height:0!important}.grid--editorial .editorial-lead .card__media{aspect-ratio:16/9!important;min-height:0!important}.grid--editorial .editorial-lead .card__body{display:block!important;flex:initial!important;padding:clamp(1.1rem,2vw,1.5rem)!important}.grid--editorial .editorial-lead .card__title{font-size:clamp(1.45rem,2vw,2.05rem)!important;line-height:1.12!important;margin:0 0 .55rem!important}.grid--editorial .editorial-lead .card__excerpt{-webkit-line-clamp:3!important;margin:0!important}.editorial-stack{display:flex!important;flex-direction:column!important;gap:.9rem!important}.editorial-stack .card--mini{display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;height:auto!important;min-height:0!important;align-items:stretch!important;box-shadow:0 10px 24px rgba(15,23,42,.07)!important}.editorial-stack .card--mini .card__media{width:104px!important;height:104px!important;min-height:0!important;aspect-ratio:1/1!important}.editorial-stack .card--mini .card__body{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:.42rem!important;padding:.85rem 1rem!important;min-height:0!important}.editorial-stack .card--mini .card__title{font-size:1rem!important;line-height:1.22!important;margin:0!important;-webkit-line-clamp:2!important}.editorial-stack .card--mini .badge,.premium-news-mini .badge{align-self:flex-start;margin:0!important}.editorial-stack .card--mini .progress-bar{margin-top:.35rem!important}
@media(max-width:1180px){.premium-newsroom-grid{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)!important}.premium-news-briefs{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.85rem!important}.premium-briefs__head{grid-column:1/-1!important}.premium-brief{border:1px solid rgba(15,23,42,.08)!important;border-radius:14px!important;padding:.85rem!important}}@media(max-width:900px){.premium-newsroom-grid,.grid--editorial{grid-template-columns:1fr!important}.premium-news-briefs{display:flex!important}}@media(max-width:640px){.premium-lead-story__title,.grid--editorial .editorial-lead .card__title{max-width:none;font-size:clamp(1.32rem,6vw,1.65rem)!important}.premium-news-mini,.editorial-stack .card--mini{grid-template-columns:92px minmax(0,1fr)!important}.premium-news-mini__media,.editorial-stack .card--mini .card__media{width:92px!important;height:92px!important}.premium-news-mini__body,.editorial-stack .card--mini .card__body{padding:.75rem .85rem!important}}


/* =========================================================
   RC9 FINAL VISUAL SYSTEM + PRODUCTION CLEANUP PASS
   Refinement only: spacing, card unity, image grading, responsive polish.
   ========================================================= */
:root{
  --tik-rc9-radius-card:18px;
  --tik-rc9-radius-control:12px;
  --tik-rc9-border:rgba(15,23,42,.10);
  --tik-rc9-border-strong:rgba(15,23,42,.14);
  --tik-rc9-shadow:0 12px 30px rgba(15,23,42,.075);
  --tik-rc9-shadow-hover:0 16px 38px rgba(15,23,42,.11);
  --tik-rc9-section:clamp(3.25rem,6.5vw,5.75rem);
  --tik-rc9-section-tight:clamp(2.5rem,5vw,4.25rem);
}

.section,.home-section,.tik-premium-section,.archive-section{padding-top:var(--tik-rc9-section);padding-bottom:var(--tik-rc9-section)}
.section--sm{padding-top:var(--tik-rc9-section-tight);padding-bottom:var(--tik-rc9-section-tight)}
.section--xs{padding-top:clamp(2rem,4vw,3rem);padding-bottom:clamp(2rem,4vw,3rem)}
.section--neutral{background:#F8FAFC}.section--gold{background:linear-gradient(180deg,#fffdf4,#fff8db)}
.container{max-width:min(var(--container,1180px),calc(100vw - 32px))}

.sec-header,.premium-section-head,.section-header,.tik-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(1rem,2.4vw,2rem);margin-bottom:clamp(1.25rem,2.6vw,2rem)}
.sec-header>*,.premium-section-head>*{min-width:0}.sec-header__title,.section-title,.tik-section-title{margin:0;letter-spacing:-.02em;line-height:1.08;text-wrap:balance}.sec-header__sub,.section-description,.tik-section-lede{margin-top:.55rem;color:#64748B;line-height:1.65;max-width:68ch}.section--dark .sec-header__sub,.tik-weekend-band .sec-header__sub{color:rgba(255,255,255,.82)}

.btn,.button,.wp-block-button__link,.search-bar__btn,.card__actions a,.card__actions .btn,.tik-card__footer a{min-height:42px;border-radius:var(--tik-rc9-radius-control);padding:.68rem 1rem;font-weight:800;line-height:1.1;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.btn--sm{min-height:36px;padding:.52rem .82rem}.btn--primary,.search-bar__btn{background:#F97316;border-color:#F97316;color:#fff}.btn--primary:hover,.search-bar__btn:hover{background:#ea580c;border-color:#ea580c;color:#fff}.btn--outline,.btn--outline-white{border:1px solid var(--tik-rc9-border);background:#fff;color:#0F172A}.btn--outline:hover{border-color:rgba(201,162,39,.45);background:#fffbeb;color:#0F172A}.section--dark .btn--outline,.section--dark .btn--outline-white,.tik-weekend-band .btn--outline,.tik-area-panel .btn--outline,.cta-section .btn--outline{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.24);color:#fff}.section--dark .btn--outline:hover,.tik-weekend-band .btn--outline:hover,.tik-area-panel .btn--outline:hover,.cta-section .btn--outline:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.34);color:#fff}

.card,.tik-card,.premium-lead-story,.premium-news-mini,.card--dir,.card--feature,.card--event,.card--project,.card--news-sm,.card--news-lg,.card--mini{border:1px solid var(--tik-rc9-border);border-radius:var(--tik-rc9-radius-card);box-shadow:var(--tik-rc9-shadow);background:#fff;overflow:hidden}.card:hover,.tik-card:hover,.premium-lead-story:hover,.premium-news-mini:hover{border-color:var(--tik-rc9-border-strong);box-shadow:var(--tik-rc9-shadow-hover)}
.grid--auto,.grid.grid--3,.card-grid,.cards-grid,.archive-grid,.listing-grid,.discovery-grid,.tik-premium-card-grid{gap:clamp(1.05rem,2vw,1.45rem);align-items:stretch}.grid--auto>.card,.grid.grid--3>.card,.archive-grid>.card,.tik-premium-card-grid>.card{height:100%}
.card__body,.tik-card__body{padding:clamp(1rem,1.7vw,1.2rem);gap:.68rem}.card__meta,.card__badge-row,.tik-card__badges{gap:.35rem .5rem;margin-bottom:.15rem}.card__title,.tik-card__title{font-weight:800;letter-spacing:-.015em;line-height:1.16;margin:0;color:#0F172A}.card__title a,.tik-card__title a{color:inherit}.card__excerpt,.tik-card__excerpt{color:#64748B;line-height:1.58;margin:0}.card__footer,.tik-card__footer,.card__actions{gap:.55rem;border-top-color:rgba(15,23,42,.08)}
.card__actions{padding:.9rem clamp(1rem,1.7vw,1.2rem);background:#fff}.card__actions a,.card__actions .btn{min-height:38px;padding:.55rem .7rem;border-radius:10px}.badge,.tik-badge,.filter-tab{border-radius:999px;font-weight:850;letter-spacing:.04em}.badge--outline,.filter-tab{border-color:var(--tik-rc9-border);background:#fff;color:#0F172A}.badge--gold{background:rgba(201,162,39,.14);border-color:rgba(201,162,39,.32);color:#765A08}.badge--navy{background:#0F172A;color:#fff;border-color:#0F172A}.badge--price{background:rgba(15,23,42,.055);border-color:var(--tik-rc9-border);color:#334155}

.card__media,.tik-card__image,.premium-lead-story__media,.premium-news-mini__media{background:linear-gradient(135deg,#0F172A,#1e293b 62%,#C9A227 145%);overflow:hidden}.card__media img,.tik-card__image img,.premium-lead-story__media img,.premium-news-mini__media img,.hero img,.archive-hero img{object-fit:cover;object-position:center;filter:saturate(1.035) contrast(1.025) brightness(1.01)}.card__media::after,.premium-lead-story__media::after,.premium-news-mini__media::after,.tik-card__image::after{height:38%;background:linear-gradient(to top,rgba(15,23,42,.46),rgba(15,23,42,.10),transparent)}.card__placeholder,.premium-media-placeholder,.tik-card__image:empty{background:linear-gradient(135deg,#0F172A,#18233F 58%,#C9A227 145%);color:rgba(255,255,255,.84);min-height:180px;text-align:center}

.tik-scroll-row{gap:clamp(.9rem,1.8vw,1.2rem);padding-bottom:1rem;scroll-padding-inline:1rem}.tik-scroll-row__item{min-width:min(332px,84vw);max-width:352px}.tik-scroll-row__item .card{height:100%}.tik-scroll-row--dark .card{background:#fff;color:#334155}
.home-newsroom-premium .premium-section-head,.section:has(.grid--editorial) .sec-header{margin-bottom:clamp(1.2rem,2.2vw,1.8rem)}.premium-newsroom-grid,.grid--editorial{margin-top:0}.premium-lead-story,.premium-news-mini,.premium-news-briefs,.editorial-stack .card--mini{box-shadow:var(--tik-rc9-shadow)}.premium-news-briefs{border-radius:var(--tik-rc9-radius-card)}
.tik-area-panel,.tik-ashanti-panel,.cta-section,.tik-weekend-band{box-shadow:none}.site-footer{margin-top:0}.footer,.site-footer{background:#0F172A;color:rgba(255,255,255,.78)}.footer a,.site-footer a{color:#fff}.footer p,.site-footer p{color:rgba(255,255,255,.72)}

@media (min-width:1400px){.container{max-width:1180px}.hero .container,.archive-hero .container{max-width:1240px}.section,.home-section,.tik-premium-section{padding-top:5.25rem;padding-bottom:5.25rem}.premium-newsroom-grid{grid-template-columns:minmax(0,1.08fr) minmax(280px,.88fr) minmax(220px,.56fr)}}
@media (max-width:1024px){.sec-header,.premium-section-head,.section-header,.tik-section-header{align-items:flex-start}.grid--auto,.grid.grid--3,.archive-grid,.listing-grid{gap:1rem}.tik-scroll-row__item{min-width:min(304px,82vw)}}
@media (max-width:760px){.section,.home-section,.tik-premium-section,.archive-section{padding-top:2.7rem;padding-bottom:2.7rem}.section--sm{padding-top:2.25rem;padding-bottom:2.25rem}.sec-header,.premium-section-head,.section-header,.tik-section-header{display:block;margin-bottom:1.15rem}.sec-header .btn,.premium-section-head .btn{margin-top:.85rem}.card,.tik-card,.premium-lead-story,.premium-news-mini{border-radius:16px}.card__body,.tik-card__body{padding:.95rem}.card__actions{grid-template-columns:repeat(2,minmax(0,1fr));padding:.8rem .95rem}.tik-scroll-row{gap:.8rem;padding-inline:.05rem .9rem}.tik-scroll-row__item{min-width:min(286px,84vw)}body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.tik-mobile-dock{min-height:60px;padding:.42rem .7rem calc(.42rem + env(safe-area-inset-bottom));backdrop-filter:blur(12px)}}
@media (hover:none),(pointer:coarse){.card:hover,.tik-card:hover,.premium-lead-story:hover,.premium-news-mini:hover,.btn:hover{transform:none!important}.card__media img,.tik-card__image img{transform:none!important}}
@media (prefers-reduced-motion:reduce){.btn,.card,.tik-card,.card__media img,.tik-card__image img{transition:none!important}}


/* =========================================================
   RC10 STABILIZATION + PERFORMANCE + CLEANUP PASS
   Non-redesign production hardening for RC9 visual system.
   ========================================================= */
:root{
  --tik-prod-radius-card:var(--tik-rc9-radius-card,18px);
  --tik-prod-radius-control:var(--tik-rc9-radius-control,12px);
  --tik-prod-border:rgba(15,23,42,.10);
  --tik-prod-shadow:0 10px 26px rgba(15,23,42,.07);
  --tik-prod-shadow-hover:0 14px 32px rgba(15,23,42,.10);
  --tik-prod-focus:0 0 0 3px rgba(249,115,22,.28);
}

html{scroll-padding-top:96px;-webkit-text-size-adjust:100%}body{overflow-x:hidden;text-rendering:optimizeLegibility}.site-main,main{min-width:0}.container{width:min(100% - 32px,var(--container,1180px));margin-inline:auto}.section,.home-section,.tik-premium-section,.archive-section{contain:layout paint style;content-visibility:auto;contain-intrinsic-size:1px 720px}.hero,.archive-hero,.page-hero,.article-hero,.site-footer,.footer{content-visibility:visible;contain:none}

.card,.tik-card,.premium-lead-story,.premium-news-mini,.premium-news-briefs,.card--mini,.card--dir,.card--feature,.card--event,.card--project,.card--news-sm,.card--news-lg{border-radius:var(--tik-prod-radius-card);border-color:var(--tik-prod-border);box-shadow:var(--tik-prod-shadow);isolation:isolate;overflow:hidden}.card:hover,.tik-card:hover,.premium-lead-story:hover,.premium-news-mini:hover{box-shadow:var(--tik-prod-shadow-hover)}.card__body,.tik-card__body,.premium-lead-story__body,.premium-news-mini__body{min-width:0}.card__title,.tik-card__title,.premium-news-mini__title,.premium-lead-story__title{overflow-wrap:anywhere}.card__excerpt,.tik-card__excerpt{min-height:0}.card__footer,.card__actions,.tik-card__footer{min-width:0}.card__actions>*{min-width:0;text-align:center}

.card__media,.tik-card__image,.premium-lead-story__media,.premium-news-mini__media{display:block;position:relative;min-height:0;background:var(--tik-placeholder-gradient,linear-gradient(135deg,#0F172A,#18233F 58%,#C9A227 145%))}.card__media img,.tik-card__image img,.premium-lead-story__media img,.premium-news-mini__media img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;background:var(--tik-placeholder-gradient,linear-gradient(135deg,#0F172A,#18233F 58%,#C9A227 145%));backface-visibility:hidden}.card__media:empty,.tik-card__image:empty,.premium-lead-story__media:empty,.premium-news-mini__media:empty{min-height:180px}.card__placeholder,.premium-media-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:inherit;padding:1rem}

.grid,.grid--auto,.grid--3,.archive-grid,.listing-grid,.discovery-grid,.card-grid,.cards-grid,.tik-premium-card-grid{min-width:0}.grid>* ,.grid--auto>* ,.archive-grid>* ,.listing-grid>* ,.discovery-grid>*{min-width:0}.pagination-wrap{margin-top:clamp(1.5rem,4vw,2.5rem)}.empty-state,.archive__empty,.no-results,.not-found{overflow:hidden;min-width:0}

.tik-scroll-row{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;will-change:auto}.tik-scroll-row__item{scroll-snap-align:start;scroll-snap-stop:normal}.tik-scroll-row .card,.tik-scroll-row article{transform:translateZ(0)}

.btn,.button,.wp-block-button__link,a.btn,button,input[type="submit"],.filter-tab,.card__actions a,.tik-card__footer a{touch-action:manipulation;min-width:0}.btn:focus-visible,.button:focus-visible,.wp-block-button__link:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.filter-tab:focus-visible,.card__save:focus-visible{outline:2px solid #F97316;outline-offset:3px;box-shadow:var(--tik-prod-focus)}.badge,.tik-badge{min-height:1.55rem;display:inline-flex;align-items:center;max-width:100%}

@media (min-width:1440px){.section,.home-section,.tik-premium-section,.archive-section{contain-intrinsic-size:1px 680px}.tik-scroll-row__item{max-width:348px}.grid--auto,.archive-grid,.listing-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}
@media (max-width:1024px){.section,.home-section,.tik-premium-section,.archive-section{contain:layout style;content-visibility:visible}.card,.tik-card,.premium-lead-story,.premium-news-mini{box-shadow:0 8px 20px rgba(15,23,42,.065)}.tik-scroll-row{scroll-snap-type:x proximity;padding-bottom:.8rem}.tik-scroll-row__item{min-width:min(300px,84vw)}}
@media (max-width:768px){body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.container{width:min(100% - 24px,var(--container,1180px))}.section,.home-section,.tik-premium-section,.archive-section{padding-top:2.55rem;padding-bottom:2.55rem}.card__media:empty,.tik-card__image:empty,.premium-lead-story__media:empty,.premium-news-mini__media:empty{min-height:150px}.card__actions a,.card__actions .btn{min-height:40px}.tik-mobile-dock{transform:translateZ(0);will-change:auto}.tik-scroll-row__item{min-width:min(282px,84vw)}}
@media (max-width:360px){.container{width:min(100% - 20px,var(--container,1180px))}.card__body,.tik-card__body,.premium-lead-story__body,.premium-news-mini__body{padding:.85rem}.btn,.button,.wp-block-button__link,.card__actions a{padding:.58rem .68rem}.tik-scroll-row__item{min-width:min(260px,86vw)}.badge,.tik-badge{font-size:.62rem}}
@media (hover:none),(pointer:coarse){.card,.tik-card,.premium-lead-story,.premium-news-mini,.btn,.button{transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.card:hover,.tik-card:hover,.premium-lead-story:hover,.premium-news-mini:hover,.btn:hover,.button:hover{transform:none!important}.card__media img,.tik-card__image img,.premium-lead-story__media img,.premium-news-mini__media img{filter:none;transform:none!important}.site-header,.tik-mobile-dock{backdrop-filter:blur(10px)}}
@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.tik-scroll-row{scroll-snap-type:none}}
@supports not (content-visibility:auto){.section,.home-section,.tik-premium-section,.archive-section{contain:none}}


/* =========================================================
   LAUNCH CIVIC INTELLIGENCE + FINAL FALLBACK HARDENING
   ========================================================= */
:root{--tik-civic-green:#16A34A;--tik-civic-amber:#D97706;--tik-civic-red:#DC2626;--tik-civic-blue:#2563EB}.tik-project-watch-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0 0 1.25rem}.tik-project-watch-metric{padding:1rem;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.07);color:#fff}.tik-project-watch-metric strong{display:block;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1}.tik-project-watch-metric span{display:block;margin-top:.3rem;color:rgba(255,255,255,.78);font-size:.82rem}.tik-project-watch-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.tik-civic-disclaimer{margin-top:1rem;padding:.9rem 1rem;border-radius:14px;background:#fffbeb;border:1px solid rgba(201,162,39,.28);color:#713f12;font-size:.9rem;line-height:1.55}.tik-project-watch-card{border:1px solid rgba(15,23,42,.10);border-radius:18px;background:#fff;padding:1rem;box-shadow:0 10px 26px rgba(15,23,42,.07)}.tik-project-watch-card__label{display:block;color:#64748B;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.tik-project-watch-card__title{margin:0;color:#0F172A;font-weight:850;line-height:1.2}.tik-project-watch-card__meta{margin:.45rem 0 0;color:#64748B;font-size:.85rem}.badge--under_review,.badge--under-review{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.badge--abandoned{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.badge--delayed{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.badge--official{background:#ecfdf5;color:#047857;border-color:#bbf7d0}.badge--community{background:#f8fafc;color:#475569;border-color:#e2e8f0}.tik-project-update-form input[type=file]{padding:.65rem;background:#fff}.tik-project-update-item__media{margin-top:.75rem}.tik-project-update-item__media img{max-width:100%;border-radius:12px;border:1px solid rgba(15,23,42,.10)}.tik-project-update-abuse{display:inline-flex;margin-top:.45rem;font-size:.78rem;color:#64748B}.tik-project-progress-empty{display:block;color:#64748B;font-weight:700}.tik-project-info-muted{color:#64748B}.tik-project-watch-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:.75rem;margin-top:1rem}.tik-project-watch-filter-grid select{min-height:44px;border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:0 .75rem;background:#fff;color:#0F172A}@media(max-width:900px){.tik-project-watch-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tik-project-watch-filter-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.tik-project-watch-metrics,.tik-project-watch-filter-grid{grid-template-columns:1fr}.tik-project-watch-actions{display:grid}.tik-project-watch-actions .btn{width:100%}}


/* FINAL MOBILE QA + COLOR GRADING POLISH - 5.5.1 */
:root{--tik-mobile-dock-clearance:calc(92px + env(safe-area-inset-bottom,0px));}
.card__media img,.card__media--feature img,.tik-card__image img,.premium-lead-story__media img,.premium-news-mini__media img,.card--dir .card__media img,.card--event .card__media img,.card--project .card__media img{filter:saturate(1.04) contrast(1.03);}
.card--overlay .card__media::after,.premium-lead-story__media::after,.premium-news-mini__media::after{pointer-events:none;}
.card--dir .card__media::after,.card--event .card__media::after,.card--project .card__media::after,.card--feature .card__media--feature::after,.tik-card__image::after{opacity:0;pointer-events:none;}
.card__media>.badge,.card__media .card__img-badge,.tik-card__image>.tik-badge{max-width:calc(100% - 1rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:none;background:rgba(255,255,255,.92);color:#0F172A;border-color:rgba(15,23,42,.10);}
.archive-filter .container,.archive-filter--project-status .container,.tik-cat-chips,.tik-filter-tabs,.filter-tabs,.category-filter,.category-filters,.archive-tabs,.hero__quick{scrollbar-width:none;-ms-overflow-style:none;}
.archive-filter .container::-webkit-scrollbar,.archive-filter--project-status .container::-webkit-scrollbar,.tik-cat-chips::-webkit-scrollbar,.tik-filter-tabs::-webkit-scrollbar,.filter-tabs::-webkit-scrollbar,.category-filter::-webkit-scrollbar,.category-filters::-webkit-scrollbar,.archive-tabs::-webkit-scrollbar,.hero__quick::-webkit-scrollbar{display:none;}
@media(max-width:768px){
  html,body{max-width:100%;overflow-x:hidden;}
  body{padding-bottom:var(--tik-mobile-dock-clearance);}
  .site-main,main,.archive-section:last-child,.tik-results,.tik-results__grid,.tik-grid,.grid,.grid--auto,.grid--3{padding-bottom:var(--tik-mobile-dock-clearance);}
  .archive-hero{padding-bottom:1.4rem;}
  .archive-hero .search-bar,.tik-advanced-search{gap:.6rem;padding:.7rem;border-radius:18px;}
  .archive-hero .search-bar__input,.archive-hero .search-bar__select{min-height:42px;font-size:15px;}
  .archive-filter{overflow:hidden;}
  .archive-filter .container,.archive-filter--project-status .container,.tik-cat-chips,.tik-filter-tabs,.filter-tabs,.category-filter,.category-filters,.archive-tabs{display:flex;align-items:center;gap:.55rem;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;white-space:nowrap;padding-block:.75rem;padding-inline:12px;scroll-padding-inline:12px;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;}
  .archive-filter .container{width:100%;max-width:none;}
  .filter-tab,.tik-cat-chip,.category-pill,.tik-pill,.tik-badge--category{flex:0 0 auto;max-width:none;white-space:nowrap;overflow:visible;text-overflow:clip;min-height:38px;padding:.58rem .9rem;line-height:1;}
  .filter-tab.active,.tik-cat-chip.is-active{scroll-margin-inline:16px;}
  .tik-filters{padding:12px 0;}
  .tik-filters__row,.tik-project-watch-filter-grid{gap:.65rem;}
  .tik-filter-group__select,.search-bar__select{min-height:42px;}
  .card,.tik-card,.card--dir,.card--event,.card--project{overflow:hidden;}
  .card__body,.tik-card__body{padding:.92rem;gap:.5rem;}
  .card__title,.tik-card__title{line-height:1.18;}
  .card__meta,.card__badge-row,.tik-card__badges{gap:.32rem .42rem;}
  .card--dir .card__media{aspect-ratio:4/3;}
  .card--event .card__media,.card--project .card__media,.tik-card__image{aspect-ratio:4/3;}
  .card--dir .card__actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.45rem;padding:.58rem .85rem .85rem;background:#fff;}
  .card--dir .card__actions .btn,.card--dir .card__actions a{min-height:40px;padding:.5rem .45rem;font-size:.82rem;line-height:1;white-space:nowrap;justify-content:center;}
  .tik-mobile-dock{left:12px;right:12px;bottom:max(8px,env(safe-area-inset-bottom,0px));padding:5px 6px;border-radius:20px;}
  .tik-mobile-dock__item{min-height:42px;border-radius:14px;gap:1px;}
  .tik-mobile-dock__item span{font-size:9px;letter-spacing:.045em;}
  .tik-mobile-dock__item strong{font-size:11px;}
}
@media(max-width:414px){.archive-filter .container,.tik-cat-chips{padding-inline:10px}.filter-tab,.tik-cat-chip{min-height:36px;padding:.54rem .82rem;font-size:.82rem}.card--dir .card__actions .btn,.card--dir .card__actions a{font-size:.8rem}}
@media(max-width:360px){:root{--tik-mobile-dock-clearance:calc(96px + env(safe-area-inset-bottom,0px));}.card__body,.tik-card__body{padding:.82rem}.card--dir .card__actions{gap:.38rem;padding:.52rem .72rem .78rem}.card--dir .card__actions .btn,.card--dir .card__actions a{min-height:38px;padding:.46rem .35rem;font-size:.76rem}.filter-tab,.tik-cat-chip{font-size:.78rem}}
@media(max-width:320px){.card--dir .card__actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.card--dir .card__actions .btn,.card--dir .card__actions a{font-size:.72rem}.tik-mobile-dock{left:8px;right:8px}}


/* FINAL TARGETED MOBILE LAYOUT BUGFIXES - 5.5.2 */
*,*::before,*::after{box-sizing:border-box;}
html,body{max-width:100%;overflow-x:hidden;}
img,video,iframe,embed,object{max-width:100%;}
:root{--tik-final-dock-clearance:calc(124px + env(safe-area-inset-bottom,0px));}
.card__media img,.card__media--feature img,.tik-card__image img,.premium-lead-story__media img,.premium-news-mini__media img,.single-post .post-thumbnail img,.single .entry-content img{filter:saturate(1.04) contrast(1.03);}
.card--dir .card__media::after,.card--event .card__media::after,.card--project .card__media::after,.card--feature .card__media--feature::after,.tik-card__image::after{opacity:0;pointer-events:none;}
@media(max-width:768px){
  body{padding-bottom:var(--tik-final-dock-clearance)!important;}
  .site,.site-main,main,#primary,.content-area,.archive-section:last-child,.single-post,.single-news,.single-directory,.single-listing,.tik-ms-page,.tik-ms-main,.tik-ms-related,.tik-reviews,.comments-area,.related-posts,.more-stories,.entry-footer{max-width:100%;overflow-x:hidden;padding-bottom:var(--tik-final-dock-clearance);}
  .container,.wrap,.site-content,.entry-content,.post-content,.article-content,.single-post .entry-content,.single .entry-content,.tik-ms-content,.tik-ms-sidebar,.tik-ms-section,.comments-area,.comment-respond,.tik-review-form,.tik-claim-box,.tik-ms-related,.related-posts,.more-stories{width:100%;max-width:100%;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));box-sizing:border-box;}
  .entry-content,.post-content,.article-content,.single-post .entry-content,.single .entry-content{overflow-wrap:anywhere;word-break:normal;}
  .entry-content p,.post-content p,.article-content p,.entry-content li,.entry-content blockquote{max-width:100%;line-height:1.68;}
  .entry-content figure,.entry-content .wp-block-image,.entry-content .wp-block-embed,.entry-content .wp-block-gallery,.entry-content table,.entry-content pre{max-width:100%;overflow-x:auto;}
  .entry-content iframe,.entry-content video,.wp-block-embed__wrapper iframe{width:100%;max-width:100%;display:block;}
  .entry-content table{display:block;}
  .entry-content pre{white-space:pre-wrap;}
  .single-post .hero,.single-post .article-hero,.single .article-hero,.post-hero,.entry-hero{max-width:100%;overflow:hidden;}
  .single-post .post-thumbnail,.single-post .article-hero__media,.single .article-hero__media,.post-hero__media,.entry-hero__media{width:100%;max-width:100%;aspect-ratio:16/10;max-height:320px;overflow:hidden;border-radius:0;}
  .single-post .post-thumbnail img,.single-post .article-hero__media img,.single .article-hero__media img,.post-hero__media img,.entry-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center top;}
  .share-buttons,.social-share,.tik-share,.entry-share,.post-share{display:flex;flex-wrap:wrap;gap:.5rem;max-width:100%;overflow:hidden;}
  .share-buttons a,.social-share a,.tik-share a,.entry-share a,.post-share a{flex:0 1 auto;min-width:0;max-width:100%;white-space:nowrap;}
  .comment-respond,.tik-review-form,.review-form,.tik-ms-review-form{margin-inline:0;border-radius:18px;overflow:hidden;}
  .comment-respond input,.comment-respond textarea,.comment-respond select,.tik-review-form input,.tik-review-form textarea,.tik-review-form select,.review-form input,.review-form textarea,.review-form select,.tik-ms-review-form input,.tik-ms-review-form textarea,.tik-ms-review-form select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
  .star-rating button,.tik-star-rating button,.review-stars button{width:38px;height:38px;min-width:38px;padding:.25rem;}
  .tik-claim-box,.claim-listing,.listing-claim,.tik-ms-actions-card{max-width:100%;margin-left:0;margin-right:0;padding:1rem;border-radius:18px;}
  .related-posts .card,.more-stories .card,.tik-ms-related .card,.tik-ms-related .tik-card{max-width:100%;min-width:0;}
  .related-posts a,.more-stories a,.tik-ms-related a,.card__title,.tik-card__title{overflow-wrap:anywhere;}
  .archive-filter,.archive-filter--project-status,.tik-cat-chips-wrap{max-width:100%;overflow:hidden;}
  .archive-filter .container,.archive-filter--project-status .container,.tik-cat-chips,.tik-filter-tabs,.filter-tabs,.category-filter,.category-filters,.archive-tabs,.hero__quick{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:.55rem;width:100%;max-width:100%;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap;padding:.75rem 16px;scroll-padding-inline:16px;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:none;-ms-overflow-style:none;}
  .archive-filter .container::-webkit-scrollbar,.archive-filter--project-status .container::-webkit-scrollbar,.tik-cat-chips::-webkit-scrollbar,.tik-filter-tabs::-webkit-scrollbar,.filter-tabs::-webkit-scrollbar,.category-filter::-webkit-scrollbar,.category-filters::-webkit-scrollbar,.archive-tabs::-webkit-scrollbar,.hero__quick::-webkit-scrollbar{display:none;}
  .filter-tab,.tik-cat-chip,.category-pill,.tik-pill,.archive-tab{flex:0 0 auto!important;width:auto;max-width:none;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;min-height:38px;padding:.56rem .9rem;line-height:1;}
  .tik-filters,.tik-results,.archive-hero{max-width:100%;overflow:hidden;}
  .archive-hero .search-bar,.tik-advanced-search{max-width:100%;grid-template-columns:1fr;align-items:stretch;}
  .card--dir .card__actions,.card--feature .card__actions--feature{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.4rem!important;padding:.55rem .8rem .8rem!important;}
  .card--dir .card__actions:empty,.card--feature .card__actions--feature:empty{display:none!important;}
  .card--dir .card__actions .btn,.card--dir .card__actions a,.card--feature .card__actions--feature .btn,.card--feature .card__actions--feature a{min-height:40px!important;padding:.48rem .4rem!important;font-size:.8rem!important;line-height:1!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;justify-content:center;}
  .card__media>.badge,.card__media .card__img-badge,.tik-card__image>.tik-badge{max-width:calc(100% - 1rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(255,255,255,.93);color:#0F172A;border-color:rgba(15,23,42,.10);}
  .tik-mobile-dock{bottom:max(8px,env(safe-area-inset-bottom,0px));}
}
@media(max-width:414px){.container,.wrap,.site-content,.entry-content,.post-content,.article-content,.single-post .entry-content,.single .entry-content,.tik-ms-content,.comments-area,.comment-respond,.tik-review-form,.tik-claim-box,.tik-ms-related{padding-left:14px;padding-right:14px}.single-post .post-thumbnail,.single-post .article-hero__media,.single .article-hero__media{aspect-ratio:4/3;max-height:280px}.filter-tab,.tik-cat-chip,.category-pill,.tik-pill{font-size:.82rem;padding:.54rem .82rem}.star-rating button,.tik-star-rating button,.review-stars button{width:34px;height:34px;min-width:34px}}
@media(max-width:360px){:root{--tik-final-dock-clearance:calc(132px + env(safe-area-inset-bottom,0px));}.container,.wrap,.site-content,.entry-content,.post-content,.article-content,.single-post .entry-content,.single .entry-content,.tik-ms-content,.comments-area,.comment-respond,.tik-review-form,.tik-claim-box,.tik-ms-related{padding-left:12px;padding-right:12px}.card--dir .card__actions,.card--feature .card__actions--feature{gap:.34rem!important;padding:.5rem .68rem .72rem!important}.card--dir .card__actions .btn,.card--dir .card__actions a,.card--feature .card__actions--feature .btn,.card--feature .card__actions--feature a{font-size:.74rem!important;min-height:38px!important}.filter-tab,.tik-cat-chip,.category-pill,.tik-pill{font-size:.78rem}}
@media(max-width:320px){.archive-filter .container,.tik-cat-chips{padding-left:10px;padding-right:10px}.card--dir .card__actions .btn,.card--dir .card__actions a,.card--feature .card__actions--feature .btn,.card--feature .card__actions--feature a{font-size:.7rem!important}.single-post .post-thumbnail,.single-post .article-hero__media,.single .article-hero__media{max-height:240px}}


/* SINGLE NEWS MOBILE + CIVIC REPORT UX POLISH - 5.5.5 */
.single-news,.single-news body,body.single-news{overflow-x:hidden;}
.single-news article,.single-news .article-hero,.single-news .article-hero-img,.single-news .section,.single-news .container,.single-news .article-layout,.single-news .article-body,.single-news .article-sidebar{max-width:100%;box-sizing:border-box;overflow-wrap:break-word;}
.single-news .tik-save-listing,.single-news .save-listing,.single-news .tik-reviews,.single-news .reviews,.single-news .review-form,.single-news .tik-ms-actions-card,.single-news .tik-p1-single-extras,.single-news [data-listing-actions]{display:none!important;}
.single-news .article-body img,.single-news .article-body video,.single-news .article-body iframe,.single-news .article-body embed,.single-news .article-body object{max-width:100%;height:auto;}
.single-news .article-body figure,.single-news .article-body table,.single-news .article-body pre,.single-news .wp-block-embed{max-width:100%;overflow-x:auto;}
.single-news .article-share{display:flex;flex-wrap:wrap;gap:.5rem;max-width:100%;overflow:hidden;}
.single-news .article-share__btn{flex:0 1 auto;min-width:0;white-space:nowrap;}
.single-news .sidebar-news-item{min-width:0;max-width:100%;}
.single-news .sidebar-news-item__title{overflow-wrap:anywhere;line-height:1.25;}
.tik-civic-report-page{background:#f8fafc;overflow-x:hidden;}
.tik-civic-report-form{display:grid;gap:1rem;max-width:880px;margin:0 auto;}
.tik-civic-form-card{background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:22px;padding:clamp(1rem,2.5vw,1.5rem);box-shadow:0 14px 36px rgba(15,23,42,.08);}
.tik-civic-form-card h2,.tik-civic-form-card h3{margin:0 0 .45rem;color:#0f172a;letter-spacing:-.02em;}
.tik-civic-form-card p{margin:.4rem 0;color:#334155;line-height:1.6;}
.tik-civic-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.tik-civic-form-card label{display:block;margin:.5rem 0 .35rem;color:#0f172a;font-weight:800;font-size:.9rem;}
.tik-civic-form-card label span,.tik-civic-help{color:#64748b;font-weight:500;font-size:.84rem;}
.tik-civic-form-card input,.tik-civic-form-card select,.tik-civic-form-card textarea{width:100%;max-width:100%;min-height:44px;border:1px solid rgba(15,23,42,.14);border-radius:12px;padding:.72rem .85rem;background:#fff;color:#0f172a;box-sizing:border-box;}
.tik-civic-form-card textarea{min-height:132px;resize:vertical;}
.tik-civic-span{grid-column:1/-1;}
.tik-civic-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.9rem 0;}
.tik-civic-mode-toggle label{display:flex;align-items:center;gap:.55rem;margin:0;padding:.85rem;border:1px solid rgba(15,23,42,.12);border-radius:14px;background:#f8fafc;}
.tik-civic-mode-toggle input{width:auto;min-height:0;}
.tik-civic-new-fields,.tik-civic-existing-fields{display:grid;gap:.65rem;}
.tik-civic-file-drop{display:grid!important;place-items:center;gap:.25rem;min-height:130px;border:1.5px dashed rgba(15,23,42,.22)!important;border-radius:18px;background:#f8fafc;text-align:center;cursor:pointer;}
.tik-civic-file-drop input{max-width:280px;border:0;padding:.25rem;background:transparent;}
.tik-civic-form-card--trust{background:linear-gradient(135deg,#0f172a,#18233f);color:#fff;}
.tik-civic-form-card--trust h3,.tik-civic-form-card--trust p{color:#fff;}
.tik-civic-location-btn{width:auto;}
@media(max-width:900px){.single-news .article-layout{display:block}.single-news .article-sidebar{margin-top:2rem}.single-news .article-hero-img{width:100%;padding-inline:0}.single-news .article-hero-img img{width:100%;height:auto;max-height:360px;object-fit:cover;object-position:center top}.tik-civic-form-grid,.tik-civic-mode-toggle{grid-template-columns:1fr}}
@media(max-width:768px){body.single-news{padding-bottom:calc(132px + env(safe-area-inset-bottom,0px))!important}.single-news .container,.single-news .container--narrow{width:100%;max-width:100%;padding-left:16px;padding-right:16px}.single-news .article-title{font-size:clamp(2rem,11vw,3rem);line-height:1.02}.single-news .article-lead{font-size:1rem;line-height:1.55}.single-news .article-body{font-size:1rem;line-height:1.72;max-width:100%;overflow:hidden}.single-news .article-body p,.single-news .article-body li{max-width:100%;overflow-wrap:anywhere}.single-news .section:last-of-type,.single-news .article-sidebar,.single-news .grid--3{padding-bottom:calc(132px + env(safe-area-inset-bottom,0px))}.single-news .grid--3{grid-template-columns:1fr!important}.single-news .article-share__btn{min-height:38px;padding:.55rem .75rem;font-size:.82rem}.tik-civic-report-page .container{width:100%;max-width:100%;padding-left:14px;padding-right:14px}.tik-civic-form-card{border-radius:18px;padding:1rem}.tik-civic-report-form{gap:.85rem}.tik-civic-form-card input,.tik-civic-form-card select,.tik-civic-form-card textarea{font-size:16px}.tik-civic-location-btn{width:100%;justify-content:center}}
@media(max-width:414px){.single-news .container,.single-news .container--narrow{padding-left:14px;padding-right:14px}.single-news .article-hero-img img{max-height:280px;aspect-ratio:4/3}.tik-civic-form-card{padding:.9rem}.tik-civic-form-card h2{font-size:1.45rem}.tik-civic-form-card h3{font-size:1.05rem}}
@media(max-width:360px){.single-news .container,.single-news .container--narrow,.tik-civic-report-page .container{padding-left:12px;padding-right:12px}.single-news .article-share__btn{font-size:.78rem;padding:.5rem .62rem}.tik-civic-form-card{border-radius:16px}}


/* INFORMATION ARCHITECTURE PASS - 5.6.0 */
.card--emergency,.card--vendor,.card--weekend-pick{border:1px solid rgba(15,23,42,.10);box-shadow:0 12px 28px rgba(15,23,42,.07)}.card--emergency{border-color:rgba(220,38,38,.22)}.badge--danger{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.card--vendor .card__media,.card--weekend-pick .card__media{aspect-ratio:4/3;overflow:hidden}.card--vendor .card__media img,.card--weekend-pick .card__media img{width:100%;height:100%;object-fit:cover}.tik-submit-dynamic [data-listing-fields]{display:none}.tik-submit-dynamic[data-type="job"] [data-listing-fields="job"],.tik-submit-dynamic[data-type="vendor"] [data-listing-fields="vendor"],.tik-submit-dynamic[data-type="event"] [data-listing-fields="event"],.tik-submit-dynamic[data-type="emergency_contact"] [data-listing-fields="emergency"],.tik-submit-dynamic[data-type="project"] [data-listing-fields="project"],.tik-submit-dynamic[data-type="directory"] [data-listing-fields="directory"]{display:block}.tik-ia-note{padding:.85rem 1rem;border-radius:14px;background:#f8fafc;border:1px solid rgba(15,23,42,.1);color:#334155}.footer-socials{display:flex;flex-wrap:wrap;gap:.75rem}.footer-socials a{color:inherit;text-decoration:none}

/* IA WIRING FIX - 5.6.1 */
.tik-submit-dynamic [data-listing-fields][hidden]{display:none!important}.card--emergency .card__actions,.card--vendor .card__actions{display:flex;flex-wrap:wrap;gap:.5rem}.card--emergency .btn--primary{background:#dc2626;border-color:#dc2626;color:#fff}


/* SECTION IDENTITY + UX SEPARATION - 5.6.2 */
.single-vendor .tik-claim-box,.single-vendor .tik-ms-actions-card,.single-vendor .tik-p1-single-extras,.single-vendor .review-form,.single-vendor .listing-analytics,.single-job .tik-claim-box,.single-job .tik-ms-actions-card,.single-job .tik-p1-single-extras,.single-job .review-form,.single-job .listing-analytics{display:none!important}.tik-storefront-hero{padding:clamp(3rem,7vw,5.5rem) 0;background:linear-gradient(135deg,#0f172a,#172554);color:#fff}.tik-storefront-hero h1{color:#fff;font-size:clamp(2.2rem,6vw,4.5rem);line-height:1}.tik-storefront-hero p{color:rgba(255,255,255,.82);max-width:720px}.tik-storefront-ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.tik-storefront-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.25rem;align-items:start}.tik-storefront-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.tik-storefront-gallery img,.tik-fallback{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;background:linear-gradient(135deg,#713f12,#f59e0b);color:#fff;display:grid;place-items:center;font-weight:900}.tik-fallback--weekend{background:linear-gradient(135deg,#831843,#f97316)}.tik-storefront-panel{padding:1.15rem;border:1px solid rgba(15,23,42,.1);border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.07)}.tik-product-list{display:grid;gap:.7rem}.tik-product-list article{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.85rem;border:1px solid rgba(15,23,42,.1);border-radius:14px}.card--vendor{background:#fffdf7}.card--weekend-pick{background:#fff7ed}.card--vendor .card__media,.card--weekend-pick .card__media{background:transparent}@media(max-width:860px){.tik-storefront-grid{grid-template-columns:1fr}.tik-storefront-gallery{grid-template-columns:1fr}.tik-storefront-ctas .btn{width:100%;justify-content:center}}


/* FINAL PRODUCT POLISH + SUBMISSION EXPANSION - 5.6.3 */
:root{--tik-card-shadow-premium:0 16px 42px rgba(15,23,42,.09);--tik-card-border:rgba(15,23,42,.10)}
.card--vendor,.card--weekend-pick,.card--emergency{border-radius:22px;border:1px solid var(--tik-card-border);box-shadow:var(--tik-card-shadow-premium);overflow:hidden}.card--vendor .card__body,.card--weekend-pick .card__body{gap:.55rem}.card--vendor{background:linear-gradient(180deg,#fffdf7,#fff)}.card--weekend-pick{background:linear-gradient(180deg,#fff7ed,#fff)}.card--emergency{background:linear-gradient(180deg,#fffafa,#fff);border-color:rgba(220,38,38,.18)}
.tik-fallback{position:relative;isolation:isolate;overflow:hidden}.tik-fallback:before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.28),transparent 28%),radial-gradient(circle at 80% 15%,rgba(255,255,255,.18),transparent 24%),linear-gradient(135deg,rgba(255,255,255,.12),transparent);transform:rotate(-8deg)}.tik-fallback:after{content:"THIS IS KUMASI";position:absolute;left:1rem;bottom:.9rem;font-size:.68rem;letter-spacing:.12em;opacity:.72}.tik-fallback--vendor{background:linear-gradient(135deg,#78350f,#f59e0b 70%,#fde68a)}.tik-fallback--job{background:linear-gradient(135deg,#0f172a,#2563eb 75%,#bfdbfe)}.tik-fallback--weekend{background:linear-gradient(135deg,#831843,#f97316 68%,#facc15)}.tik-fallback--emergency{background:linear-gradient(135deg,#7f1d1d,#dc2626 75%,#fecaca)}
.tik-storefront-hero{background:linear-gradient(135deg,#0f172a,#172554 72%,#c9a227 160%)}.tik-storefront-panel{border-radius:22px;box-shadow:var(--tik-card-shadow-premium)}.tik-storefront-sidebar{position:sticky;top:92px}.tik-storefront-ctas .btn{min-height:44px}.tik-product-list article a{font-weight:800;color:#f97316;text-decoration:none}.tik-storefront-panel h2{letter-spacing:-.02em;color:#0f172a}.single-vendor .tik-review,.single-vendor .comments-area,.single-vendor .tik-save-listing,.single-vendor .save-listing,.single-vendor .tik-lead-stats,.single-vendor .tik-claim-box,.single-job .tik-review,.single-job .comments-area,.single-job .tik-save-listing,.single-job .save-listing,.single-job .tik-lead-stats,.single-job .tik-claim-box{display:none!important}
.tik-submit-hub{background:#f8fafc}.tik-submit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.tik-submit-option{display:grid;gap:.5rem;padding:1.15rem;border:1px solid rgba(15,23,42,.1);border-radius:22px;background:#fff;text-decoration:none;color:#0f172a;box-shadow:0 12px 30px rgba(15,23,42,.07)}.tik-submit-option span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#fff7ed;color:#c2410c;font-weight:900}.tik-submit-option strong{font-size:1.08rem}.tik-section-submit-form{max-width:880px;margin:0 auto}.tik-section-submit-form .tik-form__section{border:1px solid rgba(15,23,42,.1);border-radius:22px;padding:1rem;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.06);margin-bottom:1rem}.tik-section-submit-form input,.tik-section-submit-form select,.tik-section-submit-form textarea{width:100%}
@media(max-width:900px){.tik-submit-grid{grid-template-columns:1fr 1fr}.tik-storefront-sidebar{position:static}}@media(max-width:640px){.tik-submit-grid{grid-template-columns:1fr}.tik-storefront-hero{padding:2.7rem 0}.tik-storefront-hero h1{font-size:clamp(2rem,12vw,3rem)}.tik-product-list article{display:grid}.card--vendor .card__actions,.card--emergency .card__actions{display:grid;grid-template-columns:1fr}.tik-storefront-ctas{display:grid}.tik-storefront-gallery{grid-template-columns:1fr}}

/* SUBMIT ENTRYPOINT CTA PATCH - 5.6.4 */
.tik-archive-submit-cta{margin-top:1rem}.header-submit-link,.mobile-submit-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.55rem .9rem;border-radius:999px;background:#f97316;color:#fff!important;font-weight:850;text-decoration:none}.mobile-submit-link{display:none}@media(max-width:860px){.header-submit-link{display:none}.mobile-submit-link{display:flex;position:fixed;right:14px;bottom:calc(86px + env(safe-area-inset-bottom,0px));z-index:420;box-shadow:0 12px 32px rgba(15,23,42,.22)}}


/* MOBILE FLOATING UI COLLISION + INFORMATION DENSITY FIX - 5.6.5 */
@media(max-width:768px){
  :root{--tik-mobile-dock-h:74px;--tik-mobile-gap:12px;--tik-safe-bottom:env(safe-area-inset-bottom,0px);--tik-float-right:14px;}
  body{padding-bottom:calc(var(--tik-mobile-dock-h) + 34px + var(--tik-safe-bottom))!important;}
  .tik-mobile-dock{z-index:430!important;left:10px!important;right:10px!important;bottom:max(8px,var(--tik-safe-bottom))!important;min-height:58px!important;padding:5px 6px calc(5px + var(--tik-safe-bottom))!important;border-radius:20px!important;}
  .tik-mobile-dock__item{min-height:40px!important;gap:1px!important;}
  .tik-mobile-dock__item span{font-size:9px!important;}
  .tik-mobile-dock__item strong{font-size:11px!important;}
  .tik-bm-toggle{right:var(--tik-float-right)!important;bottom:calc(var(--tik-mobile-dock-h) + var(--tik-mobile-gap) + var(--tik-safe-bottom))!important;width:46px!important;height:46px!important;z-index:445!important;box-shadow:0 10px 26px rgba(15,23,42,.22)!important;}
  .tik-wa-float{right:var(--tik-float-right)!important;bottom:calc(var(--tik-mobile-dock-h) + 64px + var(--tik-mobile-gap) + var(--tik-safe-bottom))!important;width:46px!important;height:46px!important;max-width:46px!important;padding:0!important;border-radius:999px!important;display:grid!important;place-items:center!important;z-index:440!important;box-shadow:0 10px 26px rgba(15,23,42,.22)!important;}
  .tik-wa-float span{display:none!important;}
  .mobile-submit-link{left:14px!important;right:auto!important;bottom:calc(var(--tik-mobile-dock-h) + var(--tik-mobile-gap) + var(--tik-safe-bottom))!important;z-index:438!important;min-height:42px!important;padding:.55rem .8rem!important;}
  .tik-ms-actions-card{padding:.85rem!important;margin-bottom:calc(var(--tik-mobile-dock-h) + var(--tik-safe-bottom))!important;}
  .tik-ms-info-list{gap:0!important;margin:0!important;}
  .tik-ms-info-list li{padding:.62rem 0!important;gap:.65rem!important;min-height:0!important;align-items:flex-start!important;}
  .tik-ms-info-list span{font-size:.78rem!important;line-height:1.25!important;color:#64748b!important;}
  .tik-ms-info-list strong{font-size:.86rem!important;line-height:1.28!important;text-align:right!important;max-width:58%!important;}
  .tik-ms-sidebar .card,.tik-ms-actions-card,.tik-storefront-panel{padding:.95rem!important;border-radius:16px!important;}
  .tik-ms-sidebar h2,.tik-storefront-panel h2{font-size:1rem!important;line-height:1.18!important;margin-bottom:.65rem!important;}
  .tik-ms-meta,.tik-ms-badges,.tik-ms-actions{gap:.45rem!important;margin-bottom:.7rem!important;}
  .tik-info-views,.tik-p1-views,.tik-view-count,.tik-views,.view-count,[data-metric="views"]{display:none!important;}
  .tik-p1-single-extras .tik-p1-stat:first-child{display:none!important;}
  .single-vendor .tik-storefront-grid{gap:.9rem!important;}
  .single-vendor .section,.single-job .section{padding-top:2rem!important;padding-bottom:calc(2rem + var(--tik-mobile-dock-h) + var(--tik-safe-bottom))!important;}
}
@media(max-width:380px){.tik-bm-toggle,.tik-wa-float{width:44px!important;height:44px!important;right:12px!important}.mobile-submit-link{font-size:.8rem!important;left:12px!important}.tik-ms-info-list strong{max-width:55%!important;font-size:.82rem!important}.tik-ms-info-list span{font-size:.75rem!important}}

/* FINAL SUBMISSION DISCOVERY PASS - 5.6.6 */
.tik-submit-hub{background:linear-gradient(180deg,#f8fafc,#fff)}.tik-submit-hub h1{font-size:clamp(2.4rem,6vw,4.6rem);letter-spacing:-.035em;line-height:.98}.tik-submit-grid{margin-top:1.5rem}.tik-submit-option{position:relative;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.tik-submit-option:before{content:"";position:absolute;inset:auto -20% -35% 45%;height:120px;background:radial-gradient(circle,rgba(249,115,22,.16),transparent 62%);pointer-events:none}.tik-submit-option:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(15,23,42,.12);border-color:rgba(249,115,22,.28)}.tik-submit-option small{color:#64748b;line-height:1.45}.tik-submit-option:after{content:"Start";display:inline-flex;width:max-content;margin-top:.35rem;padding:.5rem .75rem;border-radius:999px;background:#0f172a;color:#fff;font-weight:850;font-size:.82rem}.tik-submit-option[href*="marketplace"] span{background:#fff7ed;color:#c2410c}.tik-submit-option[href*="job"] span{background:#eff6ff;color:#1d4ed8}.tik-submit-option[href*="emergency"] span{background:#fef2f2;color:#b91c1c}.tik-submit-option[href*="event"] span{background:#fdf2f8;color:#be185d}.tik-submit-option[href*="project"] span{background:#ecfdf5;color:#047857}.tik-archive-submit-prompt{margin:.55rem 0 0}.tik-archive-submit-prompt a{color:#f97316;font-weight:800;text-decoration:none}.header-submit-link{background:#f97316!important}.mobile-submit-link{background:#f97316!important}@media(max-width:640px){.tik-submit-hub h1{font-size:2.35rem}.tik-submit-grid{gap:.85rem}.tik-submit-option{border-radius:18px;padding:1rem}}


/* Mobile menu state hardening: prevent stale overlays after navigation. */
body:not(.mobile-menu-open) .mobile-nav[aria-hidden="true"] {
  max-height: 0;
  pointer-events: none;
  visibility: hidden;
}
.mobile-menu-open .mobile-bottom-nav,
.mobile-menu-open .tik-floating-whatsapp,
.mobile-menu-open .tik-save-fab,
.mobile-menu-open .save-listing-fab {
  pointer-events: none;
}


/* Mobile launch UX fixes: hero spacing, menu scroll safety, empty search feedback. */
.search-bar--empty {
  border-color: rgba(249,115,22,.65);
  box-shadow: 0 0 0 3px rgba(249,115,22,.14);
}
.search-bar__notice {
  flex-basis: 100%;
  margin: -4px var(--s4) var(--s3);
  color: #9a3412;
  font-size: var(--t13);
  font-weight: 700;
}
html.mobile-menu-open,
body.mobile-menu-open {
  overscroll-behavior: none;
}
body.mobile-menu-open .site-header {
  transform: none !important;
}
body.mobile-menu-open .mobile-nav {
  box-shadow: 0 22px 50px rgba(2,6,23,.35);
}
@media (max-width: 768px) {
  body.home .site-header + .mobile-nav + main,
  body.home main,
  body.home .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  body.home .hero {
    margin-top: 0 !important;
    min-height: auto;
  }
  body.home .hero__grid {
    padding-top: var(--s7);
  }
  .mobile-nav.open {
    max-height: calc(100dvh - 56px);
  }
  .mobile-nav__inner {
    padding-left: var(--s4);
    padding-right: var(--s4);
    padding-bottom: calc(132px + env(safe-area-inset-bottom));
  }
  main,
  .site-main,
  .archive-wrap,
  .search-page,
  .error-404,
  .tik-single-listing,
  .page-template,
  .submit-page,
  .entry-content {
    scroll-margin-bottom: calc(112px + env(safe-area-inset-bottom));
  }
}

/* Design system Phase 1 final cascade guard. */
:root {
  --color-cta-primary: #C2410C;
  --color-cta-primary-hover: #9A3412;
  --color-cta-primary-shadow: rgba(194,65,12,.28);
  --orange: var(--color-cta-primary);
  --orange-h: var(--color-cta-primary-hover);
  --sh-orange: var(--shadow-cta);
  --tik-job-action: var(--color-cta-primary);
  --tik-job-action-hover: var(--color-cta-primary-hover);
  --tik-job-action-shadow: var(--color-cta-primary-shadow);
  --tik-mobile-dock-h: 74px;
  --tik-mobile-gap: 12px;
  --tik-safe-bottom: env(safe-area-inset-bottom, 0px);
  --tik-mobile-clearance: calc(var(--tik-mobile-dock-h) + 34px + var(--tik-safe-bottom));
  --tik-mobile-dock-clearance: var(--tik-mobile-clearance);
  --tik-final-dock-clearance: var(--tik-mobile-clearance);
}

.btn--primary,
.search-bar__btn,
.header-submit-link,
.mobile-submit-link,
.tik-btn--primary,
.wp-block-button__link,
input[type="submit"],
button[type="submit"] {
  background: var(--color-cta-primary) !important;
  border-color: var(--color-cta-primary) !important;
  color: #fff !important;
}

.btn--primary:hover,
.search-bar__btn:hover,
.header-submit-link:hover,
.mobile-submit-link:hover,
.tik-btn--primary:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background: var(--color-cta-primary-hover) !important;
  border-color: var(--color-cta-primary-hover) !important;
  color: #fff !important;
  box-shadow: var(--shadow-cta);
}

.card--emergency .btn--primary {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #fff !important;
}

:focus-visible,
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex="0"]:focus-visible,
.btn:focus-visible,
.button:focus-visible,
.wp-block-button__link:focus-visible,
.filter-tab:focus-visible,
.card__save:focus-visible,
.tik-job-filter__submit:focus-visible,
.tik-job-filter-toggle:focus-visible,
.tik-job-card__apply:focus-visible,
.tik-job-card__details:focus-visible,
.tik-job-sticky-apply:focus-visible {
  outline: 3px solid var(--focus-ring-color) !important;
  outline-offset: 3px;
  box-shadow: var(--focus-ring);
}

.btn--primary:focus-visible,
.search-bar__btn:focus-visible,
.header-submit-link:focus-visible,
.mobile-submit-link:focus-visible,
.tik-btn--primary:focus-visible,
.tik-job-sticky-apply:focus-visible,
input[type="submit"]:focus-visible,
button[type="submit"]:focus-visible {
  box-shadow: var(--focus-ring-strong), var(--shadow-cta) !important;
}

@media (max-width: 768px) {
  :root {
    --tik-mobile-dock-h: 74px;
    --tik-mobile-gap: 12px;
    --tik-safe-bottom: env(safe-area-inset-bottom, 0px);
    --tik-mobile-clearance: calc(var(--tik-mobile-dock-h) + 34px + var(--tik-safe-bottom));
    --tik-mobile-dock-clearance: var(--tik-mobile-clearance);
    --tik-final-dock-clearance: var(--tik-mobile-clearance);
  }
  body {
    padding-bottom: var(--tik-mobile-clearance) !important;
  }
  .site,
  .site-main,
  main,
  #primary,
  .content-area,
  .archive-section:last-child,
  .tik-job-board-section,
  .single-job .tik-job-detail,
  .single-job .section:last-of-type,
  .entry-footer {
    padding-bottom: var(--tik-mobile-clearance) !important;
  }
  .tik-mobile-dock {
    bottom: max(8px, var(--tik-safe-bottom)) !important;
  }
  .tik-bm-toggle,
  .mobile-submit-link,
  .tik-job-sticky-apply {
    bottom: calc(var(--tik-mobile-dock-h) + var(--tik-mobile-gap) + var(--tik-safe-bottom)) !important;
  }
  .tik-wa-float {
    bottom: calc(var(--tik-mobile-dock-h) + 64px + var(--tik-mobile-gap) + var(--tik-safe-bottom)) !important;
  }
  .single-job .tik-job-detail {
    padding-bottom: calc(var(--tik-mobile-clearance) + 72px) !important;
  }
  .single-job .site-footer {
    padding-bottom: calc(var(--tik-mobile-clearance) + 40px) !important;
  }
}

@media (max-width: 360px) {
  :root {
    --tik-mobile-dock-h: 78px;
    --tik-mobile-clearance: calc(var(--tik-mobile-dock-h) + 34px + var(--tik-safe-bottom));
    --tik-mobile-dock-clearance: var(--tik-mobile-clearance);
    --tik-final-dock-clearance: var(--tik-mobile-clearance);
  }
}

/* ============================================================
   DESIGN SYSTEM PHASE 2 - BUTTONS, BADGES, PILLS, CHIPS
   Compatibility aliases only; layouts and behavior are unchanged.
   ============================================================ */
:root {
  --button-min-h: 44px;
  --button-min-h-sm: 40px;
  --button-min-h-lg: 52px;
  --button-pad-x: 1rem;
  --button-pad-y: .68rem;
  --button-radius: var(--radius-control);
  --button-font-size: var(--t14);
  --button-font-weight: 850;
  --button-transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
  --button-secondary-bg: var(--color-brand-navy);
  --button-secondary-hover: var(--color-brand-navy-mid);
  --button-danger-bg: #B91C1C;
  --button-danger-hover: #991B1B;
  --badge-radius: var(--radius-pill);
  --badge-pad-x: .7rem;
  --badge-pad-y: .32rem;
  --badge-font-size: .74rem;
  --badge-font-weight: 850;
  --badge-letter-spacing: .035em;
  --chip-radius: var(--radius-pill);
  --chip-min-h: 40px;
  --chip-pad-x: .95rem;
  --chip-gap: .45rem;
  --chip-border: rgba(15,23,42,.12);
  --chip-bg: #fff;
  --chip-color: var(--color-brand-navy);
  --chip-active-bg: var(--color-brand-navy);
  --chip-active-color: #fff;
}

.btn,
.button,
.wp-block-button__link,
a.btn,
button.btn,
input[type="submit"],
button[type="submit"],
.search-bar__btn,
.header-submit-link,
.mobile-submit-link,
.tik-btn,
.tik-btn--primary,
.tik-btn--apply,
.tik-p3-btn--ghost,
.card__actions a,
.card__actions .btn,
.tik-card__footer a,
.tik-ms-actions-card .btn,
.card--feature .card__actions--feature .btn,
.tik-job-card__apply,
.tik-job-card__details,
.tik-job-sticky-apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: var(--button-min-h);
  max-width: 100%;
  padding: var(--button-pad-y) var(--button-pad-x);
  border: 1px solid transparent;
  border-radius: var(--button-radius);
  font-family: var(--font-ui);
  font-size: var(--button-font-size);
  font-weight: var(--button-font-weight);
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  touch-action: manipulation;
  cursor: pointer;
  transition: var(--button-transition);
}

.btn--primary,
.search-bar__btn,
.header-submit-link,
.mobile-submit-link,
.tik-btn--primary,
.tik-btn--apply,
.tik-job-card__apply,
.tik-job-sticky-apply,
input[type="submit"],
button[type="submit"] {
  background: var(--color-cta-primary) !important;
  border-color: var(--color-cta-primary) !important;
  color: #fff !important;
}

.btn--primary:hover,
.search-bar__btn:hover,
.header-submit-link:hover,
.mobile-submit-link:hover,
.tik-btn--primary:hover,
.tik-btn--apply:hover,
.tik-job-card__apply:hover,
.tik-job-sticky-apply:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background: var(--color-cta-primary-hover) !important;
  border-color: var(--color-cta-primary-hover) !important;
  color: #fff !important;
  box-shadow: var(--shadow-cta);
  transform: translateY(-1px);
}

.btn--secondary,
.btn--navy {
  background: var(--button-secondary-bg);
  border-color: var(--button-secondary-bg);
  color: #fff;
}

.btn--secondary:hover,
.btn--navy:hover {
  background: var(--button-secondary-hover);
  border-color: var(--button-secondary-hover);
  color: #fff;
  transform: translateY(-1px);
}

.btn--gold {
  background: var(--color-brand-gold);
  border-color: var(--color-brand-gold);
  color: var(--color-brand-navy);
}

.btn--gold:hover {
  background: var(--color-brand-gold-bright);
  border-color: var(--color-brand-gold-bright);
  color: var(--color-brand-navy);
  box-shadow: var(--sh-gold);
  transform: translateY(-1px);
}

.btn--outline,
.btn--outline-gold,
.btn--outline-white,
.tik-job-card__details {
  background: #fff !important;
  border-color: rgba(15,23,42,.16) !important;
  color: var(--color-brand-navy) !important;
}

.btn--outline:hover,
.btn--outline-gold:hover,
.tik-job-card__details:hover {
  background: #fffbeb !important;
  border-color: rgba(201,162,39,.55) !important;
  color: var(--color-brand-navy) !important;
}

.section--dark .btn--outline,
.section--dark .btn--outline-white,
.tik-weekend-band .btn--outline,
.tik-weekend-band .btn--outline-white,
.tik-area-panel .btn--outline,
.tik-area-panel .btn--outline-white,
.tik-ashanti-copy .btn--outline,
.tik-ashanti-copy .btn--outline-white,
.tik-project-monetize-card .btn--outline,
.archive-hero .btn--outline,
.article-hero .btn--outline,
.page-hero .btn--outline,
.cta-section .btn--outline,
.cta-section .btn--outline-white {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #fff !important;
}

.section--dark .btn--outline:hover,
.section--dark .btn--outline-white:hover,
.tik-weekend-band .btn--outline:hover,
.tik-weekend-band .btn--outline-white:hover,
.tik-area-panel .btn--outline:hover,
.tik-area-panel .btn--outline-white:hover,
.tik-ashanti-copy .btn--outline:hover,
.tik-ashanti-copy .btn--outline-white:hover,
.tik-project-monetize-card .btn--outline:hover,
.archive-hero .btn--outline:hover,
.article-hero .btn--outline:hover,
.page-hero .btn--outline:hover,
.cta-section .btn--outline:hover,
.cta-section .btn--outline-white:hover {
  background: rgba(255,255,255,.15) !important;
  border-color: rgba(255,255,255,.42) !important;
  color: #fff !important;
}

.btn--ghost,
.tik-p3-btn--ghost {
  background: transparent;
  border-color: transparent;
  color: var(--color-brand-navy);
}

.btn--ghost:hover,
.tik-p3-btn--ghost:hover {
  background: var(--color-neutral-100);
  color: var(--color-brand-navy);
}

.btn--danger,
.card--emergency .btn--primary {
  background: var(--button-danger-bg) !important;
  border-color: var(--button-danger-bg) !important;
  color: #fff !important;
}

.btn--danger:hover,
.card--emergency .btn--primary:hover {
  background: var(--button-danger-hover) !important;
  border-color: var(--button-danger-hover) !important;
  color: #fff !important;
}

.btn--sm,
.tik-p3-btn--sm {
  min-height: var(--button-min-h-sm);
  padding: .52rem .82rem;
  font-size: var(--t13);
}

.btn--lg {
  min-height: var(--button-min-h-lg);
  padding: .8rem 1.35rem;
  font-size: var(--t16);
}

.btn--icon {
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
  border-radius: var(--button-radius);
}

.btn--full {
  width: 100%;
}

.badge,
.tik-badge,
.tik-plan-badge,
.tik-status-badge,
.card__img-badge,
.tik-job-detail-badges span,
.tik-job-detail-badge--featured {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-height: 1.6rem;
  max-width: 100%;
  padding: var(--badge-pad-y) var(--badge-pad-x);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: var(--badge-radius);
  font-size: var(--badge-font-size);
  font-weight: var(--badge-font-weight);
  letter-spacing: var(--badge-letter-spacing);
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  text-decoration: none;
}

.badge--category,
.badge--meta,
.badge--outline,
.tik-badge--category,
.card__media > .badge,
.card__media .card__img-badge,
.tik-card__image > .tik-badge {
  background: rgba(15,23,42,.045) !important;
  border-color: rgba(15,23,42,.10) !important;
  color: var(--color-neutral-700) !important;
}

.badge--featured,
.badge--gold,
.tik-plan-badge--featured,
.tik-job-detail-badge--featured {
  background: linear-gradient(180deg,#fff7d6,#fef3c7) !important;
  border-color: rgba(201,162,39,.55) !important;
  color: #765A08 !important;
}

.badge--premium,
.badge--sponsored,
.badge--price-premium,
.tik-plan-badge--sponsored,
.card--sponsored .badge {
  background: var(--color-brand-navy) !important;
  border-color: var(--color-brand-navy) !important;
  color: var(--color-brand-gold) !important;
}

.badge--verified,
.tik-plan-badge--verified {
  background: #ecfdf5 !important;
  border-color: #bbf7d0 !important;
  color: #047857 !important;
}

.badge--status-open,
.badge--active,
.badge--success,
.badge--publish,
.tik-status-badge--publish {
  background: #dcfce7 !important;
  border-color: #bbf7d0 !important;
  color: #166534 !important;
}

.badge--status-closed,
.badge--completed,
.tik-status-badge--draft {
  background: var(--color-neutral-100) !important;
  border-color: var(--color-neutral-200) !important;
  color: var(--color-brand-navy) !important;
}

.badge--status-urgent,
.badge--alert,
.badge--danger,
.badge--error,
.badge--abandoned {
  background: #fef2f2 !important;
  border-color: #fecaca !important;
  color: #b91c1c !important;
}

.badge--paused,
.badge--delayed,
.tik-status-badge--pending {
  background: #fff7ed !important;
  border-color: #fed7aa !important;
  color: #c2410c !important;
}

.badge--navy {
  background: var(--color-brand-navy) !important;
  border-color: var(--color-brand-navy) !important;
  color: #fff !important;
}

.badge--orange {
  background: var(--color-cta-primary) !important;
  border-color: var(--color-cta-primary) !important;
  color: #fff !important;
}

.badge--white {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: #fff !important;
}

.filter-tab,
.tik-cat-chip,
.category-pill,
.tik-pill,
.archive-tab,
.tik-view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--chip-gap);
  min-height: var(--chip-min-h);
  max-width: 100%;
  padding: .56rem var(--chip-pad-x);
  border: 1px solid var(--chip-border);
  border-radius: var(--chip-radius);
  background: var(--chip-bg);
  color: var(--chip-color);
  font-size: var(--t14);
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.filter-tab:hover,
.tik-cat-chip:hover,
.category-pill:hover,
.tik-pill:hover,
.archive-tab:hover,
.tik-view-btn:hover {
  border-color: rgba(201,162,39,.45);
  background: #fffbeb;
  color: var(--color-brand-navy);
}

.filter-tab.active,
.filter-tab.is-active,
.tik-cat-chip--active,
.tik-cat-chip.is-active,
.category-pill.active,
.category-pill.is-active,
.tik-pill.active,
.tik-pill.is-active,
.archive-tab.active,
.archive-tab.is-active,
.tik-view-btn--active,
.tik-view-btn.is-active {
  background: var(--chip-active-bg) !important;
  border-color: var(--chip-active-bg) !important;
  color: var(--chip-active-color) !important;
}

.filter-tab:focus-visible,
.tik-cat-chip:focus-visible,
.category-pill:focus-visible,
.tik-pill:focus-visible,
.archive-tab:focus-visible,
.tik-view-btn:focus-visible,
.btn:focus-visible,
.button:focus-visible,
.wp-block-button__link:focus-visible,
.tik-job-card__apply:focus-visible,
.tik-job-card__details:focus-visible,
.tik-job-sticky-apply:focus-visible {
  outline: 3px solid var(--focus-ring-color) !important;
  outline-offset: 3px;
  box-shadow: var(--focus-ring);
}

.archive-filter,
.archive-filter--project-status,
.tik-cat-chips-wrap,
.filter-tabs,
.tik-filter-tabs,
.category-filter,
.category-filters,
.archive-tabs {
  max-width: 100%;
  overflow: hidden;
}

.archive-filter .container,
.archive-filter--project-status .container,
.tik-cat-chips,
.tik-cat-chips__track,
.tik-filter-tabs,
.filter-tabs,
.category-filter,
.category-filters,
.archive-tabs {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}

.archive-filter .container::-webkit-scrollbar,
.archive-filter--project-status .container::-webkit-scrollbar,
.tik-cat-chips::-webkit-scrollbar,
.tik-cat-chips__track::-webkit-scrollbar,
.tik-filter-tabs::-webkit-scrollbar,
.filter-tabs::-webkit-scrollbar,
.category-filter::-webkit-scrollbar,
.category-filters::-webkit-scrollbar,
.archive-tabs::-webkit-scrollbar {
  display: none;
}

@media (max-width: 768px) {
  .filter-tab,
  .tik-cat-chip,
  .category-pill,
  .tik-pill,
  .archive-tab,
  .tik-view-btn {
    flex: 0 0 auto;
    width: auto;
    max-width: calc(100vw - 32px);
    min-height: 40px;
    padding-inline: .86rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .card__actions a,
  .card__actions .btn,
  .tik-card__footer a,
  .tik-job-card__actions .btn,
  .tik-job-card__details {
    min-height: 44px !important;
  }
}

@media (hover: none), (pointer: coarse) {
  .btn:hover,
  .button:hover,
  .wp-block-button__link:hover,
  .filter-tab:hover,
  .tik-cat-chip:hover,
  .category-pill:hover,
  .tik-pill:hover {
    transform: none !important;
  }
}

/* ============================================================
   DESIGN SYSTEM PHASE 3 - FORMS, HEADERS, ARCHIVE ALIGNMENT
   CSS aliases only; form names, nonces, routes and queries remain intact.
   ============================================================ */
:root {
  --form-section-radius: var(--radius-premium);
  --form-control-radius: var(--radius-control);
  --form-control-min-h: 46px;
  --form-control-border: rgba(15,23,42,.14);
  --form-control-border-hover: rgba(15,23,42,.24);
  --form-control-bg: #fff;
  --form-label-color: var(--color-brand-navy);
  --form-help-color: var(--color-neutral-500);
  --form-section-shadow: 0 12px 30px rgba(15,23,42,.06);
  --section-header-gap: clamp(1rem, 2.2vw, 1.45rem);
  --archive-hero-pad-y: clamp(2.75rem, 5vw, 4.4rem);
  --archive-toolbar-radius: var(--radius-premium);
}

.tik-form,
.contact-form,
.tik-civic-report-form,
.tik-project-update-form,
.tik-review-form,
.review-form,
.comment-form,
.search-form,
.newsletter-form,
.tik-payment-box,
.tik-submit-dynamic,
.tik-section-submit-form {
  max-width: 100%;
}

.tik-form-section,
.tik-form__section,
.tik-payment-box,
.tik-civic-form-card,
.contact-form-card,
.comment-respond,
.tik-review-form,
.review-form,
.tik-project-update-form,
.tik-job-filter,
.search-bar,
.tik-advanced-search {
  max-width: 100%;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: var(--form-section-radius);
  background: #fff;
  box-shadow: var(--form-section-shadow);
}

.tik-form__section,
.tik-form-section,
.tik-payment-box,
.tik-civic-form-card,
.comment-respond,
.tik-review-form,
.review-form,
.tik-project-update-form {
  padding: clamp(1rem, 2.5vw, 1.35rem);
}

.tik-form-row,
.tik-form__grid,
.contact-form-grid,
.tik-civic-form-grid,
.tik-project-watch-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(.85rem, 2vw, 1rem);
  min-width: 0;
}

.tik-form-field,
.tik-form__field,
.contact-form-field,
.tik-filter-group {
  display: grid;
  gap: .42rem;
  min-width: 0;
}

.tik-form__col-full,
.tik-civic-span {
  grid-column: 1 / -1;
}

.tik-form-label,
.tik-form__label,
.contact-form-label,
.tik-civic-form-card label,
.tik-filter-group__label,
.tik-job-filter__label {
  display: block;
  margin: 0;
  color: var(--form-label-color);
  font-size: .9rem;
  font-weight: 850;
  line-height: 1.25;
}

.tik-form-required,
.tik-form__label span,
.tik-section-submit-form .tik-form__label span,
.contact-form-label span {
  color: var(--color-cta-primary);
  font-weight: 900;
}

.tik-form-help,
.tik-form__help,
.tik-form__hint,
.tik-civic-help,
.contact-form-help,
.tik-submit-hub__desc,
.search-bar__notice {
  max-width: 720px;
  margin: 0;
  color: var(--form-help-color);
  font-size: .84rem;
  line-height: 1.5;
}

.tik-submit-hub__desc {
  margin-top: .45rem;
  font-size: 1rem;
}

.tik-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.tik-form select,
.tik-form textarea,
.tik-form__input,
.tik-form__select,
.tik-form__textarea,
.contact-form-input,
.contact-form-textarea,
.search-bar__input,
.search-bar__select,
.tik-filter-group__select,
.tik-job-filter input,
.tik-job-filter select,
.tik-civic-form-card input,
.tik-civic-form-card select,
.tik-civic-form-card textarea,
.comment-respond input,
.comment-respond textarea,
.comment-respond select,
.review-form input,
.review-form textarea,
.review-form select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: var(--form-control-min-h);
  padding: .72rem .85rem;
  border: 1px solid var(--form-control-border);
  border-radius: var(--form-control-radius);
  background: var(--form-control-bg);
  color: var(--color-brand-navy);
  font: inherit;
  font-size: 1rem;
  line-height: 1.35;
  box-sizing: border-box;
  box-shadow: inset 0 1px 0 rgba(15,23,42,.03);
}

.tik-form textarea,
.tik-form__textarea,
.contact-form-textarea,
.tik-civic-form-card textarea,
.comment-respond textarea,
.review-form textarea {
  min-height: 126px;
  resize: vertical;
}

.tik-form input:hover,
.tik-form select:hover,
.tik-form textarea:hover,
.contact-form-input:hover,
.contact-form-textarea:hover,
.search-bar__input:hover,
.search-bar__select:hover,
.tik-job-filter input:hover,
.tik-job-filter select:hover {
  border-color: var(--form-control-border-hover);
}

.tik-form input:focus-visible,
.tik-form select:focus-visible,
.tik-form textarea:focus-visible,
.tik-form__input:focus-visible,
.tik-form__select:focus-visible,
.tik-form__textarea:focus-visible,
.contact-form-input:focus-visible,
.contact-form-textarea:focus-visible,
.search-bar__input:focus-visible,
.search-bar__select:focus-visible,
.tik-job-filter input:focus-visible,
.tik-job-filter select:focus-visible,
.tik-civic-form-card input:focus-visible,
.tik-civic-form-card select:focus-visible,
.tik-civic-form-card textarea:focus-visible {
  border-color: var(--focus-ring-color) !important;
  outline: 3px solid rgba(201,162,39,.24) !important;
  outline-offset: 2px;
  box-shadow: var(--focus-ring);
}

.tik-form-error,
.tik-form-notice--error,
.search-bar--empty,
.tik-form__field.is-invalid input,
.tik-form__field.is-invalid select,
.tik-form__field.is-invalid textarea {
  border-color: #fecaca !important;
  background: #fffafa;
  color: #991b1b;
}

.tik-form-success,
.tik-form-notice--success {
  border-color: #bbf7d0 !important;
  background: #ecfdf5;
  color: #166534;
}

.tik-form-notice,
.tik-form-error,
.tik-form-success {
  max-width: 100%;
  margin: 0 0 1rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: var(--radius-card);
  line-height: 1.55;
}

.tik-form-actions,
.tik-form__actions,
.tik-form__submit,
.tik-section-submit-form > .btn,
.tik-submit-dynamic > .btn,
.contact-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: 1rem;
}

.tik-section-submit-form > .btn,
.tik-submit-dynamic > .btn {
  width: auto;
}

.tik-section-submit-form,
.tik-submit-dynamic {
  display: grid;
  gap: 1rem;
}

.tik-section-submit-form .tik-form__section,
.tik-submit-dynamic .tik-form__section {
  margin-bottom: 0;
}

.tik-form__section h3,
.tik-form__section-title,
.tik-form-section h3,
.tik-payment-box h3 {
  margin: 0 0 .85rem;
  color: var(--color-brand-navy);
  font-size: clamp(1.05rem, 1.7vw, 1.22rem);
  line-height: 1.2;
  letter-spacing: 0;
}

.tik-form__intro,
.tik-section-submit-form .tik-form__review,
.tik-ia-note {
  border: 1px solid rgba(201,162,39,.22);
  border-radius: var(--radius-card);
  background: #fffbeb;
  color: #475569;
}

.tik-form__intro {
  padding: 1rem 1.1rem;
}

.tik-form__review {
  padding: 1rem 1.1rem;
}

.sec-header,
.section-header,
.tik-section-header,
.premium-section-head,
.tik-results__header,
.tik-job-results-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--section-header-gap);
  max-width: 100%;
  margin-bottom: var(--section-header-gap);
}

.sec-header__left,
.section-header > div,
.tik-section-header__content,
.premium-section-head__content {
  min-width: 0;
}

.eyebrow,
.sec-header__label,
.section-header .eyebrow,
.tik-section-header__eyebrow,
.premium-section-head__eyebrow,
.archive-hero__label,
.page-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: 0 0 .45rem;
  color: var(--color-brand-gold);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.sec-header__title,
.section-header h2,
.tik-section-header h2,
.tik-section-header__title,
.premium-section-head h2,
.premium-section-head__title {
  margin: 0;
  color: var(--color-brand-navy);
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.sec-header__sub,
.section-header p,
.tik-section-header p,
.tik-section-header__desc,
.premium-section-head p,
.premium-section-head__desc {
  max-width: 680px;
  margin: .45rem 0 0;
  color: var(--color-neutral-500);
  font-size: clamp(.95rem, 1.4vw, 1rem);
  line-height: 1.6;
}

.section--dark .sec-header__title,
.section--dark .section-header h2,
.section--dark .tik-section-header h2,
.section--dark .premium-section-head h2 {
  color: #fff;
}

.section--dark .sec-header__sub,
.section--dark .section-header p,
.section--dark .tik-section-header p,
.section--dark .premium-section-head p {
  color: rgba(255,255,255,.68);
}

.archive-hero,
.page-hero,
.search-page-hero,
.tik-archive-hero {
  padding-block: var(--archive-hero-pad-y);
}

.archive-hero h1,
.page-hero__title,
.search-page-hero h1,
.tik-archive-hero h1 {
  max-width: 900px;
  margin: 0;
  line-height: 1.06;
  letter-spacing: 0;
}

.archive-hero p,
.page-hero__sub,
.search-page-hero p,
.tik-archive-hero p {
  max-width: 760px;
  margin-top: .75rem;
  line-height: 1.65;
}

.archive-hero .search-bar,
.tik-advanced-search,
.archive-filter,
.tik-filters,
.tik-job-filter {
  max-width: 100%;
}

.search-bar,
.tik-advanced-search,
.tik-job-filter {
  gap: .75rem;
  padding: .75rem;
  border-radius: var(--archive-toolbar-radius);
}

.tik-results__header,
.tik-job-results-head,
.archive-results-head,
.search-results-head {
  padding: .25rem 0;
}

.tik-results__count,
.tik-job-results-head p,
.archive-results-count,
.search-results-count {
  margin: 0;
  color: var(--color-neutral-700);
  font-weight: 800;
}

.empty-state,
.tik-empty-state,
.archive__empty,
.tik-job-empty {
  max-width: 760px;
  margin: 1.5rem auto;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: var(--radius-premium);
  background: #fff;
  color: var(--color-neutral-700);
  text-align: center;
  box-shadow: var(--shadow-card);
}

.empty-state p,
.tik-empty-state p,
.archive__empty p,
.tik-job-empty p {
  margin: .35rem 0;
}

@media (max-width: 860px) {
  .sec-header,
  .section-header,
  .tik-section-header,
  .premium-section-head,
  .tik-results__header,
  .tik-job-results-head {
    display: grid;
    align-items: start;
    gap: .75rem;
  }
  .tik-form-row,
  .tik-form__grid,
  .contact-form-grid,
  .tik-civic-form-grid,
  .tik-project-watch-filter-grid {
    grid-template-columns: 1fr;
  }
  .tik-form-actions,
  .tik-form__actions,
  .tik-form__submit,
  .contact-form-actions {
    display: grid;
  }
  .tik-section-submit-form > .btn,
  .tik-submit-dynamic > .btn,
  .tik-form-actions .btn,
  .tik-form__actions .btn,
  .contact-form-actions .btn {
    width: 100%;
  }
  .archive-hero,
  .page-hero,
  .search-page-hero,
  .tik-archive-hero {
    padding-block: clamp(2.15rem, 8vw, 3rem);
  }
  .search-bar,
  .tik-advanced-search,
  .tik-job-filter {
    grid-template-columns: 1fr !important;
    align-items: stretch;
    border-radius: var(--radius-card);
  }
}

@media (max-width: 380px) {
  .tik-form__section,
  .tik-form-section,
  .tik-payment-box,
  .tik-civic-form-card,
  .comment-respond,
  .tik-review-form,
  .review-form,
  .tik-project-update-form {
    padding: .9rem;
    border-radius: var(--radius-card);
  }
  .tik-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .tik-form select,
  .tik-form textarea,
  .search-bar__input,
  .search-bar__select,
  .tik-job-filter input,
  .tik-job-filter select {
    font-size: 16px;
  }
}

/* ============================================================
   TARGETED DESIGN QA FIXES - 5.6.18
   Scoped to directory filter pills, project card fallback media,
   and small-viewport containment.
   ============================================================ */
.card--project .card__media > a {
  display: block;
  width: 100%;
  height: 100%;
}

.card--project .card__media img,
.card--project .card__placeholder--project {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 180px;
  object-fit: cover;
}

.card__placeholder--project {
  display: grid;
  place-items: center;
  padding: 1rem;
  background:
    linear-gradient(135deg, rgba(15,23,42,.94), rgba(15,23,42,.72)),
    linear-gradient(45deg, rgba(201,162,39,.22), rgba(249,115,22,.16));
  color: #fff;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}

body.post-type-archive-directory .archive-filter,
body.tax-business_category .archive-filter,
body.tax-directory_category .archive-filter {
  max-width: 100%;
  overflow: hidden;
}

body.post-type-archive-directory .archive-filter .container,
body.tax-business_category .archive-filter .container,
body.tax-directory_category .archive-filter .container {
  min-width: 0;
  max-width: min(100%, var(--container, 1180px));
}

@media (min-width: 769px) {
  body.post-type-archive-directory .archive-filter .container,
  body.tax-business_category .archive-filter .container,
  body.tax-directory_category .archive-filter .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .62rem;
    overflow: visible;
    white-space: normal;
  }

  body.post-type-archive-directory .archive-filter .filter-tab,
  body.tax-business_category .archive-filter .filter-tab,
  body.tax-directory_category .archive-filter .filter-tab {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media (max-width: 768px) {
  body.post-type-archive-directory .archive-filter .container,
  body.tax-business_category .archive-filter .container,
  body.tax-directory_category .archive-filter .container {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: .55rem !important;
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
  }

  body.post-type-archive-directory .archive-filter .filter-tab,
  body.tax-business_category .archive-filter .filter-tab,
  body.tax-directory_category .archive-filter .filter-tab {
    flex: 0 0 auto !important;
    max-width: calc(100vw - 32px);
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 360px) {
  body.post-type-archive-directory .archive-filter .container,
  body.tax-business_category .archive-filter .container,
  body.tax-directory_category .archive-filter .container {
    padding-inline: 12px !important;
    scroll-padding-inline: 12px;
  }

  body.post-type-archive-directory .archive-filter .filter-tab,
  body.tax-business_category .archive-filter .filter-tab,
  body.tax-directory_category .archive-filter .filter-tab {
    max-width: calc(100vw - 24px);
  }
}
