/* =================================================================
   TOTAL RELIANCE · BRAND LAYER  (Brand Guidelines v1.0, 2026)
   Loaded last on every page (see functions.php) so it sets the
   final colours, type and components. Edit colours here only.
   ================================================================= */

:root {
  --tr-blue:   #0050A5;  /* Total Blue: headings, links, buttons   */
  --tr-orange: #FD7800;  /* Total Orange: dot, rules, overlines    */
  --tr-navy:   #00305F;  /* Deep Navy: dark sections, footer       */
  --tr-sky:    #E8F0F9;  /* Sky Tint: light hero, notes            */
  --tr-slate:  #4A5568;  /* Slate: body text                       */
  --tr-cloud:  #F4F6F9;  /* Cloud: alternate section background    */
  --tr-white:  #FFFFFF;
  --tr-line:   #DCE3EC;
  --tr-on-dark: #D3DDEA; /* body text on navy / blue               */
  --tr-font: Arial, Helvetica, "Liberation Sans", sans-serif;
  --tr-radius: 12px;
  --tr-wrap: 1200px;
}

/* ---------- 1. Base: Arial everywhere, no serif accents ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; max-width: 100%; }
body {
  margin: 0 !important;
  background: var(--tr-white) !important;
  color: var(--tr-slate);
  font-family: var(--tr-font) !important;
  -webkit-font-smoothing: antialiased;
}
body *:not(svg):not(svg *) { font-family: var(--tr-font) !important; }
p { line-height: 1.6; }
a { color: var(--tr-blue); }
:focus-visible { outline: 3px solid var(--tr-orange) !important; outline-offset: 3px; }

/* Headline accents: one colour, one style (no italic serif words) */
h1 em, h2 em, h3 em, .hero-header-subtext em {
  color: inherit !important;
  font-style: normal !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}
h1, h2, h3 { letter-spacing: -0.015em !important; }

/* No scroll fade-ins, floating, pulsing, glows or shadows */
.reveal, .reveal-up, .reveal-left, .reveal-right, .reveal-fade {
  opacity: 1 !important; transform: none !important; transition: none !important;
}
.scroll-progress, .glow-orb, .spotlight-layer, .pulse-indicator,
.about-v3-hero-glow, .distribution-live i, .distribution-connector span,
.process-v3-line, .story-v3-image, .story-v3-aside, .story-image-pattern,
.carousel-dots, .brand-rail-controls, .brand-rail-footer {
  display: none !important;
}
.landing-hero::before, .landing-brands::before, .landing-why-us::before,
.category-card::before, .section-title::after, .section-eyebrow::before,
.about-v3-hero:before, .about-v3-process:before, .about-v3-cta:after,
.distribution-visual:before, .principle-v3:before, .portfolio-v3-brand:before,
.about-page-v3 .about-eyebrow:before, .about-page-v3 .section-eyebrow:before {
  display: none !important; content: none !important;
}
.distribution-card { animation: none !important; backdrop-filter: none !important; }
* { text-shadow: none !important; }

/* Numbers only where the content is a real sequence (process / flow) */
.brand-number, .why-card-top, .category-index, .category-initial, .category-arrow,
.portfolio-brand-number, .portfolio-brand-arrow, .principle-v3 > span,
.division-card > span, .portfolio-brand-meta span:first-child {
  display: none !important;
}

/* ---------- 2. Overline (small orange capitals) ---------- */
.section-eyebrow, .about-eyebrow, .brands-eyebrow, .division-eyebrow,
.hero-badge, .cta-badge {
  display: block !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--tr-orange) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

/* ---------- 3. Buttons ---------- */
.btn-primary, .btn-secondary, .btn-submit, .cta-button,
.brands-primary-button, .brands-secondary-button,
.division-button, .about-v3-outline, .about-v3-actions .btn-header-cta {
  display: inline-flex !important;
  align-items: center; justify-content: center;
  min-height: 48px;
  padding: 0.8rem 1.6rem !important;
  border-radius: 999px !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
  cursor: pointer;
}
/* Primary: white on Total Blue */
.btn-primary, .btn-submit, .cta-button, .brands-primary-button,
.division-button-primary, .about-v3-actions .btn-header-cta {
  background: var(--tr-blue) !important;
  border: 2px solid var(--tr-blue) !important;
  color: var(--tr-white) !important;
}
.btn-primary:hover, .btn-submit:hover, .cta-button:hover, .brands-primary-button:hover,
.division-button-primary:hover, .about-v3-actions .btn-header-cta:hover {
  background: var(--tr-navy) !important; border-color: var(--tr-navy) !important;
}
/* Secondary: outline */
.btn-secondary, .about-v3-outline {
  background: transparent !important;
  border: 2px solid var(--tr-blue) !important;
  color: var(--tr-blue) !important;
  backdrop-filter: none !important;
}
.btn-secondary:hover, .about-v3-outline:hover { background: var(--tr-sky) !important; }
.btn-submit:disabled { opacity: .7; cursor: wait; }

/* No arrows tacked onto buttons and links */
.btn-arrow, .btn-primary > span, .cta-button > span, .brands-primary-button > span,
.brands-secondary-button > span, .division-button > span, .division-text-link > span,
.about-v3-link > span, .about-v3-outline > span, .about-v3-actions .btn-header-cta > span {
  display: none !important;
}

/* ---------- 4. Header (white, Core logo, navy links) ---------- */
.site-header, .site-header.scrolled {
  background: var(--tr-white) !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  border-bottom: 1px solid var(--tr-line) !important;
  box-shadow: none !important;
  padding: 0.75rem 2rem !important;
}
.header-inner { max-width: var(--tr-wrap) !important; width: 100%; }
.brand-lockup { gap: 0 !important; }
.site-header .brand-logo-core { width: 140px !important; height: auto !important; display: block; }
.brand-text { display: none !important; }

.nav-menu { gap: 2rem !important; }
.nav-link, .nav-dropdown-trigger {
  color: var(--tr-navy) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 0.4rem 0 !important;
  border-bottom: 2px solid transparent !important;
}
.nav-link:hover, .nav-link.active { color: var(--tr-blue) !important; border-bottom-color: var(--tr-blue) !important; }
.nav-menu .btn-header-cta {
  padding: 0.7rem 1.3rem !important;
  border: 2px solid var(--tr-blue) !important;
  border-radius: 999px !important;
  background: var(--tr-blue) !important;
  color: var(--tr-white) !important;
}
.nav-menu .btn-header-cta:hover, .nav-menu .btn-header-cta.active {
  background: var(--tr-navy) !important; border-color: var(--tr-navy) !important; color: var(--tr-white) !important;
}
.dropdown-content {
  background: var(--tr-white) !important;
  border: 1px solid var(--tr-line) !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 24px rgba(0, 48, 95, 0.08) !important;
}
.dropdown-content a { color: var(--tr-navy) !important; font-size: 0.9rem !important; font-weight: 600 !important; }
.dropdown-content a:hover { background: var(--tr-sky) !important; color: var(--tr-blue) !important; }
.nav-toggle { border: 1px solid var(--tr-line) !important; background: var(--tr-white) !important; }
.nav-toggle span { background: var(--tr-navy) !important; }

/* ---------- 5. Section rhythm & shared text colours ---------- */
.landing-brands, .about-v3-portfolio, .division-intro, .about-v3-snapshot {
  background: var(--tr-white) !important;
}
.landing-categories, .about-v3-story, .about-v3-principles, .brands-directory,
.division-services, .brands-page, .division-page {
  background: var(--tr-cloud) !important;
}
.landing-brands, .landing-categories, .landing-why-us, .landing-cta {
  padding: 6rem 8% !important;
}

/* Light sections */
.section-title, .story-v3-heading h2, .principles-v3-heading h2, .portfolio-v3-copy h2,
.brands-directory-header h2, .division-intro h2, .division-section-heading h2 {
  color: var(--tr-blue) !important;
  font-size: clamp(2rem, 3.4vw, 2.75rem) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
}
.section-desc, .categories-header > p, .story-v3-copy p, .portfolio-v3-copy p,
.brands-directory-header p, .division-prose p {
  color: var(--tr-slate) !important; font-size: 1.02rem !important; line-height: 1.65 !important;
}
.story-v3-copy .story-v3-lead { color: var(--tr-navy) !important; font-size: 1.2rem !important; }
.story-v3-signature { display: none !important; }

/* Dark sections: one Deep Navy band per page */
.landing-why-us, .about-v3-process, .division-highlight {
  background: var(--tr-navy) !important;
}
.landing-why-us h2, .landing-why-us h3, .about-v3-process h2, .about-v3-process h3,
.division-highlight h2, .section-title-dark {
  color: var(--tr-white) !important;
}
.landing-why-us p, .about-v3-process p, .division-highlight p, .why-us-intro {
  color: var(--tr-on-dark) !important;
}

/* ---------- 6. Heroes + wing motif watermark ---------- */
.landing-hero, .about-v3-hero, .brands-hero, .division-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
}
.landing-hero::after, .about-v3-hero::after, .brands-hero::after, .division-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -4vw;
  top: 50%;
  width: min(760px, 62vw);
  aspect-ratio: 473 / 505;
  transform: translateY(-50%);
  background: url("images/tr-wing-white.png") no-repeat center / contain;
  opacity: 0.12;
  pointer-events: none;
}

/* Home hero: light Sky Tint, like the guideline website example */
.landing-hero {
  min-height: 0 !important;
  padding: 7rem 8% 7rem !important;
  background: var(--tr-sky) !important;
}
.landing-hero::after {
  background-image: url("images/tr-wing-blue.png");
  opacity: 0.1;
}
.hero-content-wrapper { max-width: 720px !important; }
.hero-header {
  margin: 0 0 0.6rem !important;
  color: var(--tr-navy) !important;
  font-size: clamp(1.4rem, 2vw, 1.6rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.hero-header-subtext {
  margin: 0 0 1.6rem !important;
  color: var(--tr-blue) !important;
  font-size: clamp(2.6rem, 5.4vw, 4.4rem) !important;
  font-weight: 700 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.025em !important;
}
/* The orange dot: the brand's full stop, once per page */
.hero-header-subtext::after, .about-v3-title::after, .brands-hero h1::after, .division-hero h1::after {
  content: "";
  display: inline-block;
  width: 0.2em; height: 0.2em;
  margin-left: 0.06em;
  border-radius: 50%;
  background: var(--tr-orange);
}
.hero-content p { color: var(--tr-slate) !important; font-size: 1.08rem !important; max-width: 640px !important; }
.hero-content strong { color: var(--tr-navy) !important; }

/* Inner page heroes: Total Blue with white text */
.about-v3-hero, .brands-hero, .division-hero {
  padding: 6.5rem 0 6.5rem !important;
  background: var(--tr-blue) !important;
}
.about-v3-hero h1, .brands-hero h1, .division-hero h1, .about-v3-title {
  color: var(--tr-white) !important;
  font-size: clamp(2.5rem, 5vw, 4.2rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
}
.about-v3-hero p, .brands-hero p, .division-hero-copy > p, .about-v3-lead {
  color: var(--tr-on-dark) !important;
}
.about-v3-hero .about-eyebrow, .brands-hero .brands-eyebrow, .division-hero .division-eyebrow {
  color: var(--tr-white) !important;
}
.about-v3-meta { color: var(--tr-on-dark) !important; }
.about-v3-meta i { background: var(--tr-on-dark) !important; }
.about-v3-link, .division-text-link { color: var(--tr-white) !important; text-decoration: underline !important; text-underline-offset: 4px; }
/* Buttons sitting on blue become white */
.about-v3-hero .btn-header-cta, .brands-hero .brands-primary-button, .division-hero .division-button-primary {
  background: var(--tr-white) !important; border-color: var(--tr-white) !important; color: var(--tr-blue) !important;
}
.about-v3-hero .btn-header-cta:hover, .brands-hero .brands-primary-button:hover, .division-hero .division-button-primary:hover {
  background: var(--tr-sky) !important; border-color: var(--tr-sky) !important;
}

/* Flow panels in the hero (a real sequence, so numbers stay) */
.distribution-card, .division-hero-panel {
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: var(--tr-radius) !important;
  background: rgba(0, 48, 95, 0.35) !important;
  box-shadow: none !important;
}
.distribution-step strong, .division-flow-step span { color: var(--tr-white) !important; }
.distribution-step small, .division-panel-label, .distribution-card-header, .distribution-regions span {
  color: var(--tr-on-dark) !important;
}
.distribution-index, .division-flow-step strong {
  color: var(--tr-white) !important; font-weight: 700 !important;
}
.distribution-step-featured, .division-flow-step.is-featured {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
}
.distribution-node { border-color: var(--tr-white) !important; background: transparent !important; box-shadow: none !important; }
.distribution-step-featured .distribution-node { background: var(--tr-orange) !important; border-color: var(--tr-orange) !important; }
.distribution-connector:before { background: rgba(255, 255, 255, 0.35) !important; }
.distribution-regions span { border-color: rgba(255, 255, 255, 0.25) !important; }

/* ---------- 7. Cards (flat, white, thin line) ---------- */
.brand-card, .category-card, .principle-v3, .portfolio-v3-brand,
.portfolio-brand-card, .division-card {
  background: var(--tr-white) !important;
  border: 1px solid var(--tr-line) !important;
  border-radius: var(--tr-radius) !important;
  box-shadow: none !important;
  transform: none !important;
  transition: border-color .2s ease !important;
}
.brand-card:hover, .category-card:hover, .principle-v3:hover, .portfolio-v3-brand:hover,
.portfolio-brand-card:hover, .division-card:hover {
  border-color: var(--tr-blue) !important;
  background: var(--tr-white) !important;
}
.brand-card h3, .category-card h3, .principle-v3 h3, .division-card h3, .portfolio-v3-brand strong {
  color: var(--tr-navy) !important;
}
.brand-card p, .category-card p, .principle-v3 p, .division-card p,
.portfolio-brand-copy p, .brand-card-bottom p {
  color: var(--tr-slate) !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  max-width: none !important;
}
/* Card labels: small slate capitals (not orange, keeps orange rare) */
.brand-region, .brand-category, .category-region, .portfolio-brand-category,
.portfolio-brand-meta, .portfolio-v3-brand small, .snapshot-item-v3 span {
  color: var(--tr-slate) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

/* Brand names: one colour (partner brands keep their own identity on their own sites) */
.brand-mark, .brand-mark-main, .brand-mark-accent, .portfolio-brand-name {
  color: var(--tr-navy) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}
.brand-card-top, .brand-card-bottom { border-color: var(--tr-line) !important; }
.brand-card { border-top: 1px solid var(--tr-line) !important; }
.portfolio-brand-card { border-top: 4px solid var(--tr-blue) !important; }

/* Home brand list: simple grid, no scroll rail */
.brand-rail-mask { overflow: visible !important; -webkit-mask-image: none !important; mask-image: none !important; }
.brand-carousel {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  overflow: visible !important;
  padding: 0 !important;
  scroll-snap-type: none !important;
  transform: none !important;
}
.brand-card, .brand-card:nth-child(4), .brand-card:nth-child(5) {
  grid-column: auto !important;
  min-height: 0 !important;
  padding: 1.5rem !important;
  flex: none !important;
  width: auto !important;
  min-width: 0 !important;
}
.brand-category { white-space: normal !important; }
@media (max-width: 900px) { .brand-carousel { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .brand-carousel { grid-template-columns: 1fr !important; } }
.brand-mark { padding: 0.75rem 0 1rem !important; font-size: 1.6rem !important; }

/* Category cards: text only */
.category-card {
  display: block !important;
  min-height: 0 !important;
  padding: 1.75rem !important;
}

/* Why us: three columns with a line between, on navy */
.why-us-grid, .why-card, .why-card + .why-card { border-color: rgba(255, 255, 255, 0.18) !important; }
.why-card { transform: none !important; }
.why-card h3 { margin-top: 0.5rem !important; font-size: 1.2rem !important; }
.why-card p { font-size: 0.95rem !important; max-width: none !important; }
.why-tag { color: var(--tr-on-dark) !important; }

/* About: snapshot strip */
.about-v3-snapshot { padding: 3rem 0 !important; border-bottom: 1px solid var(--tr-line) !important; }
.about-v3-snapshot .section-eyebrow { display: none !important; }
.snapshot-grid-v3 { margin-top: 0 !important; }
.snapshot-item-v3 { min-height: 0 !important; padding-block: 0.5rem !important; }
.snapshot-item-v3 + .snapshot-item-v3 { border-left: 1px solid var(--tr-line) !important; }
.snapshot-item-v3 strong { color: var(--tr-blue) !important; font-size: 2rem !important; margin: 0.35rem 0 !important; }
.snapshot-item-v3 small { color: var(--tr-slate) !important; }

/* About: process list (a real sequence: numbers stay) */
.process-v3-list, .process-v3-step { border-color: rgba(255, 255, 255, 0.18) !important; }
.process-v3-step:hover { padding-left: 0 !important; background: none !important; }
.process-v3-number { color: var(--tr-orange) !important; font-weight: 700 !important; font-size: 1rem !important; }
.process-v3-main > span { color: var(--tr-on-dark) !important; }
.process-v3-arrow { display: none !important; }
.process-v3-step { grid-template-columns: 72px minmax(0, 1fr) !important; }

/* About: principle cards are text only */
.principle-v3 { display: block !important; min-height: 0 !important; padding: 1.75rem !important; }
.principle-v3 h3 { margin: 0 0 0.6rem !important; font-size: 1.15rem !important; }

/* Division service cards */
.division-card-grid { gap: 1rem !important; background: none !important; border: 0 !important; }
.division-card { min-height: 0 !important; }
.division-card h3 { margin: 0 0 0.75rem !important; }
.consultancy-pillar { background: var(--tr-white) !important; }

/* ---------- 8. Call-to-action bands: Total Blue ---------- */
.landing-cta, .about-v3-cta, .brands-partner-cta, .division-cta {
  background: var(--tr-blue) !important;
  color: var(--tr-white) !important;
}
.landing-cta h2, .about-v3-cta h2, .brands-partner-cta h2, .division-cta h2, .cta-wrapper h2 {
  color: var(--tr-white) !important;
  font-size: clamp(2rem, 3.6vw, 2.9rem) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}
.landing-cta p, .about-v3-cta p, .brands-partner-cta p, .division-cta p, .cta-wrapper p {
  color: var(--tr-on-dark) !important;
}
.landing-cta .cta-badge, .about-v3-cta .section-eyebrow, .brands-partner-cta .brands-eyebrow,
.division-cta .division-eyebrow { color: var(--tr-white) !important; }
.landing-cta .btn-primary, .about-v3-cta .btn-primary, .division-cta .division-button-primary {
  background: var(--tr-white) !important; border-color: var(--tr-white) !important; color: var(--tr-blue) !important;
}
.brands-secondary-button {
  background: var(--tr-white) !important; border: 2px solid var(--tr-white) !important; color: var(--tr-blue) !important;
}
.landing-cta .btn-primary:hover, .about-v3-cta .btn-primary:hover, .division-cta .division-button-primary:hover,
.brands-secondary-button:hover {
  background: var(--tr-sky) !important; border-color: var(--tr-sky) !important;
}

/* ---------- 9. Contact page ---------- */
.contact-page-wrapper {
  background: var(--tr-cloud) !important;
  padding: 5rem 8% 6rem !important;
}
.contact-header-text { text-align: left !important; max-width: var(--tr-wrap) !important; margin: 0 auto 2.5rem !important; }
.contact-page-wrapper .page-title {
  color: var(--tr-blue) !important;
  font-size: clamp(2.4rem, 4.6vw, 3.6rem) !important;
  font-weight: 700 !important;
  margin-bottom: 0.75rem !important;
}
.contact-page-wrapper .page-title::after {
  content: ""; display: inline-block; width: 0.2em; height: 0.2em; margin-left: 0.06em;
  border-radius: 50%; background: var(--tr-orange);
}
.page-subtitle { color: var(--tr-slate) !important; font-size: 1.08rem !important; max-width: 680px; }
.contact-grid { max-width: var(--tr-wrap) !important; gap: 1.5rem !important; }
.contact-card {
  border: 1px solid var(--tr-line) !important;
  border-radius: var(--tr-radius) !important;
  box-shadow: none !important;
  transform: none !important;
  padding: 2.5rem !important;
  background: var(--tr-white) !important;
}
.contact-card:hover { transform: none !important; box-shadow: none !important; }
.card-heading {
  color: var(--tr-navy) !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  border-left: 0 !important;
  padding-left: 0 !important;
  margin-bottom: 1.75rem !important;
}
.form-group label { color: var(--tr-navy) !important; font-size: 0.9rem !important; }
.form-control {
  border: 1px solid #C5CFDB !important;
  border-radius: 8px !important;
  padding: 0.85rem 1rem !important;
  color: var(--tr-navy) !important;
}
.form-control:focus { border-color: var(--tr-blue) !important; box-shadow: 0 0 0 3px rgba(0, 80, 165, 0.15) !important; }
.btn-submit { width: 100%; }
.info-card { background: var(--tr-white) !important; }
.info-group { gap: 0 !important; margin-bottom: 1.5rem !important; }
.info-text h3 { color: var(--tr-slate) !important; font-size: 0.75rem !important; letter-spacing: 0.14em !important; }
.info-text p, .info-text a { color: var(--tr-navy) !important; }
.map-container { border: 1px solid var(--tr-line) !important; border-radius: 10px !important; box-shadow: none !important; }

/* Wholesale "coming soon" note + form messages */
.tr-wholesale-note {
  max-width: var(--tr-wrap);
  margin: 0 auto 1.5rem;
  padding: 1.1rem 1.4rem;
  border-left: 4px solid var(--tr-orange);
  border-radius: 8px;
  background: var(--tr-sky);
  color: var(--tr-navy);
}
.tr-wholesale-note strong { display: block; margin-bottom: 0.2rem; font-size: 1.05rem; }
.tr-wholesale-note p { margin: 0; color: var(--tr-slate); }
.form-status { margin: 0 0 1.5rem; padding: 0.9rem 1.1rem; border-radius: 8px; font-weight: 600; }
.form-status-ok { background: #E6F4EA; color: #1E5631; }
.form-status-error { background: #FDECEC; color: #8A1C1C; }
.tr-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- 10. Footer (Deep Navy) ---------- */
.site-footer {
  background: var(--tr-navy) !important;
  border-top: 0 !important;
}
.footer-inner { max-width: var(--tr-wrap) !important; }
.site-footer .brand-logo-core { width: 160px !important; height: auto !important; margin-bottom: 1rem; }
.footer-title {
  color: var(--tr-white) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
}
.footer-item, .footer-item a, .footer-desc, .footer-bottom, .footer-bottom p, .footer-legal a {
  color: var(--tr-on-dark) !important;
}
.footer-links a { color: var(--tr-white) !important; font-weight: 600 !important; }
.footer-item a:hover, .footer-links a:hover, .footer-legal a:hover { color: var(--tr-white) !important; text-decoration: underline; }
.footer-bottom { border-top-color: rgba(255, 255, 255, 0.15) !important; }

.back-to-top {
  background: var(--tr-blue) !important;
  border: 0 !important;
  color: var(--tr-white) !important;
  box-shadow: none !important;
}
.back-to-top:hover { background: var(--tr-navy) !important; transform: none !important; }

/* ---------- 11. Mobile ---------- */
@media (max-width: 900px) {
  .site-header, .site-header.scrolled { padding: 0.6rem 1rem !important; }
  .nav-menu {
    inset: 93px 0 auto !important;
    max-height: calc(100vh - 93px) !important;
    background: var(--tr-white) !important;
    border-bottom: 1px solid var(--tr-line) !important;
    box-shadow: 0 12px 24px rgba(0, 48, 95, 0.08) !important;
  }
  .nav-menu > .nav-link, .nav-dropdown-trigger {
    border-bottom: 1px solid var(--tr-line) !important;
    padding: 0.9rem 0.6rem !important;
  }
  .nav-menu .btn-header-cta { justify-content: center !important; margin-top: 1rem !important; }
  .dropdown-content { border: 0 !important; border-left: 2px solid var(--tr-blue) !important; border-radius: 0 !important; box-shadow: none !important; }
  .landing-hero { padding: 4.5rem 1.25rem !important; }
  .landing-brands, .landing-categories, .landing-why-us, .landing-cta { padding: 4rem 1.25rem !important; }
  .about-v3-hero, .brands-hero, .division-hero { padding: 4.5rem 0 !important; }
  .landing-hero::after, .about-v3-hero::after, .brands-hero::after, .division-hero::after {
    width: 90vw; right: -35vw; opacity: 0.08;
  }
  .contact-page-wrapper { padding: 3.5rem 1.25rem 4rem !important; }
  .contact-card { padding: 1.5rem !important; }
  .process-v3-step { grid-template-columns: 44px minmax(0, 1fr) !important; }
}

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

/* ---------- 12. Small fixes ---------- */
.story-v3-heading br { display: none; }
.process-v3-main h3 { font-size: 1.25rem !important; }
.process-v3-main p { font-size: 0.98rem !important; line-height: 1.6 !important; }
.process-v3-main > span { font-size: 0.72rem !important; letter-spacing: 0.14em !important; }
.consultancy-pillar > span { display: none !important; }
.consultancy-pillar h3 { margin-top: 0 !important; color: var(--tr-navy) !important; }
