/* Site-wide responsive helpers — load after style.css */

/* --- Horizontal overflow ---
   `overflow-x: hidden` on html/body breaks `position: sticky` for the header bar in Chromium/WebKit.
   Use `clip` so wide pages don’t scroll horizontally but sticky/fixed pinning still works. */
   html,
   body,
   main {
     overflow-x: clip;
   }
   main {
     max-width: 100%;
     position: relative;
     z-index: 0;
     isolation: isolate;
   }

   /* --- Header above page content (Swiper fade/transform can otherwise flash through while scrolling) --- */
   .tp-header-wrap {
     position: relative;
     z-index: 10038;
     isolation: isolate;
   }

   /* Swiper uses transforms + default z-index; keep in-document sliders under the header chrome site-wide */
   main .swiper-container,
   main .swiper {
     z-index: 0;
   }
   
   /* --- Media & embeds --- */
   main img,
   .tp-footer-4-top__area img {
     max-width: 100%;
     height: auto;
   }
   /* Footer widgets: fluid images except review badges (see .trust-pilot below) */
   .tp-footer-4__area .tp-footer-4__logo img,
   .tp-footer-4__area .tp-footer-4__text img,
   .tp-footer-4__area .tp-footer-4__list img {
     max-width: 100%;
     height: auto;
   }
   .tp-footer-4__area .tp-footer-4__thumb img {
     width: 100%;
     max-width: 530px;
     height: auto;
   }
   main video,
   main iframe {
     max-width: 100%;
   }
   
   /* Review platform badges — keep small (was stretched by footer img fluid rules) */
   .tp-footer-4__area .trust-pilot .trust-links {
     gap: 8px;
   }
   .tp-footer-4__area .trust-pilot img {
     max-width: 88px;
     width: auto;
     height: auto;
     object-fit: contain;
   }
   @media (max-width: 575.98px) {
     .tp-footer-4__area .trust-pilot img {
       max-width: 76px;
     }
   }
   
   /* --- Global design tokens: logo “mix” palette (overrides theme from style.css) --- */
   :root {
     /* Canonical accents — use anywhere: var(--tcp-mix-purple), etc. */
     --tcp-mix-purple: #a855f7;
     --tcp-mix-purple-deep: #9333ea;
     --tcp-mix-cyan: #22d3ee;
     --tcp-mix-gold: #facc15;
     --tcp-mix-magenta: #f472b6;
     --tcp-mix-coral: #fb7185;
     --tcp-mix-lime: #bef264;

     /* Map main theme variables (used across style.css + templates) */
     --tp-common-white: #ffffff;
     --tp-common-black: #0b0b10;
     --tp-common-black-2: #070707;
     --tp-common-black-3: #000000;
     --tp-common-black-4: #1e293b;
     --tp-common-red: #fb7185;
     --tp-common-green: #15803d;
     --tp-common-purple: #a855f7;
     --tp-common-purple-2: #9333ea;
     --tp-common-pink: #fb7185;
     --tp-common-pink-2: #f5f3ff;
     --tp-common-pink-3: #faf5ff;
     --tp-common-pink-4: #f472b6;
     --tp-heading-primary: #0b0b10;
     --tp-grey-1: #eef2ff;
     --tp-grey-2: #f8fafc;
     --tp-grey-3: #5b646b;
     --tp-grey-4: #787981;
     --tp-text-body: #64748b;
     --tp-theme-1: linear-gradient(
       92deg,
       #a855f7 0%,
       #22d3ee 28%,
       #facc15 52%,
       #f472b6 72%,
       #fb7185 88%,
       #bef264 100%
     );
     --tp-theme-2: #9333ea;
     --tp-theme-3: #c026d3;
     --tp-border-1: #e8e0f4;

     /* --- Header (3-row layout; announcement strip = solid --tp-common-purple-2) --- */
     --tcp-header-accent: var(--tp-common-purple-2);
     --tcp-header-accent-hover: #7c3aed;
     --tcp-header-nav-muted: #000000;
     /* Desktop search pill */
     --tcp-search-pill-height: 45px;
     --tcp-search-pill-radius: 40px;
     --tcp-search-pill-pad-x: 30px;
     --tcp-search-pill-border: #d4d4d4;
     --tcp-search-pill-border-focus: var(--tcp-header-accent);
     --tcp-search-pill-icon: var(--tcp-header-accent);
     --tcp-search-pill-placeholder: #8a8a8a;
     --tcp-search-pill-focus-glow: rgba(168, 85, 247, 0.18);
     /* Inside stacked height: form height minus top+bottom border */
     /* Announcement strip: solid site primary (marquee row) */
     --tcp-announce-bar-bg: var(--tp-common-purple-2);
     --tcp-light-cta-bg: #eef2ff;
     --tcp-light-cta-bg-hover: #e0e7ff;
     --tcp-search-pill-line: calc(var(--tcp-search-pill-height) - 2px);
   }
   
   .tcp-header-announce.theme-bg {
     background: var(--tcp-announce-bar-bg) !important;
   }
   
   .tcp-header-announce {
     color: #ffffff;
     box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
   }
   .tcp-header-announce__inner {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
     row-gap: 0.35rem;
     gap: 0.6rem 1rem;
     min-height: 40px;
     padding: 0.32rem 0;
   }
   @media (min-width: 1200px) {
     .tcp-header-announce__inner {
       flex-wrap: nowrap;
     }
   }
   @media (min-width: 768px) {
     .tcp-header-announce__inner {
       min-height: 42px;
       padding: 0.38rem 0;
     }
   }
   .tcp-header-marquee--full,
   .tcp-header-announce marquee {
     color: #ffffff;
   }
   
   .tcp-header-marquee--full {
     flex: 1 1 auto;
     min-width: 0;
     max-width: none;
     margin: 0;
     font-size: 14px;
     font-weight: 500;
     line-height: 1.4;
     letter-spacing: 0.01em;
   }
   .tcp-header-announce__aside {
     display: flex;
     align-items: center;
     gap: 0.85rem;
     flex-shrink: 0;
     max-width: 100%;
     flex-wrap: wrap;
   }
   .tcp-header-announce__email {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 0.4rem;
     padding: 0.28rem 0.72rem;
     border-radius: 999px;
     font-size: 13px;
     font-weight: 600;
     line-height: 1.2;
     text-decoration: none;
     white-space: nowrap;
     color: var(--tcp-header-accent);
     background: #fff;
     box-shadow: 0 1px 2px rgba(9, 5, 47, 0.08);
     transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
   }
   .tcp-header-announce__email i {
     font-size: 0.95em;
     line-height: 1;
     opacity: 0.92;
   }
   .tcp-header-announce__email:hover {
     color: #fff;
     background: var(--tcp-header-accent-hover);
     text-decoration: none;
     box-shadow: 0 2px 6px rgba(9, 5, 47, 0.12);
   }
   .tcp-header-announce__email:focus-visible {
     outline: 2px solid #ffffff;
     outline-offset: 2px;
   }
   .tcp-header-announce__social {
     display: inline-flex;
     align-items: center;
     gap: 0.15rem;
   }
   .tcp-header-announce__social a {
     color: #ffffff;
     font-size: 15px;
     line-height: 1;
     opacity: 0.95;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-width: 40px;
     min-height: 40px;
     margin: -4px 0;
     border-radius: 8px;
     transition: background-color 0.15s ease, opacity 0.15s ease, color 0.15s ease;
   }
   .tcp-header-announce__social a:hover {
     opacity: 1;
     color: #ffffff;
     background-color: rgba(255, 255, 255, 0.14);
   }
   .tp-header-marquee__item,
   .tp-header-marquee__sep {
     color: inherit;
   }
   
   .tp-header-marquee__item {
     white-space: nowrap;
   }
   .tp-header-marquee__sep {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     opacity: 0.88;
     font-weight: 400;
     vertical-align: middle;
     padding-inline: clamp(1.25rem, 5vw, 3.5rem);
   }
   
   .tcp-header-main {
     background: #fff;
     border-bottom: 1px solid #ececec;
   }
   .tcp-header-main__logo img {
     max-height: 56px;
     width: auto;
     display: block;
   }
   .tcp-header-mobile-logo img {
     max-height: 48px;
     width: auto;
   }
   
   .tcp-header-main__cta {
     gap: 0.65rem !important;
   }
   .tcp-header-main__inner {
     row-gap: 0.5rem;
     flex-wrap: nowrap;
     align-items: center;
   }
   .tcp-header-main__search {
     display: flex;
     justify-content: center;
     align-items: center;
     min-width: 0;
   }
   /* Desktop header search pill — 45×860 max; centered text; brand purple */
   .tcp-header-search-pill.tcp-header-search-pill--fill {
     width: 100%;
     max-width: min(860px, 100%);
     margin-left: 0;
     margin-right: 0;
   }
   .tcp-header-search-pill.tcp-header-search-pill--fill .tcp-header-search-pill__form {
     display: flex;
     align-items: center;
     min-height: var(--tcp-search-pill-height);
     height: var(--tcp-search-pill-height);
     border-radius: var(--tcp-search-pill-radius);
     border: 1px solid var(--tcp-search-pill-border);
     box-sizing: border-box;
     background: #fff;
     overflow: hidden;
   }
   .tcp-header-search-pill.tcp-header-search-pill--fill .tcp-header-search-pill__input {
     flex: 1 1 auto;
     min-width: 0;
     width: 0;
     margin: 0;
     padding: 0 8px 0 var(--tcp-search-pill-pad-x);
     font-size: 15px;
     line-height: var(--tcp-search-pill-line);
     height: var(--tcp-search-pill-line);
     box-sizing: border-box;
     color: #1a1a1a;
   }
   .tcp-header-search-pill.tcp-header-search-pill--fill .tcp-header-search-pill__input::placeholder {
     color: var(--tcp-search-pill-placeholder);
     opacity: 1;
   }
   .tcp-header-search-pill.tcp-header-search-pill--fill .tcp-header-search-pill__btn {
     flex-shrink: 0;
     display: inline-flex;
     align-items: center;
     align-self: stretch;
     padding: 0 var(--tcp-search-pill-pad-x) 0 0.25rem;
     color: var(--tcp-search-pill-icon);
     font-size: 1rem;
   }
   .tcp-header-search-pill.tcp-header-search-pill--fill .tcp-header-search-pill__form:focus-within {
     border-color: var(--tcp-search-pill-border-focus);
     box-shadow: 0 0 0 3px var(--tcp-search-pill-focus-glow);
   }
   .tcp-header-search-pill.tcp-header-search-pill--fill .tcp-header-search-pill__btn:hover,
   .tcp-header-search-pill.tcp-header-search-pill--fill .tcp-header-search-pill__btn:focus {
     color: var(--tcp-header-accent-hover);
   }
   
   .tcp-header-search-pill__form {
     border: 1px solid #c8c8c8;
     border-radius: 999px;
     background: #fff;
     overflow: hidden;
     min-height: 44px;
   }
   .tcp-header-search-pill__input {
     border: none !important;
     box-shadow: none !important;
     background: transparent;
     padding: 0.5rem 0.85rem;
     font-size: 14px;
     color: #222;
   }
   .tcp-header-search-pill__input:focus {
     outline: none;
   }
   .tcp-header-search-pill__btn {
     border: none;
     background: transparent;
     color: #8a8a8a;
     padding: 0 0.95rem;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     transition: color 0.15s ease;
   }
   .tcp-header-search-pill__btn:hover {
     color: var(--tcp-header-accent);
   }
   .tcp-header-search-pill--mobile {
     margin: 0.15rem 0 0;
     max-width: none;
   }
   .tcp-header-search-pill--mobile .tcp-header-search-pill__form {
     min-height: 44px;
   }
   
   .tcp-header-expert__label {
     font-size: 13px;
     color: #2f2f2f;
     line-height: 1.2;
   }
   .tcp-header-expert__phone {
     display: inline-block;
     margin-top: 1px;
     font-size: 16px;
     font-weight: 700;
     color: var(--tcp-header-accent);
     text-decoration: none;
   }
   .tcp-header-expert__phone:hover {
     color: var(--tcp-header-accent-hover);
   }
   .tcp-header-divider {
     display: inline-block;
     width: 1px;
     align-self: stretch;
     min-height: 36px;
     background: #d5d5d5;
   }
   .tcp-header-quote-btn {
     background: var(--tcp-header-accent) !important;
     color: #fff !important;
     border: none !important;
     font-weight: 600;
     font-size: 13px;
     padding: 0.45rem 1.1rem;
     border-radius: 6px;
     text-decoration: none !important;
   }
   .tcp-header-quote-btn:hover,
   .tcp-header-quote-btn:focus {
     background: var(--tcp-header-accent-hover) !important;
     color: #fff !important;
   }
   
   .tcp-header-nav-wrap {
     background: #fff;
   }
   
   /* Nav stack: JS applies position:fixed + spacer (CSS sticky is unreliable with page overflow rules). */
   .tcp-sticky-bar-spacer {
     width: 100%;
     height: 0;
     flex-shrink: 0;
     pointer-events: none;
   }
   .tcp-sticky-bar-spacer--active {
     min-height: 56px;
   }
   
   .tcp-sticky-stack {
     position: relative;
     z-index: 10040;
     width: 100%;
     background: #fff;
     min-height: 56px;
   }
   @media (min-width: 1200px) {
     .tcp-sticky-stack {
       min-height: 132px;
     }
     .tcp-sticky-bar-spacer--active {
       min-height: 132px;
     }
   }
   
   #header-sticky.tcp-sticky-stack--pinned {
     position: fixed !important;
     top: 0 !important;
     left: 0 !important;
     right: 0 !important;
     width: 100%;
     max-width: 100%;
     animation: none !important;
     box-shadow: rgba(149, 157, 165, 0.22) 0px 8px 22px;
     isolation: isolate;
     transform: translateZ(0);
     -webkit-transform: translateZ(0);
     backface-visibility: hidden;
     -webkit-backface-visibility: hidden;
   }
   
   #header-sticky.tcp-sticky-stack--pinned .tp-header-4__area {
     box-shadow: none;
   }
   
   @media (min-width: 1200px) {
     /* Desktop: logo/search strip hidden only in collapsed (scroll-down) state — tcpStickyHeaderSync in main.js toggles `--scrolled` */
     #header-sticky.tcp-sticky-stack--scrolled .tcp-header-main.tcp-header-main--desktop {
       visibility: hidden;
       height: 0;
       min-height: 0;
       margin: 0;
       padding: 0;
       overflow: hidden;
       opacity: 0;
       pointer-events: none;
     }
   }
   
   .tcp-sticky-site-bar {
     background: #fff;
   }
   .tcp-sticky-site-bar__features {
     background: #fff;
     padding: 0.55rem 0 0.65rem;
     border-top: 1px solid rgba(26, 29, 61, 0.06);
   }
   @media (max-width: 767.98px) {
     .tcp-sticky-site-bar__features {
       display: none;
     }
   }
   @media (min-width: 1200px) {
     /* Desktop: category row already has bottom border */
     .tcp-sticky-site-bar__features {
       border-top: none;
     }
   }
   .tcp-sticky-site-bar__features .tcp-home-hero-pro__features {
     margin-bottom: 0;
     gap: 0.45rem 0.55rem;
   }
   @media (min-width: 1200px) {
     .tcp-header-nav-wrap .tp-header-4__pt {
       padding-top: 6px;
     }
   }
   .tcp-header-nav-row {
     border-bottom: 1px solid #e6e6e6;
   }
   .tcp-header-nav__menu .tp-main-menu-content > ul {
     justify-content: flex-start;
     gap: 0.15rem 0.35rem;
     flex-wrap: wrap;
   }
   .tcp-header-nav__menu .tp-main-menu-content > ul > li > a {
     color: var(--tcp-header-nav-muted);
     font-size: 14px;
     font-weight: 500;
     padding: 0.2rem 0.35rem;
   }
   .tcp-header-nav__menu .tp-main-menu-content > ul > li:hover > a {
     color: var(--tcp-header-accent);
   }
   
   /* Single dropdown chevron — vertically centered with link text (theme used top: 40%) */
   .tcp-header-nav__menu .tp-header-4__main-menu nav ul li.has-dropdown::after {
     right: 2px;
     top: 50%;
     font-size: 12px;
     line-height: 1;
     transform: translateY(calc(-50% - 2px));
   }
   .tcp-header-nav__menu .tp-header-4__main-menu nav ul li:hover.has-dropdown::after {
     transform: translateY(calc(-50% - 2px)) rotate(-180deg);
     color: var(--tcp-header-accent);
   }
   
   .tcp-header-global-ops {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     flex-wrap: wrap;
     font-size: 14px;
     color: var(--tcp-header-nav-muted);
   }
   .tcp-header-global-ops__flags {
     display: inline-flex;
     align-items: center;
     gap: 5px;
   }
   .tcp-header-global-ops__flags img {
     display: block;
     height: auto;
     border-radius: 2px;
     box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06);
   }
   
   /* Hide decorative underline shapes on nav links in new layout */
   .tcp-header-nav__menu .tp-header-4__menu-shape {
     display: none;
   }
   
   @media (max-width: 767.98px) {
     .tcp-header-announce__inner {
       min-height: 42px;
       padding: 0.38rem 0;
       gap: 0.5rem 0.65rem;
     }
     .tcp-header-marquee--full {
       font-size: 13px;
       font-weight: 500;
       line-height: 1.35;
     }
   }
   
   @media (max-width: 575.98px) {
     .tcp-header-announce .container-fluid {
       padding-left: max(12px, env(safe-area-inset-left, 0px));
       padding-right: max(12px, env(safe-area-inset-right, 0px));
     }
     .tcp-header-announce__inner {
       flex-wrap: wrap;
       align-items: center;
       min-height: auto;
       padding: 0.42rem 0 0.5rem;
     }
     .tcp-header-marquee--full {
       order: 1;
       flex: 1 1 100%;
       width: 100%;
       min-width: 0;
       font-size: 12.5px;
     }
     .tcp-header-announce__aside {
       order: 2;
       width: 100%;
       justify-content: space-between;
       padding-top: 0.35rem;
       margin: 0;
       border-top: 1px solid rgba(255, 255, 255, 0.22);
       gap: 0.5rem;
     }
     .tcp-header-announce__email {
       font-size: 12px;
       padding: 0.26rem 0.62rem;
       gap: 0.35rem;
     }
   }
   
   @media (max-width: 399.98px) {
     .tcp-header-marquee__sep .fa-clock,
     .tcp-header-marquee__sep .fal.fa-clock {
       display: none;
     }
   }
   
   /* Legacy top-bar helpers (email link removed from marquee row) */
   .tp-header-top-2__contact .tp-header-top-2__email-link {
     word-break: break-word;
   }
   /* --- Product search dropdown (desktop + mobile) --- */
   .tp-search-results-dropdown {
     position: absolute;
     left: 0;
     right: 0;
     top: calc(100% + 6px);
     width: 100%;
     max-height: min(70vh, 420px);
     overflow-y: auto;
     background: #fff;
     z-index: 10050;
     box-shadow: 0 12px 40px rgba(9, 5, 47, 0.12);
     border-radius: 12px;
     border: 1px solid #eef0f5;
   }
   .header-sticky .tp-search-results-dropdown,
   #header-sticky.tcp-sticky-stack--pinned .tp-search-results-dropdown {
     z-index: 10060;
   }
   .tp-header-mobile-search-box.tp-header-middle-4__input-box {
     margin-left: 0;
   }
   .tp-header-mobile-search-row {
     margin-top: 0.15rem;
     padding-bottom: 0.2rem;
   }
   
   /* Mobile / tablet: slimmer search pill + hamburger (less vertical space) */
   @media (max-width: 1199.98px) {
     .tcp-header-search-pill--mobile {
       margin: 0.05rem 0 0;
     }
     .tcp-header-search-pill--mobile .tcp-header-search-pill__form {
       min-height: 38px;
       border-radius: 22px;
       align-items: center;
     }
     .tcp-header-search-pill--mobile .tcp-header-search-pill__input {
       padding: 0 6px 0 14px;
       font-size: 14px;
       line-height: 1.25;
       min-height: 36px;
       height: 36px;
     }
     .tcp-header-search-pill--mobile .tcp-header-search-pill__btn {
       padding: 0 12px 0 0.15rem;
       font-size: 0.9rem;
     }
     .tp-header-2__bar.bar-height {
       margin: 4px 0 2px;
     }
     .tp-header-2__bar .tp-menu-bar i {
       width: 42px;
       height: 42px;
       line-height: 42px;
       font-size: 17px;
     }
   }
   
   @media (max-width: 575.98px) {
     .tcp-header-search-pill--mobile .tcp-header-search-pill__form {
       min-height: 36px;
       border-radius: 18px;
     }
     .tcp-header-search-pill--mobile .tcp-header-search-pill__input {
       min-height: 34px;
       height: 34px;
       padding-left: 12px;
       font-size: 13px;
     }
     .tcp-header-mobile-logo img,
     .tp-header-4__logo img,
     .tp-header-middle-4__logo img {
       max-height: 40px;
       width: auto;
     }
   }
   
   /* --- Typography scale (small screens) --- */
   @media (max-width: 767.98px) {
     body {
       font-size: 15px;
     }
     h1 {
       font-size: clamp(28px, 8vw, 36px);
     }
     h2 {
       font-size: clamp(24px, 6.5vw, 30px);
     }
     h3 {
       font-size: clamp(20px, 5.5vw, 24px);
     }
     h4 {
       font-size: clamp(18px, 5vw, 22px);
     }
     p {
       font-size: 15px;
       line-height: 1.55;
     }
   }
   
   /* --- Modals on narrow viewports --- */
   .modal-dialog {
     margin: 0.6rem auto;
     max-width: calc(100vw - 1.2rem);
   }
   @media (max-width: 575.98px) {
     .modal-dialog.modal-lg,
     .modal-dialog.modal-xl {
       max-width: calc(100vw - 1rem);
       margin: 0.5rem auto;
     }
     .modal-body {
       padding: 1rem;
     }
   }
   
   /* --- Wide tables in CMS/blog content (small screens) --- */
   @media (max-width: 767.98px) {
     main table {
       display: block;
       width: 100%;
       max-width: 100%;
       overflow-x: auto;
       -webkit-overflow-scrolling: touch;
     }
   }
   
   /* --- Fixed chat / WhatsApp: safe area (notched phones) --- */
   #whatsapp-icon {
     bottom: max(20px, env(safe-area-inset-bottom, 0px)) !important;
     left: max(12px, env(safe-area-inset-left, 0px)) !important;
   }
   
   /* --- Offcanvas full width on phones --- */
   @media (max-width: 575.98px) {
     .tpoffcanvas {
       width: min(100vw - 48px, 360px);
       max-width: 100%;
     }
   }
   
   /* --- Featured Categories (mobile): bullets below card, not over image --- */
   @media (max-width: 767.98px) {
     .tp-product-5__area .tp-product-slider {
       padding-bottom: 0.25rem;
     }
     .tp-product-5__area .tp-product-slider .swiper-pagination {
       position: relative !important;
       bottom: auto !important;
       left: 0 !important;
       transform: none !important;
       width: 100%;
       margin-top: 0.5rem;
       text-align: center;
     }
   }

   /* Featured Categories (#browse-catalog): narrow slides — keep title on one line */
   #browse-catalog .tp-product-slider .swiper-slide {
     min-width: 0;
   }
   #browse-catalog .tp-product-5__content {
     min-width: 0;
   }
   #browse-catalog .tcp-featured-category__title-link {
     display: block;
     min-width: 0;
     overflow: hidden;
   }
   #browse-catalog .tp-product-5__title {
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
     line-height: 1.25;
   }
   
   /* New Arrivals: continuous horizontal “marquee” motion (linear slide transitions) */
   .tp-product-slider--marquee .swiper-wrapper {
     transition-timing-function: linear !important;
   }
   
   /* Continuous marquee rows: no pagination dots */
   .tp-product-slider--marquee .swiper-pagination {
     display: none !important;
     visibility: hidden !important;
     pointer-events: none !important;
   }
   
   /* New Arrivals row: match legacy full-bleed width (was .tp-new-product-5__active) */
   .tp-new-product-5__area .tp-product-slider.tp-product-slider--marquee {
     margin-left: -105px;
     margin-right: -105px;
   }
   @media (max-width: 767.98px) {
     .tp-new-product-5__area .tp-product-slider.tp-product-slider--marquee {
       margin-left: 0;
       margin-right: 0;
     }
   }
   
   /* New Arrivals marquee: equal card + image frames (scoped; other marquees unchanged) */
   .tp-new-product-5__area .tcp-new-arrivals-marquee .swiper-wrapper {
     align-items: stretch;
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .swiper-slide {
     height: auto;
     display: flex;
     box-sizing: border-box;
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__item-box {
     display: flex;
     flex-direction: column;
     width: 100%;
     min-width: 0;
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__item {
     flex: 1 1 auto;
     min-height: 0;
     width: 100%;
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__thumb {
     min-height: 0;
     display: block;
     flex-shrink: 0;
     align-items: stretch;
     justify-content: flex-start;
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__thumb > a {
     display: block;
     width: 100%;
     line-height: 0;
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__thumb picture {
     display: block;
     width: 100%;
     aspect-ratio: 1 / 1;
     overflow: hidden;
     border-radius: 8px;
     background: #f8f9fa;
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__thumb picture img {
     width: 100%;
     height: 100%;
     max-height: none;
     object-fit: cover;
     object-position: center;
     border-radius: 0;
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__content {
     flex: 1 1 auto;
     display: flex;
     flex-direction: column;
     align-items: center;
     padding: clamp(0.55rem, 2.2vw, 1.15rem) clamp(0.5rem, 2vw, 1.25rem) clamp(0.65rem, 2.2vw, 1.25rem);
     padding-top: clamp(0.45rem, 1.8vw, 1rem);
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__title-box {
     width: 100%;
     flex: 1 1 auto;
     min-height: 0;
     display: flex;
     align-items: flex-start;
     justify-content: center;
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__title-sm {
     width: 100%;
     margin-bottom: 0;
     line-height: 1.35;
     font-size: clamp(0.8125rem, 1.9vw, 1rem);
     font-weight: 600;
     min-height: calc(1.35em * 2);
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__title-sm a {
     color: inherit;
     display: -webkit-box;
     -webkit-box-orient: vertical;
     -webkit-line-clamp: 2;
     overflow: hidden;
     text-decoration: none;
     text-wrap: balance;
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__star {
     flex-shrink: 0;
     margin-bottom: 0.15rem;
   }
   .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__link-box {
     flex-shrink: 0;
     margin-top: clamp(0.35rem, 1.5vw, 0.85rem);
   }
   @media (max-width: 767.98px) {
     .tp-new-product-5__area .tcp-new-arrivals-marquee .tp-new-product-5__thumb picture img {
       height: 100% !important;
     }
   }
   
   /* --- Homepage: professional hero (two-column + feature strip + swiper) --- */
   .tcp-home-hero-pro {
     --tcp-hero-purple: #6b3fd4;
     --tcp-hero-navy: #1a1d3d;
     --tcp-hero-pink: #e85a8c;
     --tcp-hero-gold: #b8942f;
     --tcp-hero-gold-deep: #9a7828;
     --tcp-hero-coral: #ff5c3d;
     --tcp-hero-coral-hover: #e84d2f;
     background: #f6f7fb;
     padding: clamp(1.15rem, 3.5vw, 2rem) 0 clamp(0.35rem, 2vw, 0.85rem);
   }
   /* Benefit pills moved to sticky header; tighten gap to hero card */
   .tcp-home-hero-pro--sticky-features {
     padding-top: clamp(0.65rem, 2vw, 1.15rem);
   }
   
   .tcp-home-hero-pro__card {
     --tcp-hero-card-pad-x: clamp(1rem, 2.5vw, 1.75rem);
     --tcp-hero-card-pad-y-top: clamp(1.1rem, 2.8vw, 1.65rem);
     --tcp-hero-card-pad-y-bottom: clamp(1.15rem, 3vw, 2rem);
     background: #fff;
     border-radius: 22px;
     box-shadow: 0 18px 56px rgba(26, 29, 61, 0.07), 0 2px 0 rgba(255, 255, 255, 0.65) inset;
     padding: var(--tcp-hero-card-pad-y-top) var(--tcp-hero-card-pad-x) var(--tcp-hero-card-pad-y-bottom);
     border: 1px solid rgba(26, 29, 61, 0.06);
     overflow: hidden;
   }
   
   .tcp-home-hero-pro__features {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 0.55rem 0.65rem;
     margin-bottom: clamp(1.1rem, 2.5vw, 1.65rem);
   }
   
   @media (min-width: 768px) {
     .tcp-home-hero-pro__features {
       grid-template-columns: repeat(4, 1fr);
       gap: 0.65rem 0.85rem;
       margin-bottom: clamp(1.35rem, 2.8vw, 2rem);
     }
   }
   
   .tcp-home-hero-pro__feature {
     display: flex;
     align-items: center;
     gap: 0.55rem;
     padding: 0.62rem 0.78rem;
     border-radius: 14px;
     border: 1px solid rgba(26, 29, 61, 0.06);
     box-shadow: 0 6px 18px rgba(26, 29, 61, 0.06);
     min-height: 100%;
   }
   
   .tcp-home-hero-pro__feature--sky {
     background: linear-gradient(135deg, #e4f1ff 0%, #dbeafe 100%);
   }
   .tcp-home-hero-pro__feature--mint {
     background: linear-gradient(135deg, #e8f8ef 0%, #dcf5e8 100%);
   }
   .tcp-home-hero-pro__feature--sun {
     background: linear-gradient(135deg, #fff9e6 0%, #fff3cc 100%);
   }
   .tcp-home-hero-pro__feature--blush {
     background: linear-gradient(135deg, #fdeef4 0%, #fce4ec 100%);
   }
   
   .tcp-home-hero-pro__feature-icon {
     flex-shrink: 0;
     width: 40px;
     height: 40px;
     border-radius: 10px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     background: rgba(255, 255, 255, 0.92);
     box-shadow: 0 2px 8px rgba(26, 29, 61, 0.06);
   }
   
   .tcp-home-hero-pro__feature-icon--sky {
     color: #1e6bb8;
   }
   .tcp-home-hero-pro__feature-icon--mint {
     color: #1a8f5c;
   }
   .tcp-home-hero-pro__feature-icon--sun {
     color: #c27a00;
   }
   .tcp-home-hero-pro__feature-icon--blush {
     color: #c73d74;
   }
   
   /* Legacy icon variants (e.g. custom boxes / older strips) */
   .tcp-home-hero-pro__feature-icon--purple {
     color: var(--tcp-hero-purple);
     background: rgba(123, 66, 246, 0.12);
   }
   .tcp-home-hero-pro__feature-icon--pink {
     color: #e255a8;
     background: rgba(236, 100, 178, 0.14);
   }
   .tcp-home-hero-pro__feature-icon--teal {
     color: #0d9f9a;
     background: rgba(13, 159, 154, 0.12);
   }
   .tcp-home-hero-pro__feature-icon--orange {
     color: #e8742f;
     background: rgba(232, 116, 47, 0.12);
   }
   
   .tcp-home-hero-pro__feature-text {
     display: flex;
     flex-direction: column;
     gap: 0.15rem;
     font-size: 10.5px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.045em;
     line-height: 1.2;
     color: var(--tcp-hero-navy);
   }
   
   .tcp-home-hero-pro__feature-text strong {
     font-weight: 800;
     letter-spacing: 0.05em;
     font-size: 11px;
     color: #0f0f0f;
   }
   
   .tcp-home-hero-pro__feature-sub {
     display: block;
     font-size: 11px;
     font-weight: 500;
     text-transform: none;
     letter-spacing: 0.01em;
     line-height: 1.35;
     color: #4a5068;
     opacity: 0.95;
   }
   
   .tcp-home-hero-pro__eyebrow {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     font-size: 11.5px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: var(--tcp-hero-navy);
     margin: 0 0 0.6rem;
     line-height: 1.35;
   }
   
   .tcp-home-hero-pro__eyebrow-deco {
     flex-shrink: 0;
     width: 28px;
     height: 3px;
     border-radius: 2px;
     background: linear-gradient(90deg, var(--tp-common-purple-2) 0%, rgba(123, 66, 246, 0.35) 100%);
   }
   
   @keyframes tcp-home-hero-eyebrow-line-pulse {
     0%,
     100% {
       color: var(--tcp-hero-navy);
       opacity: 1;
       text-shadow: none;
     }
     50% {
       color: var(--tp-common-purple-2);
       opacity: 0.78;
       text-shadow: 0 0 18px rgba(123, 66, 246, 0.45);
     }
   }
   
   .tcp-home-hero-pro__eyebrow-text--pulse {
     display: inline-block;
     color: var(--tcp-hero-navy);
     animation: tcp-home-hero-eyebrow-line-pulse 2.2s ease-in-out infinite;
   }
   
   .tcp-home-hero-pro__title-gold {
     color: var(--tcp-hero-gold);
   }
   
   @media (prefers-reduced-motion: reduce) {
     .tcp-home-hero-pro__eyebrow-text--pulse {
       animation: none;
       text-shadow: none;
       opacity: 1;
       color: var(--tcp-hero-navy);
     }
   }
   
   .tcp-home-hero-pro__eyebrow-line {
     border-bottom: 3px solid var(--tp-common-purple-2);
     padding-bottom: 2px;
     margin-right: 0.35rem;
   }
   
   .tcp-home-hero-pro__title {
     margin: 0 0 0.75rem;
     font-family: var(--tp-ff-heading);
     font-weight: 700;
     font-size: clamp(1.45rem, 1.15rem + 2.1vw, 2.35rem);
     line-height: 1.2;
     letter-spacing: -0.02em;
     color: var(--tcp-hero-navy);
     text-transform: capitalize;
   }
   
   .tcp-home-hero-pro__title--billboard {
     text-transform: uppercase;
     letter-spacing: 0.02em;
     font-size: clamp(1.35rem, 1rem + 2.4vw, 2.15rem);
     line-height: 1.18;
   }
   
   .tcp-home-hero-pro__title-em {
     background: linear-gradient(transparent 64%, rgba(240, 102, 160, 0.38) 64%);
     box-decoration-break: clone;
     -webkit-box-decoration-break: clone;
   }
   
   .tcp-home-hero-pro__lead {
     margin: 0 0 1.15rem;
     font-size: clamp(0.95rem, 0.9rem + 0.35vw, 1.06rem);
     line-height: 1.65;
     color: var(--tp-grey-3);
     max-width: 32rem;
   }
   
   .tcp-home-hero-pro__cta-row {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 0.65rem;
     margin-bottom: 0.75rem;
   }
   
   .tcp-home-hero-pro__btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 0.45rem;
     font-family: var(--tp-ff-heading);
     font-weight: 700;
     font-size: 12px;
     line-height: 1.2;
     text-decoration: none;
     border-radius: 12px;
     transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
     border: 1px solid transparent;
     padding: 0.62rem 1rem;
     text-transform: uppercase;
     letter-spacing: 0.055em;
   }
   
   .tcp-home-hero-pro__btn--primary {
     background: var(--tcp-hero-coral);
     color: #fff;
     box-shadow: 0 10px 28px rgba(255, 92, 61, 0.35);
     padding: 0.72rem 1.25rem;
     font-size: 12px;
   }
   
   .tcp-home-hero-pro__btn--primary:hover {
     background: var(--tcp-hero-coral-hover);
     color: #fff;
     transform: translateY(-1px);
   }
   
   .tcp-home-hero-pro__btn--outline {
     background: #fff;
     color: var(--tcp-hero-purple);
     border: 2px solid var(--tcp-hero-purple);
     padding: 0.68rem 1.2rem;
     box-shadow: none;
   }
   
   .tcp-home-hero-pro__btn--outline:hover {
     background: rgba(107, 63, 212, 0.06);
     color: var(--tcp-hero-purple);
     border-color: var(--tcp-hero-purple);
     transform: translateY(-1px);
   }
   
   .tcp-home-hero-pro__cta-secondary {
     display: flex;
     flex-wrap: wrap;
     gap: 0.45rem 0.55rem;
     margin-bottom: 0;
   }
   
   .tcp-home-hero-pro__content:has(.tcp-home-hero-pro__trust-badges) .tcp-home-hero-pro__cta-secondary {
     margin-bottom: 1.25rem;
   }
   
   .tcp-home-hero-pro__btn--whatsapp {
     border: 2px solid #2fd673;
     background: linear-gradient(180deg, #f4fff9 0%, #dff7ea 100%);
     color: #045c32;
     box-shadow: 0 4px 14px rgba(37, 211, 102, 0.28), 0 1px 0 rgba(255, 255, 255, 0.9) inset;
   }
   
   .tcp-home-hero-pro__btn--whatsapp:hover {
     background: #25d366;
     border-color: #1ebe5d;
     color: #fff;
     box-shadow: 0 6px 20px rgba(37, 211, 102, 0.45);
     transform: translateY(-1px);
   }
   
   .tcp-home-hero-pro__btn--ghost {
     border: 2px solid rgba(26, 29, 61, 0.22);
     background: linear-gradient(180deg, #ffffff 0%, #eef1f8 100%);
     color: #12162e;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     font-size: 11px;
     padding: 0.55rem 0.85rem;
     box-shadow: 0 4px 14px rgba(26, 29, 61, 0.12), 0 1px 0 rgba(255, 255, 255, 0.95) inset;
   }
   
   .tcp-home-hero-pro__btn--ghost:hover {
     background: var(--tcp-hero-navy);
     border-color: var(--tcp-hero-navy);
     color: #fff;
     box-shadow: 0 6px 20px rgba(26, 29, 61, 0.28);
     transform: translateY(-1px);
   }
   
   .tcp-home-hero-pro__stat-strip {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: 0.85rem 1rem;
     align-items: start;
     margin-top: clamp(1rem, 2.5vw, 1.5rem);
     margin-left: calc(-1 * var(--tcp-hero-card-pad-x));
     margin-right: calc(-1 * var(--tcp-hero-card-pad-x));
     margin-bottom: calc(-1 * var(--tcp-hero-card-pad-y-bottom));
     padding: clamp(0.95rem, 2vw, 1.15rem) var(--tcp-hero-card-pad-x);
     background: #eceef2;
     border-top: 1px solid rgba(26, 29, 61, 0.07);
   }
   
   @media (min-width: 768px) {
     .tcp-home-hero-pro__stat-strip {
       grid-template-columns: repeat(4, minmax(0, 1fr));
       gap: 0.5rem 0.75rem;
     }
   }
   
   .tcp-home-hero-pro__stat {
     display: flex;
     align-items: flex-start;
     gap: 0.55rem;
     min-width: 0;
   }
   
   .tcp-home-hero-pro__stat-icon {
     flex-shrink: 0;
     width: 38px;
     height: 38px;
     border-radius: 50%;
     display: inline-flex;
     align-items: center;
     justify-content: center;
   }
   
   .tcp-home-hero-pro__stat-icon--blue {
     color: #1e6bb8;
     background: rgba(30, 107, 184, 0.12);
   }
   .tcp-home-hero-pro__stat-icon--green {
     color: #1a8f5c;
     background: rgba(26, 143, 92, 0.12);
   }
   .tcp-home-hero-pro__stat-icon--purple {
     color: var(--tcp-hero-purple);
     background: rgba(107, 63, 212, 0.12);
   }
   .tcp-home-hero-pro__stat-icon--pink {
     color: #c73d74;
     background: rgba(231, 90, 140, 0.14);
   }
   
   .tcp-home-hero-pro__stat-body {
     display: flex;
     flex-direction: column;
     gap: 0.12rem;
     min-width: 0;
   }
   
   .tcp-home-hero-pro__stat-kicker {
     font-family: var(--tp-ff-heading);
     font-weight: 800;
     font-size: 11px;
     line-height: 1.2;
     letter-spacing: 0.06em;
     text-transform: uppercase;
     color: var(--tcp-hero-navy);
   }
   
   .tcp-home-hero-pro__stat-sub {
     font-size: 11px;
     line-height: 1.35;
     font-weight: 500;
     color: #4a5068;
     text-transform: uppercase;
     letter-spacing: 0.04em;
   }
   
   .tcp-home-hero-pro__quality-seal {
     position: absolute;
     top: 0.25rem;
     right: 0.35rem;
     z-index: 6;
     width: 118px;
     height: 118px;
     border-radius: 50%;
     padding: 0.55rem 0.45rem 0.5rem;
     text-align: center;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     gap: 0.05rem;
     background: radial-gradient(circle at 30% 25%, #f0e6a8 0%, #d4af37 38%, #b8942f 72%, #8a6d1f 100%);
     box-shadow: 0 10px 28px rgba(138, 109, 31, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.45);
     border: 2px solid rgba(255, 255, 255, 0.55);
     color: #2a2210;
     pointer-events: none;
   }
   
   .tcp-home-hero-pro__quality-seal-line1,
   .tcp-home-hero-pro__quality-seal-line2 {
     margin: 0;
     font-family: var(--tp-ff-heading);
     font-weight: 800;
     font-size: 9.5px;
     line-height: 1.15;
     letter-spacing: 0.08em;
     text-transform: uppercase;
   }
   
   .tcp-home-hero-pro__quality-seal-stars {
     margin-top: 0.15rem;
     font-size: 9px;
     letter-spacing: 0.06em;
     color: #2a2210;
     line-height: 1;
   }
   
   @media (max-width: 575.98px) {
     .tcp-home-hero-pro__quality-seal {
       width: 96px;
       height: 96px;
       right: 0.15rem;
       top: 0.1rem;
       padding: 0.4rem;
     }
     .tcp-home-hero-pro__quality-seal-line1,
     .tcp-home-hero-pro__quality-seal-line2 {
       font-size: 8px;
     }
     .tcp-home-hero-pro__quality-seal-stars {
       font-size: 8px;
     }
   }
   
   .tcp-home-hero-pro__trust-badges {
     display: flex;
     flex-wrap: wrap;
     gap: 0.65rem 1rem;
     align-items: center;
     padding-top: 0.15rem;
   }
   
   .tcp-home-hero-pro__badge {
     display: inline-flex;
     align-items: center;
     gap: 0.4rem;
     font-size: 12px;
     font-weight: 600;
     color: #3d4159;
   }
   
   .tcp-home-hero-pro__badge-icon {
     width: 34px;
     height: 34px;
     border-radius: 9px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
   }
   
   .tcp-home-hero-pro__badge-icon--purple {
     color: var(--tcp-hero-purple);
     background: rgba(123, 66, 246, 0.1);
   }
   .tcp-home-hero-pro__badge-icon--green {
     color: #1fa65a;
     background: rgba(31, 166, 90, 0.1);
   }
   .tcp-home-hero-pro__badge-icon--orange {
     color: #e8742f;
     background: rgba(232, 116, 47, 0.1);
   }
   
   .tcp-home-hero-pro__visual {
     min-height: 200px;
     padding: 0.25rem 0 2.5rem;
   }
   
   @media (min-width: 992px) {
     .tcp-home-hero-pro__visual {
       padding: 0.5rem 0.35rem 0;
       min-height: 320px;
     }
   }
   
   .tcp-home-hero-pro__visual-bg {
     position: absolute;
     inset: 8% 4% 10% 6%;
     background: radial-gradient(ellipse 80% 70% at 50% 85%, rgba(212, 175, 55, 0.12) 0%, transparent 55%),
       radial-gradient(circle at 20% 30%, rgba(26, 29, 61, 0.04) 0%, transparent 45%),
       linear-gradient(165deg, rgba(245, 246, 251, 0.95) 0%, rgba(255, 255, 255, 0.9) 100%);
     border-radius: 50%;
     z-index: 0;
     pointer-events: none;
   }
   
   .tcp-home-hero-pro__visual-bg::after {
     content: "";
     position: absolute;
     inset: 10%;
     background-image: radial-gradient(circle, rgba(184, 148, 47, 0.14) 1px, transparent 1px);
     background-size: 16px 16px;
     opacity: 0.55;
     border-radius: 50%;
   }
   
   .tcp-home-hero-pro__swiper-wrap {
     position: relative;
     z-index: 1;
     overflow: hidden;
     border-radius: 16px;
   }
   
   /* main.js loads deferred: stack slides so only the first shows (avoid display:none — Swiper needs slides measurable for init/loop) */
   .tcp-home-hero-pro__swiper:not(.swiper-container-initialized) .swiper-wrapper {
     position: relative;
   }
   .tcp-home-hero-pro__swiper:not(.swiper-container-initialized) .swiper-slide ~ .swiper-slide {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     opacity: 0;
     visibility: hidden;
     pointer-events: none;
   }
   
   .tcp-home-hero-pro__swiper {
     overflow: hidden;
     border-radius: 16px;
   }
   
   .tcp-home-hero-pro__slide-img-wrap {
     display: flex;
     align-items: flex-end;
     justify-content: center;
     min-height: 220px;
     padding: 0.35rem 0.25rem 0;
   }
   
   @media (min-width: 992px) {
     .tcp-home-hero-pro__slide-img-wrap {
       min-height: 320px;
     }
   }
   
   .tcp-home-hero-pro__slide-link {
     display: block;
     text-align: center;
     /* Reserve space before the image decodes (reduces CLS with async CSS + Swiper). */
     aspect-ratio: 4 / 3;
     width: 100%;
   }
   
   .tcp-home-hero-pro__slide-img {
     max-height: min(52vh, 420px);
     width: auto;
     max-width: 100%;
     object-fit: contain;
     filter: drop-shadow(0 18px 36px rgba(26, 29, 61, 0.12));
   }
   
   .tcp-home-hero-pro__slide-img-wrap--empty {
     align-items: center;
     justify-content: center;
     min-height: 200px;
     padding: 1.5rem;
   }
   
   .tcp-home-hero-pro__empty-msg {
     font-size: 0.9rem;
     color: var(--tp-grey-3);
     text-align: center;
     max-width: 16rem;
   }
   
   .tcp-home-hero-pro .tp-slider-5__arrow-box {
     position: absolute;
     bottom: 0;
     right: 0;
     left: auto;
     top: auto;
     z-index: 4;
     display: block;
   }
   
   .tcp-home-hero-pro .tp-slider-5__arrow {
     position: absolute;
     left: 8px;
     right: auto;
     bottom: 8px;
     margin: 0;
   }
   
   .tcp-home-hero-pro .tp-slider-5__arrow .test-prev button.active,
   .tcp-home-hero-pro .tp-slider-5__arrow .test-next button:hover,
   .tcp-home-hero-pro .tp-slider-5__arrow .test-prev button:hover {
     background-color: var(--tcp-hero-coral);
   }
   
   .tcp-home-hero-pro__help-card {
     position: absolute;
     right: 0;
     bottom: 0;
     z-index: 5;
     max-width: 200px;
     background: #fff;
     border-radius: 12px;
     padding: 0.7rem 0.85rem;
     box-shadow: 0 12px 32px rgba(26, 29, 61, 0.12);
     border: 1px solid #eef0f7;
   }
   
   @media (max-width: 575.98px) {
     .tcp-home-hero-pro__help-card {
       max-width: 170px;
       padding: 0.55rem 0.65rem;
       font-size: 11px;
     }
   }
   
   .tcp-home-hero-pro__help-icon {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 36px;
     height: 36px;
     border-radius: 9px;
     background: rgba(123, 66, 246, 0.12);
     color: var(--tcp-hero-purple);
     margin-bottom: 0.35rem;
   }
   
   .tcp-home-hero-pro__help-title {
     margin: 0 0 0.15rem;
     font-weight: 800;
     font-size: 13px;
     color: var(--tcp-hero-navy);
   }
   
   .tcp-home-hero-pro__help-text {
     margin: 0;
     font-size: 11px;
     line-height: 1.45;
     color: var(--tp-grey-3);
   }
   
   @media (max-width: 991.98px) {
     .tcp-home-hero-pro__help-card {
       right: 8px;
       bottom: 8px;
     }
   }
   
   @media (min-width: 992px) {
     .tcp-home-hero-pro__help-card {
       right: 12px;
       bottom: 12px;
     }
   }
   
   @media (max-width: 767.98px) {
     .tcp-home-hero-pro .tp-slider-5__arrow-box {
       display: block;
     }
     .tcp-home-hero-pro .tp-slider-5__arrow .test-prev button,
     .tcp-home-hero-pro .tp-slider-5__arrow .test-next button {
       height: 42px;
       width: 42px;
       line-height: 42px;
     }
   }
   
   /* --- Homepage: trust bar (below hero) — compact row, pill reviews, logo marquee --- */
   .tcp-home-trust-bar {
     background: transparent;
     padding: 0.85rem 0 0.55rem;
   }
   
   .tcp-home-trust-bar--after-hero {
     background: #f6f7fb;
     padding-top: 0.15rem;
     padding-bottom: 0.75rem;
   }
   
   .tcp-home-trust-bar--after-hero .tcp-home-trust-bar__inner {
     background: #fff;
     border-radius: 14px;
     border: 1px solid rgba(123, 66, 246, 0.08);
     box-shadow: 0 8px 28px rgba(26, 29, 61, 0.05);
     padding: 0.65rem 0.85rem;
   }
   
   @media (max-width: 991.98px) {
     .tcp-home-trust-bar--after-hero .tcp-home-trust-bar__inner {
       padding: 0.65rem 0.75rem;
     }
   }
   
   .tcp-home-trust-bar__inner {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 0.65rem 0.85rem;
   }
   
   @media (min-width: 992px) {
     .tcp-home-trust-bar__inner {
       flex-wrap: nowrap;
       align-items: stretch;
       gap: 0.75rem 1rem;
     }
   }
   
   .tcp-home-trust-bar__left {
     flex: 0 0 auto;
     max-width: 100%;
     display: flex;
     flex-wrap: nowrap;
     align-items: center;
     gap: 0.6rem 0.85rem;
   }
   
   @media (min-width: 992px) {
     .tcp-home-trust-bar__left {
       /* No max-width: let headline + pills use full natural width; marquee fills the rest */
       gap: 0.65rem 1rem;
     }
   }
   
   .tcp-home-trust-bar__headline {
     margin: 0;
     font-weight: 700;
     color: #121416;
     font-size: clamp(0.78rem, 1.35vw, 1.05rem);
     line-height: 1.2;
     white-space: nowrap;
     flex: 0 0 auto;
   }
   
   .tcp-home-trust-bar__reviews {
     display: flex;
     flex-wrap: nowrap;
     align-items: center;
     gap: 0.35rem 0.5rem;
     flex: 0 0 auto;
   }
   
   .tcp-review-pills {
     display: inline-flex;
     flex-wrap: nowrap;
     align-items: center;
     gap: 6px;
     flex-shrink: 0;
   }
   
   @media (max-width: 991.98px) {
     .tcp-home-trust-bar {
       padding: 0.65rem 0 0.45rem;
     }
     .tcp-home-trust-bar__inner {
       gap: 0.55rem;
       align-items: stretch;
     }
     .tcp-home-trust-bar__left {
       flex-direction: column;
       align-items: stretch;
       flex-wrap: nowrap;
       gap: 0.5rem;
       width: 100%;
     }
     .tcp-home-trust-bar__headline {
       white-space: normal;
       width: 100%;
       flex: none;
       font-size: clamp(0.88rem, 3.6vw, 1.05rem);
       line-height: 1.35;
     }
     .tcp-home-trust-bar__reviews {
       width: 100%;
       flex-wrap: wrap;
     }
     .tcp-review-pills {
       flex-wrap: wrap;
       width: 100%;
       max-width: 100%;
       flex-shrink: 1;
     }
   }
   
   .tcp-review-pill {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     padding: 8px 16px;
     min-height: 48px;
     background: #fff;
     border: none;
     border-radius: 5px;
     text-decoration: none;
     transition: background 0.15s ease;
   }
   
   .tcp-review-pill:hover {
     background: #fafafa;
   }
   
   .tcp-review-pill img {
     display: block;
     max-height: 50px;
     width: auto;
     max-width: 120px;
     object-fit: contain;
   }
   
   .tcp-review-pill--google {
     gap: 10px;
     padding-right: 14px;
   }
   
   .tcp-review-pill--clutch {
     gap: 10px;
     padding-right: 14px;
   }
   
   .tcp-review-pill__g-icon {
     flex-shrink: 0;
     /* Same visual scale as Trustpilot image (.tcp-review-pill img) */
     max-height: 50px;
     max-width: 120px;
     width: auto;
     height: auto;
     object-fit: contain;
   }
   
   /* HTML/CSS wordmark (SVG-as-<img> often renders blank for <text> elements) */
   .tcp-clutch-wordmark {
     display: inline-flex;
     align-items: center;
     gap: 0.42rem;
     font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
     font-weight: 800;
     color: #17313e;
     letter-spacing: -0.03em;
     line-height: 1;
     white-space: nowrap;
   }
   
   .tcp-clutch-wordmark__dot {
     width: 9px;
     height: 9px;
     border-radius: 50%;
     background: #ef4335;
     flex-shrink: 0;
   }
   
   .tcp-clutch-wordmark--pill {
     font-size: clamp(0.78rem, 2vw, 0.92rem);
   }
   
   .tcp-clutch-wordmark--footer {
     font-size: 1.12rem;
     gap: 0.5rem;
   }
   
   .tcp-clutch-wordmark--footer .tcp-clutch-wordmark__dot {
     width: 10px;
     height: 10px;
   }
   
   .tcp-clutch-wordmark--compact {
     font-size: 0.88rem;
     gap: 0.36rem;
   }
   
   .tcp-clutch-wordmark--compact .tcp-clutch-wordmark__dot {
     width: 8px;
     height: 8px;
   }
   
   @media (max-width: 575.98px) {
     .tcp-review-pill {
       padding: 6px 10px;
       min-height: 40px;
     }
     .tcp-review-pill img,
     .tcp-review-pill__g-icon {
       max-height: 30px;
       max-width: 88px;
     }
     .tcp-clutch-wordmark--pill {
       font-size: 0.72rem;
       gap: 0.32rem;
     }
     .tcp-clutch-wordmark--pill .tcp-clutch-wordmark__dot {
       width: 7px;
       height: 7px;
     }
     .tcp-review-pill__text {
       max-width: 8.5rem;
       font-size: 0.75rem;
     }
   }
   
   .tcp-home-trust-bar__divider {
     width: 1px;
     align-self: stretch;
     min-height: 2.75rem;
     background: #e8e8e8;
     flex-shrink: 0;
     margin: 0;
   }
   
   @media (max-width: 991.98px) {
     .tcp-home-trust-bar__divider {
       display: none;
     }
     .tcp-home-trust-bar__logos {
       width: 100%;
       flex: 1 1 100%;
     }
   }
   
   .tcp-home-trust-bar__logos {
     flex: 1 1 0%;
     min-width: 0;
     display: flex;
     align-items: center;
   }
   
   .tcp-home-client-logos {
     margin: 0;
     min-height: 2.75rem;
     flex: 1;
     width: 100%;
     min-width: 0;
   }
   
   .tcp-home-client-logos__viewport {
     overflow: hidden;
     width: 100%;
   }
   
   .tcp-home-client-logos__track {
     display: flex;
     flex-direction: row;
     align-items: center;
     width: max-content;
     gap: 10px;
     animation: tcp-home-client-logos-marquee var(--tcp-marquee-duration, 45s) linear infinite;
     will-change: transform;
   }
   
   .tcp-home-client-logos__viewport:hover .tcp-home-client-logos__track {
     animation-play-state: paused;
   }
   
   @media (prefers-reduced-motion: reduce) {
     .tcp-home-client-logos__track {
       animation: none;
     }
   }
   
   @keyframes tcp-home-client-logos-marquee {
     0% {
       transform: translateX(0);
     }
     100% {
       transform: translateX(-50%);
     }
   }
   
   /* Homepage: Popular Use Cases — continuous horizontal marquee (duplicate track loop) */
   .tcp-popular-use-cases-marquee {
     width: 100%;
     min-width: 0;
   }
   .tcp-popular-use-cases-marquee__viewport {
     overflow: hidden;
     width: 100%;
   }
   .tcp-popular-use-cases-marquee__track {
     display: flex;
     flex-direction: row;
     flex-wrap: nowrap;
     align-items: center;
     width: max-content;
     animation: tcp-popular-use-cases-marquee var(--tcp-use-cases-marquee-sec, 40s) linear infinite;
     will-change: transform;
   }
   .tcp-popular-use-cases-marquee__viewport:hover .tcp-popular-use-cases-marquee__track {
     animation-play-state: paused;
   }
   .tcp-popular-use-cases-marquee__segment {
     display: flex;
     flex-direction: row;
     flex-wrap: nowrap;
     align-items: center;
     gap: 0.45rem 0.85rem;
     flex: 0 0 auto;
     padding-right: 1.75rem;
   }
   .tcp-popular-use-cases-marquee__link {
     flex: 0 0 auto;
     white-space: nowrap;
     text-decoration: none;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-height: 38px;
     padding: 0.35rem 14px;
     font-size: 13px;
     font-weight: 600;
     line-height: 1.2;
     letter-spacing: 0.01em;
     border-radius: 999px;
     border: 1px solid #e7f1fe;
     background: #fff;
     color: #121416;
     box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
     transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease,
       box-shadow 0.2s ease;
   }
   .tcp-popular-use-cases-marquee__link:hover {
     text-decoration: none;
     border-color: var(--tp-common-purple-2);
     background: var(--tp-common-purple-2);
     color: #fff;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
   }
   .tcp-popular-use-cases-marquee__link:focus-visible {
     outline: 2px solid var(--tp-common-purple-2);
     outline-offset: 3px;
   }
   @media (min-width: 768px) {
     .tcp-popular-use-cases-marquee__link {
       min-height: 40px;
       padding: 0.4rem 18px;
       font-size: 14px;
     }
   }
   @media (prefers-reduced-motion: reduce) {
     .tcp-popular-use-cases-marquee__track {
       animation: none;
       flex-wrap: wrap;
       justify-content: center;
       row-gap: 0.5rem;
       width: 100%;
     }
     .tcp-popular-use-cases-marquee__segment[aria-hidden="true"] {
       display: none;
     }
     .tcp-popular-use-cases-marquee__segment {
       flex-wrap: wrap;
       justify-content: center;
       padding-right: 0;
     }
   }
   @keyframes tcp-popular-use-cases-marquee {
     0% {
       transform: translateX(0);
     }
     100% {
       transform: translateX(-50%);
     }
   }
   
   /* Trending products: two rows, opposite horizontal marquee directions */
   .tcp-trending-marquee {
     width: 100%;
     min-width: 0;
     margin-left: -12px;
     margin-right: -12px;
     padding-left: 12px;
     padding-right: 12px;
   }
   @media (min-width: 576px) {
     .tcp-trending-marquee {
       margin-left: -0.65rem;
       margin-right: -0.65rem;
     }
   }
   .tcp-trending-marquee__viewport {
     overflow: hidden;
     width: 100%;
   }
   .tcp-trending-marquee__track {
     display: flex;
     flex-direction: row;
     flex-wrap: nowrap;
     align-items: stretch;
     width: max-content;
     animation: tcp-trending-marquee-left var(--tcp-trending-marquee-sec, 44s) linear infinite;
     will-change: transform;
   }
   .tcp-trending-marquee--right .tcp-trending-marquee__track {
     animation-name: tcp-trending-marquee-right;
   }
   .tcp-trending-marquee--left .tcp-trending-marquee__track {
     animation-name: tcp-trending-marquee-left;
   }
   .tcp-trending-marquee__viewport:hover .tcp-trending-marquee__track {
     animation-play-state: paused;
   }
   .tcp-trending-marquee__segment {
     display: flex;
     flex-direction: row;
     flex-wrap: nowrap;
     align-items: stretch;
     gap: 1rem;
     flex: 0 0 auto;
     padding-right: 1rem;
     box-sizing: border-box;
   }
   .tcp-trending-marquee__slide {
     flex: 0 0 auto;
     width: min(300px, 82vw);
     max-width: 100%;
     box-sizing: border-box;
   }
   @media (min-width: 992px) {
     .tcp-trending-marquee__slide {
       width: min(280px, 24vw);
     }
   }
   @media (prefers-reduced-motion: reduce) {
     .tcp-trending-marquee__track {
       animation: none;
       flex-wrap: wrap;
       justify-content: center;
       row-gap: 1rem;
       width: 100%;
       max-width: 100%;
     }
     .tcp-trending-marquee__segment[aria-hidden="true"] {
       display: none;
     }
     .tcp-trending-marquee__segment {
       flex-wrap: wrap;
       justify-content: center;
       padding-right: 0;
     }
     .tcp-trending-marquee__slide {
       width: min(300px, 100%);
     }
   }
   @keyframes tcp-trending-marquee-left {
     0% {
       transform: translateX(0);
     }
     100% {
       transform: translateX(-50%);
     }
   }
   @keyframes tcp-trending-marquee-right {
     0% {
       transform: translateX(-50%);
     }
     100% {
       transform: translateX(0);
     }
   }
   
   /* Homepage (index only): tighten vertical gap — Trending Products → “Design • Print • Deliver” */
   .tp-product-2__area.tp-product-2__space {
     padding-bottom: 1.25rem;
   }
   @media (min-width: 768px) {
     .tp-product-2__area.tp-product-2__space {
       padding-bottom: 1.5rem;
     }
   }
   .tp-product-2__area .tp-process-2__section-box.mb-60 {
     margin-bottom: 1.75rem !important;
   }
   .tp-product-2__area .tcp-trending-marquee.mt-4 {
     margin-top: 0.75rem !important;
   }
   .tp-slider-text-3__area.pb-135 {
     padding-top: 0;
     padding-bottom: 3.5rem !important;
   }
   .tp-slider-text-3__area .tp-slider-text-3__item {
     padding-top: 0.35rem;
     padding-bottom: 0.35rem;
   }
   
   .tcp-home-client-logos__item {
     flex: 0 0 auto;
   }
   
   .tcp-home-client-logos__card {
     display: flex;
     align-items: center;
     justify-content: center;
     width: auto;
     min-height: 48px;
     padding: 8px 16px;
     box-sizing: border-box;
     background: #fff;
     border: none;
     border-radius: 5px;
     transition: background 0.15s ease;
   }
   
   .tcp-home-client-logos__card:hover {
     background: #fafafa;
   }
   
   .tcp-home-client-logos__link {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     height: 100%;
     text-decoration: none;
   }
   
   /* Match .tcp-review-pill img: consistent logo scale */
   .tcp-home-client-logos__card img {
     display: block;
     max-height: 40px;
     width: auto;
     max-width: 120px;
     object-fit: contain;
     object-position: center;
     filter: grayscale(100%);
     opacity: 0.75;
     transition: opacity 0.2s ease;
   }
   
   @media (max-width: 575.98px) {
     .tcp-home-client-logos__card {
       padding: 6px 12px;
       min-height: 44px;
     }
     .tcp-home-client-logos__card img {
       max-height: 34px;
       max-width: 100px;
     }
   }
   
   .tcp-home-client-logos__viewport:hover .tcp-home-client-logos__card img {
     opacity: 0.88;
   }
   
   /* --- Homepage: quote CTA strip (below trust bar) — matches theme purple / borders --- */
   .tcp-home-quote-cta {
     padding-top: clamp(2rem, 4vw, 3.125rem);
     padding-bottom: clamp(2rem, 4vw, 3.125rem);
     background: linear-gradient(180deg, #ffffff 0%, #fafbff 45%, #ffffff 100%);
   }
   
   .tcp-home-quote-cta__panel {
     background: #fff;
     border: 1px solid #e7f1fe;
     border-radius: 16px;
     padding: clamp(1.25rem, 3.2vw, 2.35rem) clamp(1.1rem, 3vw, 2.5rem);
     box-shadow: 0 14px 48px rgba(168, 85, 247, 0.09);
   }
   
   .tcp-home-quote-cta__chips {
     display: flex;
     flex-wrap: wrap;
     gap: 0.45rem 0.65rem;
     margin-bottom: 1.15rem;
   }
   
   .tcp-home-quote-cta__chip {
     display: inline-block;
     font-family: var(--tp-ff-heading);
     font-size: 12px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     color: var(--tp-heading-primary);
     padding: 0.4rem 0.9rem;
     border-radius: 6px;
     border: 1px solid #e7f1fe;
     background: linear-gradient(180deg, #ffffff 0%, #f8f9ff 100%);
     line-height: 1.2;
   }
   
   .tcp-home-quote-cta__eyebrow {
     display: inline-block;
     margin-bottom: 0.5rem;
     font-family: var(--tp-ff-heading);
     font-weight: 600;
     font-size: 13px;
     text-transform: uppercase;
     letter-spacing: 0.07em;
     line-height: 1.3;
     background: linear-gradient(92.35deg, #ff4d8d 0%, #9c42eb 52%, #517efb 100%);
     -webkit-background-clip: text;
     background-clip: text;
     -webkit-text-fill-color: transparent;
   }
   
   .tcp-home-quote-cta__title {
     margin: 0 0 0.65rem;
     color: var(--tp-heading-primary);
     font-family: var(--tp-ff-heading);
     font-weight: 500;
     font-size: clamp(1.2rem, 2.1vw + 0.85rem, 1.85rem);
     line-height: 1.25;
     letter-spacing: -0.02em;
     text-transform: capitalize;
   }
   
   @media (max-width: 575.98px) {
     .tcp-home-quote-cta__title {
       font-size: clamp(1.1rem, 4.5vw, 1.35rem);
       line-height: 1.3;
       font-weight: 500;
     }
   }
   
   .tcp-home-quote-cta__title br {
     display: none;
   }
   
   .tcp-home-quote-cta__lead {
     margin-bottom: 1.35rem;
     max-width: 46rem;
     font-size: clamp(0.95rem, 1.35vw, 1.05rem);
     line-height: 1.65;
     color: var(--tp-grey-3);
   }
   
   .tcp-home-quote-cta__actions {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 0.5rem 0.6rem;
   }
   
   /* Smaller buttons than global tp-btn-square / tp-btn-border (theme defaults are ~61px tall) */
   .tcp-home-quote-cta__actions .tp-btn-square,
   .tcp-home-quote-cta__actions .tp-btn-border {
     margin: 0;
     box-sizing: border-box;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     height: auto;
     min-height: 0;
     line-height: 1.25;
     padding: 0.5rem 1.05rem;
     font-size: 13px;
     font-weight: 600;
   }
   
   .tcp-home-quote-cta__actions .tp-btn-square {
     text-transform: uppercase;
     letter-spacing: 0.04em;
   }
   
   .tcp-home-quote-cta__btn--whatsapp.tp-btn-border {
     border-color: rgba(37, 211, 102, 0.55);
     color: #0d7a52;
   }
   
   .tcp-home-quote-cta__btn--whatsapp.tp-btn-border:hover {
     border-color: #25d366;
     background: #25d366;
     color: #fff;
   }
   
   @media (max-width: 575.98px) {
     .tcp-home-quote-cta__panel {
       border-radius: 12px;
       padding: 1.15rem 1rem;
     }
   
     .tcp-home-quote-cta__actions {
       flex-direction: column;
       align-items: center;
       gap: 0.45rem;
     }
   
     .tcp-home-quote-cta__actions .tp-btn-square,
     .tcp-home-quote-cta__actions .tp-btn-border {
       width: 100%;
       max-width: 18.5rem;
       padding: 0.45rem 0.85rem;
       font-size: 12px;
       text-align: center;
     }
   }
   
   /* --- Homepage: Google-style reviews strip --- */
   .tcp-google-reviews {
     background: #f3f4f6;
   }
   
   .tcp-google-reviews__panel {
     background: #eceff3;
     border-radius: 16px;
     padding: 20px 18px 22px;
     box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
   }
   
   @media (min-width: 768px) {
     .tcp-google-reviews__panel {
       padding: 24px 26px 26px;
     }
   }
   
   .tcp-google-reviews__header {
     display: flex;
     flex-wrap: wrap;
     align-items: flex-start;
     justify-content: space-between;
     gap: 16px 20px;
     margin-bottom: 20px;
   }
   
   .tcp-google-reviews__brand-row {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-bottom: 6px;
   }
   
   .tcp-google-reviews__g-logo {
     display: inline-flex;
     flex-shrink: 0;
   }
   
   .tcp-google-reviews__g-logo svg {
     display: block;
   }
   
   .tcp-google-reviews__title {
     font-size: 1.35rem;
     font-weight: 600;
     margin: 0;
     color: #3c4043;
     letter-spacing: -0.02em;
   }
   
   .tcp-google-reviews__rating-block {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 8px 10px;
   }
   
   .tcp-google-reviews__score {
     font-size: 1.125rem;
     font-weight: 700;
     color: #202124;
   }
   
   .tcp-google-reviews__stars,
   .tcp-google-reviews__card-stars {
     color: #ffc107;
     letter-spacing: 2px;
     font-size: 1rem;
     line-height: 1;
   }
   
   .tcp-google-reviews__count {
     font-size: 0.875rem;
     color: #5f6368;
   }
   
   .tcp-google-reviews__cta-row {
     display: inline-flex;
     flex-wrap: wrap;
     align-items: center;
     justify-content: flex-end;
     gap: 10px;
   }
   
   .tcp-google-reviews__cta {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     padding: 10px 18px;
     border-radius: 999px;
     background: #1a73e8;
     color: #fff !important;
     font-size: 0.875rem;
     font-weight: 600;
     text-decoration: none;
     white-space: nowrap;
     border: none;
     transition: background 0.15s ease, box-shadow 0.15s ease;
   }
   
   .tcp-google-reviews__cta:hover {
     background: #1557b0;
     color: #fff !important;
     box-shadow: 0 2px 8px rgba(26, 115, 232, 0.35);
   }
   
   .tcp-google-reviews__cta--clutch {
     background: #17313e;
   }
   
   .tcp-google-reviews__cta--clutch:hover {
     background: #0f2329;
     color: #fff !important;
     box-shadow: 0 2px 8px rgba(23, 49, 62, 0.35);
   }
   
   @media (max-width: 575.98px) {
     .tcp-google-reviews__cta-row {
       justify-content: flex-start;
       width: 100%;
     }
   }
   
   .tcp-google-reviews__swiper-wrap {
     margin-top: 4px;
   }
   
   .tcp-google-reviews__swiper {
     overflow: hidden;
     padding-bottom: 4px;
   }
   
   .tcp-google-reviews__card {
     background: #fff;
     border-radius: 12px;
     padding: 18px 18px 16px;
     height: 100%;
     box-shadow: 0 2px 12px rgba(32, 33, 36, 0.08);
     border: 1px solid rgba(0, 0, 0, 0.04);
     display: flex;
     flex-direction: column;
     min-height: 0;
   }
   
   .tcp-google-reviews__card-head {
     display: flex;
     align-items: flex-start;
     gap: 12px;
     margin-bottom: 12px;
   }
   
   .tcp-google-reviews__avatar {
     width: 44px;
     height: 44px;
     border-radius: 50%;
     overflow: hidden;
     flex-shrink: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     font-weight: 700;
     font-size: 1.1rem;
   }
   
   .tcp-google-reviews__avatar img {
     width: 100%;
     height: 100%;
     object-fit: cover;
   }
   
   .tcp-google-reviews__meta {
     min-width: 0;
   }
   
   .tcp-google-reviews__name-row {
     display: flex;
     align-items: center;
     gap: 6px;
     flex-wrap: wrap;
   }
   
   .tcp-google-reviews__name {
     font-size: 0.9375rem;
     font-weight: 700;
     color: #202124;
   }
   
   .tcp-google-reviews__verified {
     display: inline-flex;
     flex-shrink: 0;
   }
   
   .tcp-google-reviews__date {
     display: block;
     font-size: 0.8125rem;
     color: #5f6368;
     margin-top: 2px;
   }
   
   .tcp-google-reviews__card-stars {
     margin-bottom: 10px;
     font-size: 0.95rem;
   }
   
   .tcp-google-reviews__text {
     margin: 0;
     font-size: 0.9375rem;
     line-height: 1.55;
     color: #202124;
     display: -webkit-box;
     -webkit-line-clamp: 5;
     line-clamp: 5;
     -webkit-box-orient: vertical;
     overflow: hidden;
   }
   
   .tcp-google-reviews__nav {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 12px;
     margin-top: 18px;
   }
   
   .tcp-google-reviews__arrow {
     width: 44px;
     height: 44px;
     border-radius: 50%;
     border: 1px solid #dadce0;
     background: #fff;
     color: #3c4043;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     padding: 0;
     cursor: pointer;
     transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
   }
   
   .tcp-google-reviews__arrow:hover:not(:disabled) {
     background: #f8f9fa;
     border-color: #bdc1c6;
     color: #202124;
   }
   
   .tcp-google-reviews__arrow.swiper-button-disabled {
     opacity: 0.35;
     cursor: not-allowed;
   }
   
   .tcp-google-reviews__empty {
     padding: 12px 4px 4px;
   }
   
   /* --- Homepage: Our Capabilities + FAQ — mix accents on white (matches index layout) --- */
   .tcp-capabilities-faq--mix {
     background-color: #ffffff;
     color: var(--tp-text-body);
     position: relative;
     isolation: isolate;
   }
   
   .tcp-capabilities-faq--mix::before {
     content: "";
     position: absolute;
     inset: 0;
     z-index: 0;
     pointer-events: none;
     background:
       radial-gradient(ellipse 120% 55% at 100% 0%, rgba(168, 85, 247, 0.07) 0%, transparent 52%),
       radial-gradient(ellipse 90% 50% at 0% 100%, rgba(34, 211, 238, 0.06) 0%, transparent 48%),
       radial-gradient(ellipse 70% 45% at 80% 95%, rgba(244, 114, 182, 0.05) 0%, transparent 42%),
       radial-gradient(ellipse 50% 35% at 15% 40%, rgba(190, 242, 100, 0.04) 0%, transparent 40%);
   }
   
   .tcp-capabilities-faq--mix .container {
     position: relative;
     z-index: 1;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__title {
     font-size: clamp(1.5rem, 1.2rem + 1.2vw, 1.85rem);
     font-weight: 700;
     color: var(--tp-heading-primary);
     margin-bottom: 0.85rem;
     line-height: 1.25;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__lead {
     color: var(--tp-text-body);
     font-size: 1rem;
     line-height: 1.65;
     margin-bottom: 1.5rem;
     max-width: 36rem;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight {
     margin-top: 0.25rem;
     margin-bottom: 0.25rem;
     padding: 1.15rem 1.25rem 1.25rem;
     border-radius: 14px;
     border: 2px solid transparent;
     background:
       linear-gradient(155deg, #ffffff 0%, var(--tp-common-pink-2) 100%) padding-box,
       linear-gradient(
         125deg,
         var(--tcp-mix-purple),
         var(--tcp-mix-cyan),
         var(--tcp-mix-gold),
         var(--tcp-mix-magenta),
         var(--tcp-mix-coral),
         var(--tcp-mix-lime),
         var(--tcp-mix-purple)
       )
       border-box;
     box-shadow: 0 10px 36px rgba(15, 23, 42, 0.08);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-kicker {
     font-size: 0.72rem;
     font-weight: 700;
     letter-spacing: 0.1em;
     text-transform: uppercase;
     margin: 0 0 0.85rem;
     background: linear-gradient(90deg, var(--tcp-mix-purple), var(--tcp-mix-cyan));
     -webkit-background-clip: text;
     background-clip: text;
     color: transparent;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-list {
     list-style: none;
     margin: 0 0 1rem;
     padding: 0;
     display: flex;
     flex-direction: column;
     gap: 0.65rem;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-list li {
     display: flex;
     gap: 0.65rem;
     align-items: flex-start;
     font-size: 0.9rem;
     line-height: 1.5;
     color: var(--tp-text-body);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-list strong {
     color: var(--tp-heading-primary);
     font-weight: 600;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-list li:nth-child(1) .tcp-capabilities-faq__spotlight-check {
     background: rgba(168, 85, 247, 0.15);
     color: var(--tcp-mix-purple-deep);
     box-shadow: 0 0 0 1px rgba(168, 85, 247, 0.28);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-list li:nth-child(2) .tcp-capabilities-faq__spotlight-check {
     background: rgba(34, 211, 238, 0.14);
     color: #0e7490;
     box-shadow: 0 0 0 1px rgba(34, 211, 238, 0.28);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-list li:nth-child(3) .tcp-capabilities-faq__spotlight-check {
     background: rgba(251, 113, 133, 0.14);
     color: #be123c;
     box-shadow: 0 0 0 1px rgba(251, 113, 133, 0.28);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-check {
     flex-shrink: 0;
     width: 1.65rem;
     height: 1.65rem;
     display: flex;
     align-items: center;
     justify-content: center;
     margin-top: 0.1rem;
     border-radius: 50%;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-stats {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 0.5rem;
     padding-top: 0.85rem;
     border-top: 1px solid rgba(15, 23, 42, 0.08);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-stat {
     text-align: center;
     padding: 0.35rem 0.2rem;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-stat:nth-child(1) .tcp-capabilities-faq__spotlight-stat-val {
     color: #ca8a04;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-stat:nth-child(2) .tcp-capabilities-faq__spotlight-stat-val {
     color: #0e7490;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-stat:nth-child(3) .tcp-capabilities-faq__spotlight-stat-val {
     color: #db2777;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-stat-val {
     display: block;
     font-size: 1rem;
     font-weight: 700;
     line-height: 1.2;
     font-family: var(--tp-ff-heading);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-stat-lbl {
     display: block;
     font-size: 0.68rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     color: var(--tp-grey-3);
     margin-top: 0.15rem;
   }
   
   @media (max-width: 575.98px) {
     .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-stats {
       grid-template-columns: 1fr;
       text-align: left;
     }
     .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-stat {
       text-align: left;
       display: flex;
       align-items: baseline;
       gap: 0.5rem;
       flex-wrap: wrap;
       padding: 0.25rem 0;
     }
     .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-stat-val,
     .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-stat-lbl {
       display: inline;
       margin-top: 0;
     }
     .tcp-capabilities-faq--mix .tcp-capabilities-faq__spotlight-stat-lbl::before {
       content: "· ";
     }
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__faq-meta {
     font-size: 0.9rem;
     line-height: 1.5;
     color: var(--tp-grey-3);
     margin: -0.35rem 0 1.1rem;
     max-width: 40rem;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__faq-panel {
     width: 100%;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__faq-index {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     width: 1.65rem;
     height: 1.65rem;
     margin-right: 0.65rem;
     border-radius: 6px;
     font-size: 0.8rem;
     font-weight: 700;
     background: var(--tp-grey-2);
     color: var(--tp-heading-primary);
   }
   
   .tcp-capabilities-faq--mix
     .tcp-capabilities-faq__accordion
     .tp-custom-accordion-2
     .accordion-items:nth-child(6n + 1)
     .tcp-capabilities-faq__faq-index {
     background: var(--tcp-mix-purple);
     color: #ffffff;
   }
   
   .tcp-capabilities-faq--mix
     .tcp-capabilities-faq__accordion
     .tp-custom-accordion-2
     .accordion-items:nth-child(6n + 2)
     .tcp-capabilities-faq__faq-index {
     background: #06b6d4;
     color: #ffffff;
   }
   
   .tcp-capabilities-faq--mix
     .tcp-capabilities-faq__accordion
     .tp-custom-accordion-2
     .accordion-items:nth-child(6n + 3)
     .tcp-capabilities-faq__faq-index {
     background: #eab308;
     color: #0b0b10;
   }
   
   .tcp-capabilities-faq--mix
     .tcp-capabilities-faq__accordion
     .tp-custom-accordion-2
     .accordion-items:nth-child(6n + 4)
     .tcp-capabilities-faq__faq-index {
     background: #ec4899;
     color: #ffffff;
   }
   
   .tcp-capabilities-faq--mix
     .tcp-capabilities-faq__accordion
     .tp-custom-accordion-2
     .accordion-items:nth-child(6n + 5)
     .tcp-capabilities-faq__faq-index {
     background: var(--tcp-mix-coral);
     color: #ffffff;
   }
   
   .tcp-capabilities-faq--mix
     .tcp-capabilities-faq__accordion
     .tp-custom-accordion-2
     .accordion-items:nth-child(6n + 6)
     .tcp-capabilities-faq__faq-index {
     background: #84cc16;
     color: #0b0b10;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__faq-qtext {
     flex: 1 1 auto;
     min-width: 0;
     text-align: left;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 0.75rem;
   }
   
   @media (min-width: 768px) {
     .tcp-capabilities-faq--mix .tcp-capabilities-faq__grid {
       grid-template-columns: repeat(4, 1fr);
     }
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card {
     position: relative;
     background: #ffffff;
     border: 1px solid var(--tp-border-1);
     border-radius: 12px;
     padding: 1rem 0.65rem;
     text-align: center;
     min-height: 118px;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     gap: 0.5rem;
     box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
     border-top: 3px solid rgba(15, 23, 42, 0.08);
     overflow: hidden;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card::after {
     content: "";
     position: absolute;
     width: 2.25rem;
     height: 0.55rem;
     top: 0.65rem;
     right: 0.55rem;
     border-radius: 4px;
     transform: skewX(-18deg);
     opacity: 0.55;
     pointer-events: none;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 1) {
     border-top-color: var(--tcp-mix-purple);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 1)::after {
     background: var(--tcp-mix-purple);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 1) .tcp-capabilities-faq__icon {
     color: var(--tcp-mix-purple);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 2) {
     border-top-color: var(--tcp-mix-cyan);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 2)::after {
     background: var(--tcp-mix-cyan);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 2) .tcp-capabilities-faq__icon {
     color: var(--tcp-mix-cyan);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 3) {
     border-top-color: var(--tcp-mix-gold);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 3)::after {
     background: var(--tcp-mix-gold);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 3) .tcp-capabilities-faq__icon {
     color: var(--tcp-mix-gold);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 4) {
     border-top-color: var(--tcp-mix-magenta);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 4)::after {
     background: var(--tcp-mix-magenta);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 4) .tcp-capabilities-faq__icon {
     color: var(--tcp-mix-magenta);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 5) {
     border-top-color: var(--tcp-mix-coral);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 5)::after {
     background: var(--tcp-mix-coral);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 5) .tcp-capabilities-faq__icon {
     color: var(--tcp-mix-coral);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 6) {
     border-top-color: var(--tcp-mix-lime);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 6)::after {
     background: var(--tcp-mix-lime);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card:nth-child(6n + 6) .tcp-capabilities-faq__icon {
     color: var(--tcp-mix-lime);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__icon {
     display: flex;
     align-items: center;
     justify-content: center;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__svg {
     width: 44px;
     height: 44px;
     display: block;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__card-title {
     font-size: 0.8125rem;
     font-weight: 600;
     color: var(--tp-heading-primary);
     line-height: 1.3;
   }
   
   @media (min-width: 992px) {
     .tcp-capabilities-faq--mix .tcp-capabilities-faq__card-title {
       font-size: 0.85rem;
     }
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__actions {
     display: flex;
     flex-wrap: wrap;
     gap: 0.75rem;
     margin-top: 1.75rem;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     padding: 0.65rem 1.35rem;
     border-radius: 8px;
     font-weight: 600;
     font-size: 0.9375rem;
     text-decoration: none;
     font-family: var(--tp-ff-heading);
     transition: filter 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__btn:first-of-type {
     background: var(--tcp-light-cta-bg);
     border: 2px solid var(--tp-border-1);
     color: var(--tp-heading-primary) !important;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__btn:first-of-type:hover {
     filter: none;
     background: var(--tcp-light-cta-bg-hover);
     border-color: var(--tcp-mix-purple);
     color: var(--tp-heading-primary) !important;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__btn:last-of-type {
     background: transparent;
     border: 2px solid var(--tp-border-1);
     color: var(--tp-heading-primary) !important;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__btn:last-of-type:hover {
     border-color: var(--tcp-mix-purple);
     color: var(--tcp-mix-purple-deep) !important;
     background: var(--tp-common-pink-2);
   }
   
   @media (max-width: 991.98px) {
     .tcp-capabilities-faq--mix .tcp-capabilities-faq__title--faq {
       margin-top: 2rem;
     }
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__accordion .tp-custom-accordion-2 .accordion-items {
     margin-bottom: 0.5rem;
     background: #ffffff;
     border: 1px solid var(--tp-border-1);
     border-radius: 10px;
     overflow: hidden;
     box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__accordion .tp-custom-accordion-2 .accordion-items.tp-faq-active {
     border-radius: 10px;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__accordion .tp-custom-accordion-2 .accordion-buttons {
     display: flex !important;
     align-items: center;
     padding: 1rem 3rem 1rem 1.25rem !important;
     font-size: 1rem;
     line-height: 1.45;
     font-weight: 600;
     background-color: #ffffff !important;
     border: none;
     color: var(--tp-heading-primary) !important;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__accordion .tp-custom-accordion-2 .accordion-buttons.collapsed {
     background-color: #ffffff !important;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__accordion .tp-custom-accordion-2 .accordion-buttons.collapsed:hover {
     background-color: var(--tp-common-pink-2) !important;
     color: var(--tp-common-purple-2) !important;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__accordion .tp-custom-accordion-2 .accordion-buttons:not(.collapsed) {
     background-color: rgba(168, 85, 247, 0.1) !important;
     color: var(--tp-common-purple-2) !important;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__accordion .tp-custom-accordion-2 .accordion-buttons:not(.collapsed)::after {
     border-color: var(--tp-common-purple-2) !important;
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__accordion .tp-custom-accordion-2 .accordion-buttons::after {
     font-family: inherit !important;
     background-image: none !important;
     content: "" !important;
     width: 0.45rem;
     height: 0.45rem;
     border-style: solid;
     border-color: var(--tp-grey-3);
     border-width: 0 2px 2px 0;
     top: 50%;
     right: 1.35rem;
     opacity: 1;
     transform: translateY(-50%) rotate(-45deg);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__accordion .tp-custom-accordion-2 .accordion-buttons:not(.collapsed)::after {
     transform: translateY(-65%) rotate(45deg);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__accordion .tp-custom-accordion-2 .accordion-buttons.collapsed::after {
     content: "" !important;
     transform: translateY(-50%) rotate(-45deg);
   }
   
   .tcp-capabilities-faq--mix .tcp-capabilities-faq__accordion .tp-custom-accordion-2 .accordion-body {
     margin: 0 1.15rem;
     padding-top: 0.35rem;
     padding-bottom: 1.25rem;
     font-size: 0.95rem;
     line-height: 1.65;
     color: var(--tp-grey-3);
     background: #ffffff;
     border-top: 1px solid var(--tp-border-1);
   }
   
   /* --- Homepage: Try Before You Commit (sample request) --- */
   .tcp-sample-cta {
     padding-top: 4rem;
     padding-bottom: 4rem;
     background: linear-gradient(180deg, #fffaf7 0%, var(--tp-common-pink-3) 55%, #fff 100%);
     border-top: 1px solid rgba(168, 85, 247, 0.1);
     border-bottom: 1px solid rgba(168, 85, 247, 0.1);
   }
   
   .tcp-sample-cta__title {
     font-size: clamp(1.65rem, 1.35rem + 1.1vw, 2.15rem);
     font-weight: 700;
     color: var(--tp-common-purple-2);
     margin-bottom: 1rem;
     line-height: 1.2;
     font-family: var(--tp-ff-heading);
   }
   
   .tcp-sample-cta__intro {
     color: var(--tp-heading-primary);
     font-size: 1rem;
     line-height: 1.7;
     margin-bottom: 1.25rem;
     max-width: 38rem;
   }
   
   .tcp-sample-cta__form-wrap {
     max-width: 100%;
   }
   
   .tcp-sample-cta__label {
     display: block;
     font-size: 0.75rem;
     font-weight: 600;
     color: var(--tp-grey-3);
     margin-bottom: 0.2rem;
     letter-spacing: 0.01em;
   }
   
   /* Thin, dense controls — override Bootstrap form-control height */
   .tcp-sample-cta .tcp-sample-cta__control.form-control,
   .tcp-sample-cta .tcp-sample-cta__control.form-select {
     min-height: 0 !important;
     padding: 0.4rem 0.72rem;
     font-size: 0.875rem;
     line-height: 1.35;
     border: 1px solid #c9ced4;
     border-radius: 7px;
     color: var(--tp-heading-primary);
     background: var(--tp-common-white);
     transition: border-color 0.15s ease, box-shadow 0.15s ease;
   }
   
   .tcp-sample-cta .tcp-sample-cta__control.form-select {
     padding-top: 0.42rem;
     padding-bottom: 0.42rem;
     background-position: right 0.55rem center;
     background-size: 14px 11px;
   }
   
   .tcp-sample-cta__fields > [class*="col-"] {
     padding-top: 0.05rem;
     padding-bottom: 0.05rem;
   }
   
   .tcp-sample-cta__consent.form-check {
     padding-left: 1.65rem;
     margin-top: 0.5rem;
     margin-bottom: 0;
   }
   
   .tcp-sample-cta__consent .form-check-input {
     width: 0.95rem;
     height: 0.95rem;
     margin-top: 0.2rem;
     margin-left: -1.65rem;
     border-radius: 0.2rem;
   }
   
   .tcp-sample-cta .tcp-sample-cta__control.form-control::placeholder {
     color: #8a9299;
     opacity: 1;
   }
   
   .tcp-sample-cta .tcp-sample-cta__control.form-control:focus,
   .tcp-sample-cta .tcp-sample-cta__control.form-select:focus {
     border-color: var(--tp-common-purple-2);
     box-shadow: 0 0 0 2px rgba(168, 85, 247, 0.16);
     outline: none;
   }
   
   .tcp-sample-cta__consent-label {
     font-size: 0.78rem;
     line-height: 1.45;
     color: var(--tp-text-body);
   }
   
   /* --- SMS consent (shared: quote form, contact, header modal, sample CTA) --- */
   .tcp-sms-consent {
     display: flex;
     align-items: flex-start;
     gap: 0.65rem;
     padding: 0.75rem 0.85rem;
     margin-top: 0.65rem;
     margin-bottom: 0.35rem;
     background: #f6f7fa;
     border: 1px solid #e4e7ee;
     border-radius: 8px;
     box-sizing: border-box;
     max-width: 100%;
   }
   
   .tcp-sms-consent.form-check {
     padding-left: 0.85rem;
   }
   
   .tcp-sample-cta__consent.tcp-sms-consent.form-check {
     padding-left: 0.85rem !important;
     margin-top: 0.65rem;
   }
   
   .tcp-sms-consent .form-check-input {
     float: none;
     margin-left: 0 !important;
     margin-top: 0.18rem;
     flex-shrink: 0;
     width: 1.05rem;
     height: 1.05rem;
     border-radius: 0.2rem;
     cursor: pointer;
   }
   
   .tcp-sms-consent .form-check-label {
     flex: 1;
     min-width: 0;
     font-size: 0.8125rem;
     line-height: 1.5;
     color: var(--tp-text-body, #495057);
     cursor: pointer;
     margin-bottom: 0;
   }
   
   .tcp-sms-consent .form-check-label.text-theme {
     color: var(--tp-text-body, #495057);
   }
   
   .tcp-sms-consent .form-check-label a {
     color: #1a73e8;
     font-weight: 600;
     text-decoration: underline;
     text-underline-offset: 2px;
     word-break: break-word;
   }
   
   .tcp-sms-consent .form-check-label a:hover {
     color: var(--tp-common-purple-2, #9333ea);
   }
   
   #quoteModal .tcp-sms-consent {
     margin-left: 0;
     margin-right: 0;
   }

   /* Toast notifications (quote form validation) */
   .tcp-toast-root {
     position: fixed;
     top: max(1rem, env(safe-area-inset-top, 0px));
     right: max(1rem, env(safe-area-inset-right, 0px));
     z-index: 10100;
     display: flex;
     flex-direction: column;
     gap: 0.5rem;
     max-width: min(360px, calc(100vw - 2rem));
     pointer-events: none;
   }
   .tcp-toast {
     display: flex;
     align-items: flex-start;
     gap: 0.55rem;
     padding: 0.75rem 0.85rem;
     border-radius: 10px;
     background: #fff;
     border: 1px solid #e5e7eb;
     box-shadow: 0 12px 32px rgba(9, 5, 47, 0.14);
     opacity: 0;
     transform: translateX(12px);
     transition: opacity 0.25s ease, transform 0.25s ease;
     pointer-events: auto;
   }
   .tcp-toast--visible {
     opacity: 1;
     transform: translateX(0);
   }
   .tcp-toast--error {
     border-left: 4px solid #c4161c;
   }
   .tcp-toast--success {
     border-left: 4px solid #16a34a;
   }
   .tcp-toast__icon {
     flex-shrink: 0;
     width: 1.35rem;
     height: 1.35rem;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 0.75rem;
     font-weight: 700;
   }
   .tcp-toast--error .tcp-toast__icon {
     background: #fde8ea;
     color: #c4161c;
   }
   .tcp-toast--success .tcp-toast__icon {
     background: #dcfce7;
     color: #16a34a;
   }
   .tcp-toast__text {
     flex: 1;
     font-size: 0.8125rem;
     line-height: 1.4;
     color: #1f2937;
   }
   .tcp-toast__close {
     border: none;
     background: transparent;
     color: #9ca3af;
     font-size: 1.1rem;
     line-height: 1;
     padding: 0;
     cursor: pointer;
   }
   .tcp-quote-modal-form .form-control.is-invalid,
   .tcp-quote-modal-form .form-select.is-invalid,
   .tcp-quote-form .form-control.is-invalid,
   .tcp-quote-form .form-select.is-invalid,
   .js-quote-form .form-control.is-invalid,
   .js-quote-form select.is-invalid {
     border-color: #c4161c !important;
     box-shadow: 0 0 0 3px rgba(196, 22, 28, 0.1) !important;
   }

   /* Quote modal — professional single-page layout */
   #quoteModal {
     z-index: 10080 !important;
   }
   body.modal-open .modal-backdrop {
     z-index: 10075 !important;
   }
   .tcp-quote-modal-dialog {
     max-width: min(780px, calc(100vw - 1.5rem));
     margin: 0.75rem auto;
   }
   #quoteModal .modal-dialog.modal-dialog-centered {
     align-items: center;
     min-height: calc(100% - 1rem);
   }
   .tcp-quote-modal {
     border: none;
     border-radius: 14px;
     overflow: hidden;
     box-shadow: 0 24px 64px rgba(9, 5, 47, 0.2);
   }
   .tcp-quote-modal-form {
     display: flex;
     flex-direction: column;
     max-height: min(90vh, 820px);
   }
   .tcp-quote-modal__header {
     flex-shrink: 0;
     align-items: flex-start;
     gap: 1rem;
     padding: 1.1rem 1.35rem 0.85rem;
     background: linear-gradient(135deg, #f8f6ff 0%, #fff 55%);
     border-bottom: 1px solid #ece8f5;
   }
   .tcp-quote-modal__header .modal-title {
     font-size: 1.2rem;
     font-weight: 700;
     color: #1a1630;
     margin-bottom: 0.2rem;
   }
   .tcp-quote-modal__subtitle {
     font-size: 0.8125rem;
     color: #6b7280;
   }
   .tcp-quote-modal__body {
     flex: 1 1 auto;
     overflow-y: auto;
     padding: 0.85rem 1.35rem 0.5rem;
     -webkit-overflow-scrolling: touch;
   }
   .tcp-quote-section {
     margin-bottom: 1rem;
     padding-bottom: 0.85rem;
     border-bottom: 1px solid #eef0f5;
   }
   .tcp-quote-section--last {
     border-bottom: none;
     margin-bottom: 0;
     padding-bottom: 0;
   }
   .tcp-quote-section__title {
     font-size: 0.6875rem;
     font-weight: 700;
     letter-spacing: 0.06em;
     text-transform: uppercase;
     color: var(--tp-common-purple-2, #9333ea);
     margin: 0 0 0.65rem;
   }
   .tcp-field-label {
     display: block;
     font-size: 0.75rem;
     font-weight: 600;
     color: #374151;
     margin-bottom: 0.25rem;
   }
   .tcp-field-hint {
     display: block;
     font-size: 0.6875rem;
     color: #9ca3af;
     margin-top: 0.25rem;
     line-height: 1.3;
   }
   .tcp-quote-modal-form .form-control,
   .tcp-quote-modal-form .form-select,
   .tcp-quote-form .form-control,
   .tcp-quote-form .form-select {
     font-size: 0.8125rem;
     min-height: 36px;
     padding: 0.35rem 0.55rem;
     border: 1px solid #d8dce6;
     border-radius: 8px;
     background: #fff;
     box-shadow: none;
     transition: border-color 0.15s ease, box-shadow 0.15s ease;
   }
   .tcp-quote-modal-form .form-control:focus,
   .tcp-quote-modal-form .form-select:focus,
   .tcp-quote-form .form-control:focus,
   .tcp-quote-form .form-select:focus {
     border-color: var(--tp-common-purple-2, #9333ea);
     box-shadow: 0 0 0 3px rgba(147, 51, 234, 0.12);
   }
   .tcp-quote-modal-form textarea.form-control,
   .tcp-quote-form textarea.form-control {
     min-height: 56px;
     resize: vertical;
   }
   .tcp-quote-modal-form input[type="file"].form-control,
   .tcp-quote-form input[type="file"].form-control {
     min-height: 34px;
     padding: 0.25rem 0.45rem;
     font-size: 0.75rem;
   }
   .tcp-captcha-box {
     border: 1px solid #e8e0f5;
     border-radius: 10px;
     background: linear-gradient(135deg, #faf8ff 0%, #fff 100%);
     overflow: hidden;
   }
   .tcp-captcha-box__head {
     display: flex;
     align-items: center;
     gap: 0.65rem;
     padding: 0.6rem 0.85rem;
     border-bottom: 1px solid #efe8f8;
     background: rgba(147, 51, 234, 0.04);
   }
   .tcp-captcha-box__icon {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 2rem;
     height: 2rem;
     border-radius: 8px;
     background: var(--tp-common-purple-2, #9333ea);
     color: #fff;
     font-size: 0.9rem;
     flex-shrink: 0;
   }
   .tcp-captcha-box__label {
     display: block;
     font-size: 0.8125rem;
     font-weight: 700;
     color: #1a1630;
     line-height: 1.2;
   }
   .tcp-captcha-box__hint {
     display: block;
     font-size: 0.6875rem;
     color: #9ca3af;
     margin-top: 0.1rem;
   }
   .tcp-captcha-box__body {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 0.65rem;
     padding: 0.75rem 0.85rem;
   }
   .tcp-captcha-box__challenge {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     flex-shrink: 0;
   }
   .tcp-captcha-box__challenge-label {
     font-size: 0.6875rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     color: #9ca3af;
   }
   .tcp-captcha-box__equation {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-width: 4.5rem;
     padding: 0.35rem 0.75rem;
     font-size: 1.05rem;
     font-weight: 700;
     color: var(--tp-common-purple-2, #9333ea);
     background: #fff;
     border: 1px solid #e0d4f5;
     border-radius: 8px;
     letter-spacing: 0.02em;
   }
   .tcp-captcha-box__answer-wrap {
     display: flex;
     align-items: stretch;
     flex: 1 1 180px;
     gap: 0.45rem;
     min-width: 0;
   }
   .tcp-captcha-box__input {
     flex: 1 1 auto;
     min-width: 0;
     max-width: none !important;
     text-align: center;
     font-weight: 600;
     font-size: 0.9375rem !important;
   }
   .tcp-captcha-box__refresh {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 0.35rem;
     padding: 0 0.75rem;
     border: 1px solid #d8dce6;
     border-radius: 8px;
     background: #fff;
     color: #4b5563;
     font-size: 0.75rem;
     font-weight: 600;
     cursor: pointer;
     transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
     white-space: nowrap;
   }
   .tcp-captcha-box__refresh:hover {
     border-color: var(--tp-common-purple-2, #9333ea);
     color: var(--tp-common-purple-2, #9333ea);
     background: #faf8ff;
   }
   .tcp-captcha-box__refresh i {
     font-size: 0.8rem;
   }
   .tcp-quote-file-preview img {
     max-width: 64px;
     max-height: 64px;
     margin-top: 0.35rem;
     border-radius: 6px;
     border: 1px solid #eef0f5;
   }
   .tcp-quote-modal__consent.tcp-sms-consent,
   .tcp-quote-form__consent.tcp-sms-consent {
     margin-top: 0.75rem;
     padding: 0.65rem 0.75rem;
     border-radius: 8px;
     background: #f9fafb;
     border: 1px solid #eef0f5;
   }
   .tcp-quote-modal__consent .form-check-label,
   .tcp-quote-form__consent .form-check-label {
     font-size: 0.6875rem;
     line-height: 1.4;
     color: #4b5563;
   }
   .tcp-quote-modal__footer {
     flex-shrink: 0;
     justify-content: flex-end;
     gap: 0.65rem;
     padding: 0.85rem 1.35rem;
     background: #fafbfc;
     border-top: 1px solid #eef0f5;
   }
   .tcp-quote-modal__submit {
     background: var(--tp-common-purple-2, #9333ea);
     border-color: var(--tp-common-purple-2, #9333ea);
     color: #fff;
     font-weight: 600;
     font-size: 0.875rem;
     padding: 0.5rem 1.35rem;
     border-radius: 8px;
   }
   .tcp-quote-modal__submit:hover,
   .tcp-quote-modal__submit:focus {
     background: #7c22d4;
     border-color: #7c22d4;
     color: #fff;
   }
   .tcp-quote-modal__submit:disabled,
   .tcp-quote-form__submit:disabled {
     opacity: 0.7;
   }
   .tcp-quote-form__submit,
   .tcp-quote-modal__submit {
     background: var(--tp-common-purple-2, #9333ea);
     border: 1px solid var(--tp-common-purple-2, #9333ea);
     color: #fff;
     font-weight: 600;
     font-size: 0.875rem;
     padding: 0.55rem 1.5rem;
     border-radius: 8px;
     cursor: pointer;
     transition: background 0.15s ease, border-color 0.15s ease;
   }
   .tcp-quote-form__submit:hover,
   .tcp-quote-form__submit:focus,
   .tcp-quote-modal__submit:hover,
   .tcp-quote-modal__submit:focus {
     background: #7c22d4;
     border-color: #7c22d4;
     color: #fff;
   }

   /* Home page quote section — same form styling as modal */
   #getQuote.tcp-about__area {
     background: linear-gradient(180deg, #faf9fc 0%, #fff 40%);
   }
   .tcp-home-quote__heading {
     padding-bottom: 2.5rem;
   }
   .tcp-home-quote__title {
     font-size: clamp(1.75rem, 3vw, 2.25rem);
     font-weight: 700;
     color: #1a1630;
     margin-bottom: 0.5rem;
   }
   .tcp-home-quote__subtitle {
     font-size: 0.9375rem;
     color: #6b7280;
     max-width: 32rem;
     margin: 0 auto;
   }
   .tcp-home-quote__card {
     background: #fff;
     border: 1px solid #ece8f5;
     border-radius: 14px;
     box-shadow: 0 12px 40px rgba(9, 5, 47, 0.08);
     padding: 1.25rem 1.35rem 1.35rem;
   }
   .tcp-home-quote__card-head {
     margin-bottom: 1rem;
     padding-bottom: 0.85rem;
     border-bottom: 1px solid #eef0f5;
   }
   .tcp-home-quote__card-head .tcp-home-quote__title {
     font-size: 1.35rem;
     margin-bottom: 0.35rem;
   }
   .tcp-quote-form__actions {
     display: flex;
     justify-content: flex-end;
     margin-top: 1rem;
     padding-top: 0.85rem;
     border-top: 1px solid #eef0f5;
   }
   @media (max-width: 767.98px) {
     .tcp-home-quote__card {
       padding: 1rem;
       border-radius: 12px;
     }
     .tcp-quote-form__actions {
       justify-content: stretch;
     }
     .tcp-quote-form__actions .tcp-quote-form__submit {
       width: 100%;
     }
     #getQuote .tcp-quote-section .col-6 {
       flex: 0 0 50%;
       max-width: 50%;
     }
     #getQuote .tcp-quote-section .col-md-3,
     #getQuote .tcp-quote-section .col-md-4 {
       flex: 0 0 100%;
       max-width: 100%;
     }
   }
   @media (max-width: 767.98px) {
     .tcp-quote-modal-dialog {
       max-width: calc(100vw - 0.5rem);
       margin: 0.35rem auto;
     }
     .tcp-quote-modal-form {
       max-height: 92vh;
     }
     .tcp-quote-modal__header,
     .tcp-quote-modal__body,
     .tcp-quote-modal__footer {
       padding-left: 1rem;
       padding-right: 1rem;
     }
     .tcp-quote-modal__header .modal-title {
       font-size: 1.05rem;
     }
     .tcp-quote-section .col-6 {
       flex: 0 0 50%;
       max-width: 50%;
     }
     .tcp-quote-section .col-md-4,
     .tcp-quote-section .col-md-8,
     .tcp-quote-section .col-lg-3 {
       flex: 0 0 100%;
       max-width: 100%;
     }
     .tcp-captcha-box__body {
       flex-direction: column;
       align-items: stretch;
     }
     .tcp-captcha-box__challenge {
       justify-content: center;
     }
     .tcp-captcha-box__answer-wrap {
       flex: 1 1 100%;
     }
     .tcp-captcha-box__refresh-text {
       display: none;
     }
     .tcp-captcha-box__refresh {
       padding: 0 0.65rem;
     }
     .tcp-quote-modal__footer {
       flex-direction: column-reverse;
     }
     .tcp-quote-modal__footer .btn {
       width: 100%;
     }
   }
   
   .mini-form .tcp-sms-consent {
     margin-top: 0.55rem;
   }
   
   @media (max-width: 575.98px) {
     .tcp-sms-consent {
       gap: 0.55rem;
       padding: 0.65rem 0.7rem;
       border-radius: 7px;
       margin-top: 0.5rem;
     }
   
     .tcp-sms-consent.form-check {
       padding-left: 0.7rem;
     }
   
     .tcp-sample-cta__consent.tcp-sms-consent.form-check {
       padding-left: 0.7rem !important;
     }
   
     .tcp-sms-consent .form-check-input {
       width: 1.15rem;
       height: 1.15rem;
       margin-top: 0.12rem;
     }
   
     .tcp-sms-consent .form-check-label {
       font-size: 0.78rem;
       line-height: 1.48;
     }
   }
   
   @media (max-width: 399.98px) {
     .tcp-sms-consent .form-check-label {
       font-size: 0.74rem;
       line-height: 1.46;
     }
   }
   
   .tcp-sample-cta__link {
     color: #1a73e8;
     font-weight: 600;
     text-decoration: underline;
   }
   
   .tcp-sample-cta__link:hover {
     color: var(--tp-common-purple-2);
   }
   
   .tcp-sample-cta__captcha-input {
     flex: 1 1 200px;
     min-width: 0;
   }
   
   .tcp-sample-cta__captcha-refresh {
     border-radius: 7px;
     padding: 0.4rem 0.85rem;
     font-size: 0.8125rem;
     line-height: 1.35;
     border-color: #c9ced4;
   }
   
   .tcp-sample-cta__submit {
     border-radius: 7px;
     padding: 0.5rem 1.35rem;
     font-weight: 600;
     font-size: 0.9rem;
     font-family: var(--tp-ff-heading);
     background: var(--tp-common-purple-2);
     border: 2px solid var(--tp-common-purple-2);
     color: var(--tp-common-white) !important;
     transition: background 0.2s ease, border-color 0.2s ease;
   }
   
   .tcp-sample-cta__submit:hover {
     background: #ff8717;
     border-color: #ff8717;
     color: var(--tp-common-white) !important;
   }
   
   .tcp-sample-cta__figure {
     position: relative;
     display: block;
     max-width: 100%;
     margin: 0;
     padding: 0;
     background: transparent;
     border: none;
     box-shadow: none;
   }
   
   .tcp-sample-cta__img {
     display: block;
     width: 100%;
     height: auto;
     max-width: 100%;
     border-radius: 0;
     box-shadow: none;
     border: none;
     object-fit: contain;
   }
   
   @media (max-width: 991.98px) {
     .tcp-sample-cta__figure {
       max-width: 100%;
       margin-left: auto;
       margin-right: auto;
     }
   }
   
   /* --- Footer: trusted reviews + logistics partners --- */
   .tcp-footer-trust-logistics {
     border-top: 1px solid #f2f2f2;
     border-bottom: 1px solid #f2f2f2;
     background: #f4f4f4;
     padding: 2.5rem 0;
   }
   
   /* Stack heading above logos; both columns start-aligned with logo rows */
   .tcp-footer-trust-logistics .row > [class*="col-"] {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
   }
   
   .tcp-footer-trust-logistics__heading {
     font-size: 0.875rem;
     font-weight: 800;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     color: var(--tp-heading-primary);
     margin-bottom: 0;
     margin-top: 0;
     padding-bottom: 1rem;
     font-family: var(--tp-ff-heading);
     width: 100%;
   }
   
   .tcp-footer-trust-logistics__logos {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 1.25rem;
     width: 100%;
   }
   
   .tcp-footer-trust-logistics__logos--trust {
     gap: 1.75rem;
     align-items: center;
   }

   .tcp-footer-trust-logistics__logos--trust .tcp-footer-trust-logistics__trust-link {
     gap: 0.75rem;
   }

   .tcp-footer-trust-logistics__google-mark,
   .tcp-footer-trust-logistics__tp-icon {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     flex: 0 0 44px;
     width: 44px;
     height: 44px;
   }

   .tcp-footer-trust-logistics__trust-link--clutch .tcp-footer-trust-logistics__clutch-mark {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-height: 44px;
     line-height: 1;
   }

   .tcp-footer-trust-logistics__logos--trust .tcp-clutch-wordmark--footer {
     font-size: 1.35rem;
     gap: 0.5rem;
   }

   .tcp-footer-trust-logistics__logos--trust .tcp-clutch-wordmark--footer .tcp-clutch-wordmark__dot {
     width: 12px;
     height: 12px;
   }

   .tcp-footer-trust-logistics .row > [class*="col-"]:last-child {
     align-items: center;
   }

   .tcp-footer-trust-logistics__logistics-block {
     display: inline-block;
     max-width: 100%;
   }

   .tcp-footer-trust-logistics__heading--logistics {
     font-size: 1rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     padding-bottom: 0;
     margin-bottom: 0.75rem;
   }

   .tcp-footer-trust-logistics__logos-wrap {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     justify-content: center;
     margin-left: -15px;
     margin-right: -15px;
     box-sizing: border-box;
     max-width: calc(100% + 30px);
   }

   .tcp-footer-trust-logistics__logo-cell {
     box-sizing: border-box;
     flex: 0 0 auto;
     width: 151px;
     max-width: 100%;
     padding-left: 15px;
     padding-right: 15px;
   }

   .tcp-footer-trust-logistics__logo-link {
     display: block;
     line-height: 0;
     text-decoration: none;
     color: inherit;
     transition: opacity 0.15s ease;
   }

   .tcp-footer-trust-logistics__logo-link:hover {
     opacity: 0.85;
   }

   .tcp-footer-trust-logistics__logos-wrap .tcp-footer-trust-logistics__carrier-svg {
     display: block;
     width: 100%;
     height: auto;
     max-width: 100%;
   }
   
   .tcp-footer-trust-logistics__trust-link {
     display: inline-flex;
     align-items: center;
     gap: 0.65rem;
     text-decoration: none;
     color: var(--tp-heading-primary);
     transition: opacity 0.15s ease;
   }
   
   .tcp-footer-trust-logistics__google-mark svg,
   .tcp-footer-trust-logistics__tp-icon svg {
     display: block;
     width: 44px;
     height: 44px;
     max-width: 100%;
     max-height: 100%;
   }
   
   .tcp-footer-trust-logistics__trust-link:hover {
     opacity: 0.82;
   }
   
   .tcp-footer-trust-logistics__google-text {
     display: flex;
     flex-direction: column;
     line-height: 1.15;
   }
   
   .tcp-footer-trust-logistics__google-word {
     font-size: 1.35rem;
     font-weight: 700;
     letter-spacing: -0.02em;
   }
   
   .tcp-footer-trust-logistics__google-reviews {
     font-size: 0.95rem;
     font-weight: 600;
     color: var(--tp-grey-3);
   }
   
   .tcp-footer-trust-logistics__stars {
     font-size: 0.92rem;
     color: #f4b400;
     letter-spacing: 0.05em;
   }
   
   .tcp-footer-trust-logistics__trust-link--tp .tcp-footer-trust-logistics__tp-text {
     font-weight: 700;
     font-size: 1.35rem;
     color: #191919;
     letter-spacing: -0.02em;
   }
   
   @media (max-width: 767.98px) {
     /* Keep trust + carrier logo rows on one line (no stacking / wrapping) */
     .tcp-footer-trust-logistics__logos--trust {
       flex-direction: row;
       flex-wrap: nowrap;
       align-items: center;
       gap: 0.85rem;
     }

     .tcp-footer-trust-logistics__google-mark,
     .tcp-footer-trust-logistics__tp-icon {
       flex: 0 0 34px;
       width: 34px;
       height: 34px;
     }
   
     .tcp-footer-trust-logistics__logos-wrap {
       flex-wrap: nowrap;
       justify-content: center;
       margin-left: -8px;
       margin-right: -8px;
       max-width: calc(100% + 16px);
     }

     .tcp-footer-trust-logistics__logo-cell {
       width: min(151px, 30vw);
       padding-left: 8px;
       padding-right: 8px;
     }
   
     .tcp-footer-trust-logistics__google-mark svg,
     .tcp-footer-trust-logistics__tp-icon svg {
       width: 34px;
       height: 34px;
     }

     .tcp-footer-trust-logistics__trust-link--clutch .tcp-footer-trust-logistics__clutch-mark {
       min-height: 34px;
     }
   
     .tcp-footer-trust-logistics__google-word {
       font-size: 1.12rem;
     }
   
     .tcp-footer-trust-logistics__google-reviews {
       font-size: 0.8rem;
     }
   
     .tcp-footer-trust-logistics__stars {
       font-size: 0.76rem;
     }
   
     .tcp-footer-trust-logistics__trust-link--tp .tcp-footer-trust-logistics__tp-text {
       font-size: 1.12rem;
     }
   
     .tcp-footer-trust-logistics__logos--trust .tcp-clutch-wordmark--footer {
       font-size: 1.12rem;
       gap: 0.42rem;
     }

     .tcp-footer-trust-logistics__logos--trust .tcp-clutch-wordmark--footer .tcp-clutch-wordmark__dot {
       width: 10px;
       height: 10px;
     }
   
   }
   
   /* --- Touch targets --- */
   @media (pointer: coarse) {
     .tp-menu-bar {
       min-width: 44px;
       min-height: 44px;
       padding: 8px;
     }
   }

   /* --- Custom Boxes page: order journey (5 steps) --- */
   .tcp-cb-journey {
     --tcp-cb-journey-bg: #f4f5f7;
     --tcp-cb-journey-icon: #b57c8a;
     --tcp-cb-journey-text: #5c6370;
     --tcp-cb-journey-heading: #141823;
     background: var(--tcp-cb-journey-bg);
     padding: clamp(3rem, 5.5vw, 5.25rem) 0;
   }

   .tcp-cb-journey__intro {
     margin-bottom: clamp(2rem, 4vw, 3rem);
     padding: 0 0.5rem;
   }

   .tcp-cb-journey__title {
     font-family: inherit;
     font-size: clamp(1.5rem, 3vw, 2rem);
     font-weight: 700;
     color: var(--tcp-cb-journey-heading);
     letter-spacing: -0.02em;
     line-height: 1.2;
     margin: 0 0 1rem;
   }

   .tcp-cb-journey__lead {
     max-width: 42rem;
     margin: 0 auto;
     font-size: 1rem;
     line-height: 1.65;
     color: var(--tcp-cb-journey-text);
   }

   .tcp-cb-journey__grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 1rem;
     align-items: stretch;
   }

   @media (min-width: 576px) {
     .tcp-cb-journey__grid {
       grid-template-columns: repeat(2, minmax(0, 1fr));
       gap: 1rem;
     }
   }

   @media (min-width: 992px) {
     .tcp-cb-journey__grid {
       grid-template-columns: repeat(5, minmax(0, 1fr));
       gap: 0.75rem;
     }
   }

   .tcp-cb-journey__card {
     background: #fff;
     border-radius: 10px;
     border: 1px solid rgba(0, 0, 0, 0.055);
     box-shadow:
       0 1px 2px rgba(0, 0, 0, 0.05),
       0 6px 20px rgba(0, 0, 0, 0.045);
     padding: 1.5rem 1.25rem 1.625rem;
     height: 100%;
     display: flex;
     flex-direction: column;
     text-align: left;
     transition:
       box-shadow 0.2s ease,
       transform 0.2s ease;
   }

   @media (hover: hover) and (pointer: fine) {
     .tcp-cb-journey__card:hover {
       box-shadow:
         0 4px 12px rgba(0, 0, 0, 0.08),
         0 8px 24px rgba(0, 0, 0, 0.06);
       transform: translateY(-2px);
     }
   }

   .tcp-cb-journey__icon-wrap {
     display: flex;
     align-items: center;
     justify-content: center;
     margin-bottom: 1rem;
     min-height: 48px;
   }

   .tcp-cb-journey__icon {
     width: 48px;
     height: 48px;
     color: var(--tcp-cb-journey-icon);
     flex-shrink: 0;
   }

   .tcp-cb-journey__step-label {
     display: block;
     font-size: 0.6875rem;
     font-weight: 600;
     letter-spacing: 0.11em;
     text-transform: uppercase;
     color: #8b9199;
     margin-bottom: 0.5rem;
   }

   .tcp-cb-journey__card-title {
     font-family: inherit;
     font-size: 1.0625rem;
     font-weight: 700;
     color: #1a1d24;
     margin: 0 0 0.625rem;
     line-height: 1.3;
     letter-spacing: -0.01em;
   }

   .tcp-cb-journey__card-text {
     font-size: 0.875rem;
     line-height: 1.55;
     color: var(--tcp-cb-journey-text);
     margin: 0;
   }

   /* --- Custom Boxes: Featured Custom Packaging Products (2 rows on lg+, tight spacing) --- */
   .tcp-cb-catalog {
     padding: 2.25rem 0 2.5rem;
   }

   @media (min-width: 768px) {
     .tcp-cb-catalog {
       padding: 2.75rem 0 3rem;
     }
   }

   .tcp-cb-catalog__intro {
     margin-bottom: 1.15rem;
     max-width: 44rem;
     margin-left: auto;
     margin-right: auto;
   }

   .tcp-cb-catalog__heading {
     margin-bottom: 0.45rem;
     font-size: clamp(1.35rem, 2.5vw, 1.75rem);
     line-height: 1.25;
   }

   .tcp-cb-catalog__lead {
     margin: 0 auto !important;
     font-size: 0.9375rem;
     line-height: 1.55;
     max-width: 36rem;
   }

   .tcp-cb-catalog__grid {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: 0.65rem 0.6rem;
     align-items: stretch;
   }

   @media (min-width: 576px) {
     .tcp-cb-catalog__grid {
       grid-template-columns: repeat(3, minmax(0, 1fr));
       gap: 0.7rem 0.65rem;
     }
   }

   @media (min-width: 768px) {
     .tcp-cb-catalog__grid {
       grid-template-columns: repeat(6, minmax(0, 1fr));
       gap: 0.65rem 0.55rem;
     }
   }

   .tcp-cb-catalog__cell {
     min-width: 0;
   }

   .tcp-cb-catalog__card {
     background: #fff;
     border-radius: 10px;
     border: 1px solid rgba(0, 0, 0, 0.06);
     box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
     padding: 0.5rem 0.5rem 0.65rem;
     transition: box-shadow 0.15s ease;
   }

   @media (hover: hover) and (pointer: fine) {
     .tcp-cb-catalog__card:hover {
       box-shadow: 0 4px 14px rgba(0, 0, 0, 0.07);
     }
   }

   .tcp-cb-catalog__thumb img {
     border-radius: 8px;
   }

   .tcp-cb-catalog__body {
     padding-top: 0.4rem !important;
     padding-bottom: 0 !important;
   }

   .tcp-cb-catalog__product-title {
     margin-bottom: 0.4rem !important;
     font-size: 0.8125rem !important;
     line-height: 1.35 !important;
     font-weight: 600;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
   }

   .tcp-cb-catalog__btn.tp-btn-cart {
     display: flex !important;
     align-items: center;
     justify-content: center;
     width: 100%;
     height: auto !important;
     min-height: 2.15rem;
     padding: 0.35rem 0.65rem !important;
     font-size: 0.72rem !important;
     line-height: 1.2 !important;
     border-radius: 6px;
     text-align: center;
   }

   .tcp-cb-catalog__empty {
     grid-column: 1 / -1;
     padding: 1rem 0.5rem;
   }

/* --------------------------------------------------------------------------
   Voyager site-section HTML (privacy, terms, shipping, refund, why us)
   Matches blog `.postbox__text` rhythm and theme accents.
   -------------------------------------------------------------------------- */
.tcp-site-policy {
  background-color: #fff;
}

.tcp-site-page-prose {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 1.125rem;
  line-height: 1.45;
  color: #838383;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

.tcp-site-page-prose > *:first-child {
  margin-top: 0;
}

.tcp-site-page-prose > *:last-child {
  margin-bottom: 0;
}

.tcp-site-page-prose h1,
.tcp-site-page-prose h2,
.tcp-site-page-prose h3,
.tcp-site-page-prose h4,
.tcp-site-page-prose h5,
.tcp-site-page-prose h6 {
  color: #121416;
  font-weight: 600;
  line-height: 1.2;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.tcp-site-page-prose h1:first-child,
.tcp-site-page-prose h2:first-child,
.tcp-site-page-prose h3:first-child {
  margin-top: 0;
}

.tcp-site-page-prose h2 {
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

.tcp-site-page-prose h3 {
  font-size: clamp(1.2rem, 2vw, 1.45rem);
}

.tcp-site-page-prose h4 {
  font-size: 1.125rem;
}

.tcp-site-page-prose p {
  font-weight: 400;
  font-size: inherit;
  line-height: 1.45;
  color: inherit;
  margin-bottom: 1.15rem;
}

.tcp-site-page-prose a {
  color: var(--tp-theme-2, #9333ea);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.tcp-site-page-prose a:hover {
  color: var(--tp-theme-3, #951df6);
}

.tcp-site-page-prose strong,
.tcp-site-page-prose b {
  color: #121416;
  font-weight: 600;
}

.tcp-site-page-prose ul,
.tcp-site-page-prose ol {
  margin: 0 0 1.15rem;
  padding-left: 1.5rem;
  list-style-position: outside;
}

/* Base `style.css` sets `li { list-style: none; }` — restore markers for CMS lists */
.tcp-site-page-prose li {
  list-style: revert;
  list-style-position: outside;
  margin-bottom: 0.35rem;
  line-height: 1.45;
}

.tcp-site-page-prose ul > li {
  list-style-type: disc;
}

.tcp-site-page-prose ol > li {
  list-style-type: decimal;
}

.tcp-site-page-prose ul ul > li {
  list-style-type: circle;
}

.tcp-site-page-prose ul ul ul > li {
  list-style-type: square;
}

.tcp-site-page-prose ol ol > li {
  list-style-type: lower-alpha;
}

.tcp-site-page-prose ol ol ol > li {
  list-style-type: lower-roman;
}

.tcp-site-page-prose li > ul,
.tcp-site-page-prose li > ol {
  margin-top: 0.35rem;
  margin-bottom: 0.35rem;
}

.tcp-site-page-prose blockquote {
  margin: 0 0 1.15rem;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--tp-theme-3, #951df6);
  background: #f8f8f9;
  color: #4a4a4a;
  font-style: normal;
  line-height: 1.45;
}

.tcp-site-page-prose hr {
  border: 0;
  border-top: 1px solid #e8e8e8;
  margin: 2rem 0;
}

.tcp-site-page-prose img,
.tcp-site-page-prose video,
.tcp-site-page-prose iframe {
  max-width: 100%;
  height: auto;
}

.tcp-site-page-prose iframe {
  border-radius: 8px;
}

.tcp-site-page-prose table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  margin: 0 0 1.75rem;
  font-size: 0.95em;
  table-layout: auto;
}

.tcp-site-page-prose th,
.tcp-site-page-prose td {
  border: 1px solid #e4e4e4;
  padding: 0.65rem 0.85rem;
  text-align: left;
  vertical-align: top;
  line-height: 1.4;
}

.tcp-site-page-prose th {
  background: #f4f4f6;
  color: #121416;
  font-weight: 600;
}

.tcp-site-page-prose code,
.tcp-site-page-prose pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.9em;
}

.tcp-site-page-prose code {
  background: #f3f3f5;
  padding: 0.15em 0.4em;
  border-radius: 4px;
  color: #132047;
}

.tcp-site-page-prose pre {
  background: #132047;
  color: #f0f0f0;
  padding: 1rem 1.15rem;
  border-radius: 8px;
  overflow-x: auto;
  margin: 0 0 1.5rem;
}

.tcp-site-page-prose pre code {
  background: transparent;
  padding: 0;
  color: inherit;
}

@media (max-width: 1399px) {
  .tcp-site-page-prose {
    font-size: 1.0625rem;
  }
}

@media (max-width: 991px) {
  .tcp-site-page-prose {
    font-size: 1rem;
  }
}

@media (max-width: 767px) {
  .tcp-site-page-prose {
    font-size: 0.9375rem;
  }

  .tcp-site-page-prose h2 {
    margin-top: 1.5rem;
  }

  .tcp-site-page-prose table {
    font-size: 0.85em;
  }

  .tcp-site-page-prose th,
  .tcp-site-page-prose td {
    padding: 0.45rem 0.5rem;
  }
}

/* --- Thank you page (text-only, no image) --- */
.tcp-thankyou-page {
  background: linear-gradient(180deg, #f8f6ff 0%, #fff 42%);
}
.tcp-thankyou {
  padding: clamp(3rem, 8vw, 5rem) 0 clamp(4rem, 10vw, 6rem);
}
.tcp-thankyou__card {
  background: #fff;
  border: 1px solid #ece8f5;
  border-radius: 16px;
  padding: clamp(2rem, 5vw, 3rem);
  box-shadow: 0 20px 50px rgba(9, 5, 47, 0.08);
}
.tcp-thankyou__icon {
  width: 4.5rem;
  height: 4.5rem;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f3e8ff 0%, #ede9fe 100%);
  color: var(--tp-common-purple-2, #9333ea);
  font-size: 2rem;
}
.tcp-thankyou__eyebrow {
  display: inline-block;
  margin: 0 0 0.5rem;
  padding: 0.25rem 0.65rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tp-common-purple-2, #9333ea);
  background: #f5f0ff;
  border-radius: 999px;
}
.tcp-thankyou__title {
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  font-weight: 700;
  color: #1a1630;
  margin: 0 0 0.75rem;
  line-height: 1.15;
}
.tcp-thankyou__lead {
  font-size: 1rem;
  line-height: 1.65;
  color: #4b5563;
  max-width: 34rem;
  margin: 0 auto 1.75rem;
}
.tcp-thankyou__steps {
  list-style: none;
  margin: 0 auto 1.5rem;
  padding: 0;
  max-width: 26rem;
  text-align: left;
}
.tcp-thankyou__steps li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid #f0f1f5;
}
.tcp-thankyou__steps li:last-child {
  border-bottom: none;
}
.tcp-thankyou__step-num {
  flex-shrink: 0;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
  background: var(--tp-common-purple-2, #9333ea);
}
.tcp-thankyou__step-text {
  font-size: 0.875rem;
  line-height: 1.45;
  color: #374151;
  padding-top: 0.15rem;
}
.tcp-thankyou__note {
  font-size: 0.875rem;
  line-height: 1.55;
  color: #6b7280;
  margin: 0 0 1.75rem;
}
.tcp-thankyou__note a {
  color: var(--tp-common-purple-2, #9333ea);
  font-weight: 600;
  text-decoration: none;
}
.tcp-thankyou__note a:hover {
  text-decoration: underline;
}
.tcp-thankyou__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
.tcp-thankyou__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.55rem 1.35rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.tcp-thankyou__btn--primary {
  background: var(--tp-common-purple-2, #9333ea);
  border: 1px solid var(--tp-common-purple-2, #9333ea);
  color: #fff;
}
.tcp-thankyou__btn--primary:hover {
  background: #7c22d4;
  border-color: #7c22d4;
  color: #fff;
}
.tcp-thankyou__btn--outline {
  background: #fff;
  border: 1px solid #d8dce6;
  color: #374151;
}
.tcp-thankyou__btn--outline:hover {
  border-color: var(--tp-common-purple-2, #9333ea);
  color: var(--tp-common-purple-2, #9333ea);
}
@media (max-width: 575.98px) {
  .tcp-thankyou__actions {
    flex-direction: column;
  }
  .tcp-thankyou__btn {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
   Blog listing (/blogs) — card grid + left sidebar
   -------------------------------------------------------------------------- */
.tcp-blog-page {
  background: #f8f9fc;
}

.tcp-blog-page__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.tcp-blog-page__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tp-common-purple-2, #9333ea);
}

.tcp-blog-page__heading {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  color: #121416;
  line-height: 1.2;
}

.tcp-blog-page__clear {
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--tp-common-purple-2, #9333ea);
  text-decoration: none;
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  background: rgba(147, 51, 234, 0.08);
}

.tcp-blog-page__clear:hover {
  background: rgba(147, 51, 234, 0.14);
  color: #7c3aed;
}

.tcp-blog-page__results {
  margin: -0.5rem 0 1.25rem;
  font-size: 0.9rem;
  color: #6b7280;
}

.tcp-blog-sidebar {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.tcp-blog-sidebar__block {
  background: #fff;
  border: 1px solid #e8ecf3;
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.04);
}

.tcp-blog-sidebar__title {
  margin: 0 0 1rem;
  font-size: 1rem;
  font-weight: 700;
  color: #121416;
}

.tcp-blog-sidebar__search {
  display: flex;
  align-items: stretch;
  border: 1px solid #dde3ee;
  border-radius: 10px;
  overflow: hidden;
  background: #fafbfc;
}

.tcp-blog-sidebar__search input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0.65rem 0.85rem;
  font-size: 0.9rem;
  color: #121416;
}

.tcp-blog-sidebar__search input:focus {
  outline: none;
}

.tcp-blog-sidebar__search button {
  border: 0;
  background: var(--tp-common-purple-2, #9333ea);
  color: #fff;
  padding: 0 1rem;
  cursor: pointer;
}

.tcp-blog-sidebar__filters {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.tcp-blog-sidebar__filter {
  display: block;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  font-size: 0.9rem;
  color: #4b5563;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

.tcp-blog-sidebar__filter:hover {
  background: #f3f4f6;
  color: #121416;
}

.tcp-blog-sidebar__filter.is-active {
  background: linear-gradient(135deg, rgba(147, 51, 234, 0.12), rgba(59, 130, 246, 0.1));
  color: var(--tp-common-purple-2, #9333ea);
  font-weight: 600;
}

.tcp-blog-sidebar__recent {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.tcp-blog-sidebar__recent-item {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}

.tcp-blog-sidebar__recent-thumb {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: 8px;
  overflow: hidden;
  background: #eef2f7;
}

.tcp-blog-sidebar__recent-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tcp-blog-sidebar__recent-body time {
  display: block;
  font-size: 0.75rem;
  color: #9ca3af;
  margin-bottom: 0.25rem;
}

.tcp-blog-sidebar__recent-body a {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
  color: #121416;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tcp-blog-sidebar__recent-body a:hover {
  color: var(--tp-common-purple-2, #9333ea);
}

.tcp-blog-sidebar__empty {
  margin: 0;
  font-size: 0.875rem;
  color: #9ca3af;
}

.tcp-blog-sidebar__cta {
  background: linear-gradient(135deg, #9333ea 0%, #6366f1 100%);
  border-radius: 12px;
  padding: 1.25rem;
  color: #fff;
  text-align: center;
}

.tcp-blog-sidebar__cta p {
  margin: 0 0 1rem;
  font-size: 0.95rem;
  line-height: 1.4;
}

.tcp-blog-sidebar__cta .tp-btn-cart {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  background: #fff !important;
  color: #9333ea !important;
  border: 0;
}

.tcp-blog-card {
  background: #fff;
  border: 1px solid #e8ecf3;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.tcp-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.1);
}

.tcp-blog-card__thumb {
  display: block;
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eef2f7;
}

.tcp-blog-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.tcp-blog-card:hover .tcp-blog-card__thumb img {
  transform: scale(1.05);
}

.tcp-blog-card__badge {
  position: absolute;
  left: 12px;
  top: 12px;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: rgba(255, 255, 255, 0.95);
  color: var(--tp-common-purple-2, #9333ea);
}

.tcp-blog-card__body {
  padding: 1.15rem 1.25rem 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.tcp-blog-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
  font-size: 0.78rem;
  color: #9ca3af;
}

.tcp-blog-card__meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.tcp-blog-card__title {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}

.tcp-blog-card__title a {
  color: #121416;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tcp-blog-card__title a:hover {
  color: var(--tp-common-purple-2, #9333ea);
}

.tcp-blog-card__excerpt {
  margin: 0 0 1rem;
  font-size: 0.9rem;
  line-height: 1.55;
  color: #6b7280;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}

.tcp-blog-card__link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--tp-common-purple-2, #9333ea);
  text-decoration: none;
}

.tcp-blog-card__link i {
  transition: transform 0.2s ease;
}

.tcp-blog-card__link:hover i {
  transform: translateX(4px);
}

.tcp-blog-pagination {
  margin-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.tcp-blog-empty {
  text-align: center;
  padding: 3rem 1.5rem;
  background: #fff;
  border-radius: 14px;
  border: 1px dashed #dde3ee;
}

.tcp-blog-empty i {
  font-size: 2.5rem;
  color: #c4c9d4;
  margin-bottom: 1rem;
}

.tcp-blog-empty h3 {
  margin: 0 0 0.5rem;
  font-size: 1.25rem;
  color: #121416;
}

.tcp-blog-empty p {
  margin: 0 0 1.25rem;
  color: #6b7280;
}

@media (max-width: 991.98px) {
  .tcp-blog-sidebar {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .tcp-blog-page__header {
    flex-direction: column;
  }
}
