:root { --page-max-width: 1280px; --section-space-desktop: 72px; --section-space-tablet: 56px; --section-space-mobile: 44px; --color-primary: #0BA56A; --color-primary-dark: #078857; --color-primary-soft: #EAF7EF; --color-primary-text: #111B24; --color-secondary-text: #53635f; --color-stroke: #DCE1E5; --color-bg: #FFFFFF; --color-bg-soft: #fafafa; --color-ocean: #0B3D3B; --color-ocean-dark: #072625; --font-primary: "Inter", sans-serif; --font-heading: "Montserrat", sans-serif; --text-paragraph-size: 17px; --radius-btn: 8px; --radius-card: 16px; --radius-pill: 999px; --transition-fast: 0.18s ease; --transition-base: 0.25s ease; }
* { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: clip; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-primary); font-size: var(--text-paragraph-size); line-height: 1.65; color: var(--color-primary-text); background: var(--color-bg); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
.tg-main-wrap { display: flex; flex-direction: column; width: 100%; max-width: 100%; overflow-x: clip; }
.tg-main-wrap h1, .tg-main-wrap p { margin: 0; }
.internal-links, a.link-inline { color: #008352 !important; font-weight: 700 !important; text-decoration: underline; text-underline-offset: 3px; transition: color var(--transition-fast); }
.internal-links:hover, a.link-inline:hover { color: #005a38 !important; }
/* ── LAYOUT & CONTAINERS ── */
.container-xl-custom, .tg-container { max-width: var(--page-max-width); margin-left: auto; margin-right: auto; padding-inline: 24px; width: 100%; }
.section, .tg-section { padding-top: var(--section-space-desktop); padding-bottom: var(--section-space-desktop); position: relative; }
[data-section-surface="white"], .section.bg-white, .tg-section-white, .bg-white { background-color: #ffffff !important; }
[data-section-surface="soft"], .section.bg-soft, .tg-section-soft, .bg-soft { background-color: #fafafa !important; }
/* ── TYPOGRAPHY ── */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .sub-h1, .main-heading, .sub-heading { font-family: var(--font-heading) !important; letter-spacing: -0.015em !important; color: var(--color-primary-text); margin-top: 0; }
:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .sub-h1, .main-heading, .sub-heading) :is(a, span, strong, b, em) { font-family: inherit !important; }
h1 { font-size: 44px; line-height: 1.18; font-weight: 700; letter-spacing: 0 !important; color: var(--color-primary-text); margin-bottom: 20px; }
h2, .main-heading { font-size: 36px; line-height: 1.22; font-weight: 700; letter-spacing: 0 !important; color: #173b36; margin-bottom: 14px; }
h3, .sub-heading, .h3 { font-size: 20px; line-height: 1.35; font-weight: 700; letter-spacing: 0 !important; color: var(--color-primary-text); margin-bottom: 10px; }
p, .paragraph { font-size: var(--text-paragraph-size); line-height: 1.65; font-weight: 400; color: #53635f; margin-top: 0; margin-bottom: 16px; }
.body-large { font-size: 18px; line-height: 1.7; color: #4a5c57; }
.section-header { max-width: 860px; margin-bottom: 48px; }
.section-header.text-center { margin-left: auto; margin-right: auto; text-align: center; }
.section-header h2 { font-size: 36px; line-height: 1.22; font-weight: 700; color: #173b36; margin-bottom: 14px; letter-spacing: 0 !important; }
.section-header p, .section-header .paragraph { font-size: 17px; line-height: 1.68; color: #53635f; margin: 0; }
.section-header.text-center p, .section-header.text-center .paragraph { margin-inline: auto; max-width: 820px; }
/* ── EYEBROW BADGE ── */
.eyebrow { font-size: 12.5px; font-weight: 600; color: var(--color-primary); line-height: normal; margin-bottom: 14px; display: inline-flex; align-items: center; gap: 8px; text-transform: uppercase; letter-spacing: 0.14em; }
.eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--color-primary); display: inline-block; }
/* ── BUTTONS ── */
.btn-tg-primary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 28px; border-radius: var(--radius-pill); background: var(--color-primary); color: #FFFFFF; border: 1px solid var(--color-primary); font-size: 15.5px; font-weight: 600; text-decoration: none; transition: all var(--transition-base); white-space: nowrap; box-shadow: 0 8px 20px rgba(11, 165, 106, 0.22); }
.btn-tg-primary:hover { background: var(--color-primary-dark); border-color: var(--color-primary-dark); color: #FFFFFF; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(11, 165, 106, 0.32); }
.btn-tg-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 24px; border-radius: var(--radius-pill); background: #FFFFFF; color: #173b36; border: 1.5px solid var(--color-stroke); font-size: 15.5px; font-weight: 600; text-decoration: none; transition: all var(--transition-base); white-space: nowrap; }
.btn-tg-secondary:hover { border-color: var(--color-primary); color: var(--color-primary); transform: translateY(-2px); box-shadow: 0 4px 20px rgba(0, 40, 22, 0.04); }
/* ── NAVBAR DARK THEME OVERRIDES ── */
#site-header { display: block; min-height: 0 !important; position: relative !important; z-index: 1050 !important; }
.page-haccp-traceability #site-header .navbar, .page-haccp-traceability .navbar { background: rgba(5, 35, 32, .6) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important; border-bottom: 1px solid rgba(255, 255, 255, .12) !important; color: #fff !important; box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15) !important; }
.page-haccp-traceability #site-header .navbar .nav-link, .page-haccp-traceability .navbar .nav-link { color: #ffffff !important; font-weight: 500; transition: color 0.2s ease; }
.page-haccp-traceability #site-header .navbar .nav-link:hover, .page-haccp-traceability #site-header .navbar .nav-link:focus, .page-haccp-traceability #site-header .navbar .nav-link.active, .page-haccp-traceability .navbar .nav-link:hover, .page-haccp-traceability .navbar .nav-link:focus, .page-haccp-traceability .navbar .nav-link.active { color: #57e7b6 !important; }
.page-haccp-traceability #site-header .navbar-light .navbar-nav .nav-item .nav-link.active::before, .page-haccp-traceability #site-header .navbar-light .navbar-nav .nav-item .nav-link:hover::before, .page-haccp-traceability #site-header .navbar-light .navbar-nav .nav-item .nav-link:focus::before { background: #57e7b6 !important; }
.page-haccp-traceability #site-header .navbar-toggler, .page-haccp-traceability .navbar-toggler { border-color: rgba(255, 255, 255, 0.3) !important; }
.page-haccp-traceability #site-header .navbar-toggler-icon, .page-haccp-traceability .navbar-toggler-icon { filter: invert(1) brightness(2); }
.page-haccp-traceability #site-header .navbar-brand img, .page-haccp-traceability .navbar-brand img { content: url("/assets/images/logo-white.webp") !important; }
.page-haccp-traceability #site-header .navbar .dropdown-menu, .page-haccp-traceability .navbar .dropdown-menu { background: rgba(5, 35, 32, 0.94) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important; border: 1px solid rgba(87, 231, 182, 0.2) !important; border-radius: 18px !important; box-shadow: 0 24px 64px rgba(0, 0, 0, 0.5) !important; z-index: 1060 !important; }
.page-haccp-traceability #site-header .navbar .dropdown-menu .dropdown-item, .page-haccp-traceability .navbar .dropdown-menu .dropdown-item { position: relative !important; display: flex !important; min-height: 52px !important; align-items: center !important; padding: 12px 46px 12px 16px !important; border: 1px solid rgba(255, 255, 255, 0.08) !important; border-radius: 12px !important; background: rgba(255, 255, 255, 0.05) !important; color: #ffffff !important; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2) !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.35 !important; white-space: normal !important; transition: all 0.2s ease !important; }
.page-haccp-traceability #site-header .navbar .dropdown-menu .dropdown-item::after, .page-haccp-traceability .navbar .dropdown-menu .dropdown-item::after { position: absolute !important; top: 50% !important; right: 14px !important; width: 26px !important; height: 26px !important; border-radius: 50% !important; background-color: rgba(87, 231, 182, 0.14) !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%2357e7b6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h10M9.5 4.5 13 8l-3.5 3.5'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: center !important; content: "" !important; transform: translateY(-50%) !important; transition: all 0.2s ease !important; }
.page-haccp-traceability #site-header .navbar .dropdown-menu .dropdown-item:hover, .page-haccp-traceability #site-header .navbar .dropdown-menu .dropdown-item:focus, .page-haccp-traceability #site-header .navbar .dropdown-menu .dropdown-item.active, .page-haccp-traceability .navbar .dropdown-menu .dropdown-item:hover, .page-haccp-traceability .navbar .dropdown-menu .dropdown-item:focus, .page-haccp-traceability .navbar .dropdown-menu .dropdown-item.active { background: rgba(87, 231, 182, 0.14) !important; border-color: rgba(87, 231, 182, 0.35) !important; color: #57e7b6 !important; transform: translateX(2px) !important; box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3) !important; }
.page-haccp-traceability #site-header .navbar .dropdown-menu .dropdown-item:hover::after, .page-haccp-traceability #site-header .navbar .dropdown-menu .dropdown-item:focus::after, .page-haccp-traceability #site-header .navbar .dropdown-menu .dropdown-item.active::after, .page-haccp-traceability .navbar .dropdown-menu .dropdown-item:hover::after, .page-haccp-traceability .navbar .dropdown-menu .dropdown-item:focus::after, .page-haccp-traceability .navbar .dropdown-menu .dropdown-item.active::after { background-color: #0ba56a !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h10M9.5 4.5 13 8l-3.5 3.5'/%3E%3C/svg%3E") !important; }
/* ── HERO SECTION ── */
.tg-hero, .hero-section { overflow: hidden; padding-top: 140px !important; padding-bottom: 70px !important; background-color: #031b1a; background-image: linear-gradient(90deg, rgba(3, 27, 26, 0.80) 0%, rgba(3, 27, 26, 0.64) 50%, rgba(3, 27, 26, 0.35) 100%), url("../images/haccp-traceability-software/haccp-hero-banner.webp"); background-size: cover; background-position: center right; background-repeat: no-repeat; border-bottom: 1px solid #052a28; }
.tg-hero .tg-hero-grid, .hero-section .container-xl-custom { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); gap: 48px; align-items: center; }
.tg-hero-content { flex: 1; max-width: 920px; border-top: none; padding-top: 0; }
.tg-hero h1, .hero-copy h1 { font-family: "Montserrat", sans-serif !important; font-size: 44px !important; font-weight: 700 !important; line-height: 1.1 !important; letter-spacing: -0.03em !important; color: #ffffff !important; margin-top: 0; margin-bottom: 16px !important; }
.tg-hero p, .tg-hero .body-large, .hero-copy .paragraph { color: #ffffff !important; font-size: 18px !important; line-height: 1.65 !important; margin-bottom: 24px !important; max-width: 550px; }
.tg-hero p a, .hero-copy .paragraph a { color: #34d399; text-decoration: underline; text-underline-offset: 3px; }
.tg-hero-actions, .hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-bottom: 24px; }
/* Hero Trust Strip */
.tg-trust-strip { display: flex; flex-wrap: wrap; border-radius: var(--radius-card); border: 1px solid rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.04); overflow: hidden; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2); margin-top: 28px; backdrop-filter: blur(10px); }
.tg-trust-item { flex: 1; min-width: 130px; padding: 16px 18px; border-right: 1px solid rgba(255, 255, 255, 0.15); text-align: center; }
.tg-trust-item:last-child { border-right: none; }
.tg-trust-val { display: block; font-family: var(--font-heading); font-size: 22px; font-weight: 700; color: #00d084 !important; line-height: 1.2; }
.tg-trust-lbl { display: block; font-size: 12px; color: #cde6dd !important; font-weight: 500; margin-top: 3px; line-height: 1.3; }
/* ── HERO DEMO FORM ── */
.hero-form-panel { flex: 0 0 460px; max-width: 460px; width: 100%; scroll-margin-top: 110px; }
.haccp-demo-card, .page-haccp-traceability .haccp-demo-card, .page-haccp-traceability .seafood-demo-card { width: 100%; max-width: 480px; margin-left: auto; background: rgba(255, 255, 255, 0.12) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important; border: 1px solid rgba(255, 255, 255, 0.25) !important; border-radius: 14px !important; box-shadow: 0 1px 3px rgba(15, 36, 56, .06), 0 8px 24px rgba(15, 36, 56, .06), 0 20px 48px rgba(0, 0, 0, 0.35) !important; font-family: inherit; text-align: left; overflow: hidden; }
.haccp-form-card, .page-haccp-traceability .haccp-form-card, .page-haccp-traceability .seafood-form-card { padding: 28px 26px 24px !important; border-color: rgba(255, 255, 255, 0.25) !important; border-radius: 14px !important; }
.page-haccp-traceability .demo-eyebrow, .demo-eyebrow { display: inline-block !important; margin-bottom: 12px !important; padding: 4px 10px !important; border-radius: 999px !important; font-size: 12px !important; font-weight: 700 !important; line-height: 1.4 !important; letter-spacing: .04em !important; text-transform: uppercase !important; color: #57e7b6 !important; background: rgba(87, 231, 182, 0.14) !important; border: 1px solid rgba(87, 231, 182, 0.28) !important; }
.page-haccp-traceability .demo-title, .haccp-demo-card .demo-title, .demo-title { margin: 0 0 7px !important; padding: 0 !important; font-size: 22px !important; font-weight: 700 !important; line-height: 1.25 !important; letter-spacing: 0 !important; color: #ffffff !important; }
.page-haccp-traceability .demo-subtext, .haccp-demo-card .demo-subtext, .demo-subtext { margin: 0 0 17px !important; padding: 0 !important; font-size: 14px !important; line-height: 1.5 !important; color: #c4ded7 !important; }
.page-haccp-traceability .demo-field, .haccp-demo-card .demo-field, .demo-field { margin-bottom: 12px !important; }
.page-haccp-traceability .demo-field label, .haccp-demo-card .demo-field label, .demo-field label { display: block !important; margin-bottom: 5px !important; color: #e2f1ec !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1.4 !important; }
.page-haccp-traceability .demo-field input, .page-haccp-traceability .demo-field textarea, .haccp-demo-card .demo-field input, .haccp-demo-card .demo-field textarea, .demo-field input, .demo-field textarea { display: block !important; width: 100% !important; margin: 0 !important; padding: 10px 12px !important; border: 1.5px solid rgba(255, 255, 255, 0.2) !important; border-radius: 8px !important; outline: 0 !important; background: rgba(255, 255, 255, 0.08) !important; color: #ffffff !important; font: inherit !important; font-size: 14px !important; line-height: 1.4 !important; box-shadow: none !important; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.page-haccp-traceability .demo-field textarea, .haccp-demo-card .demo-field textarea, .demo-field textarea { min-height: 82px !important; height: 82px !important; resize: vertical; }
.page-haccp-traceability .demo-field input::placeholder, .page-haccp-traceability .demo-field textarea::placeholder, .haccp-demo-card .demo-field input::placeholder, .haccp-demo-card .demo-field textarea::placeholder, .demo-field input::placeholder, .demo-field textarea::placeholder { color: rgba(196, 222, 215, 0.6) !important; }
.page-haccp-traceability .demo-field input:focus, .page-haccp-traceability .demo-field textarea:focus, .haccp-demo-card .demo-field input:focus, .haccp-demo-card .demo-field textarea:focus, .demo-field input:focus, .demo-field textarea:focus { outline: 0 !important; border-color: #57e7b6 !important; background: rgba(255, 255, 255, 0.12) !important; box-shadow: 0 0 0 3px rgba(87, 231, 182, 0.25) !important; color: #ffffff !important; }
.page-haccp-traceability .demo-field input:-webkit-autofill, .page-haccp-traceability .demo-field textarea:-webkit-autofill, .demo-field input:-webkit-autofill, .demo-field textarea:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px rgba(5, 35, 32, 0.95) inset !important; -webkit-text-fill-color: #ffffff !important; }
.page-haccp-traceability .demo-field.invalid input, .page-haccp-traceability .demo-field.invalid textarea, .page-haccp-traceability .demo-field input[aria-invalid="true"], .page-haccp-traceability .demo-field textarea[aria-invalid="true"], .demo-field.invalid input, .demo-field.invalid textarea, .demo-field input[aria-invalid="true"], .demo-field textarea[aria-invalid="true"] { border-color: #f87171 !important; box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.25) !important; }
.page-haccp-traceability .error-msg, .error-msg { display: none; margin-top: 5px !important; color: #fca5a5 !important; font-size: 12px !important; line-height: 1.3 !important; }
.page-haccp-traceability .demo-field.invalid .error-msg, .demo-field.invalid .error-msg { display: block !important; }
#haccpSubmitBtn, .page-haccp-traceability #haccpSubmitBtn, .page-haccp-traceability .haccp-demo-card button[type="submit"], .haccp-demo-card button[type="submit"], .seafood-demo-card button[type="submit"] { display: block !important; width: 100% !important; margin: 6px 0 0 !important; padding: 13px 20px !important; border: 0 !important; border-radius: 9px !important; background: #008352 !important; color: #ffffff !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.35 !important; cursor: pointer; box-shadow: 0 4px 16px rgba(0, 131, 82, 0.4) !important; transition: background .2s ease, transform .2s ease, box-shadow .2s ease; }
#haccpSubmitBtn:hover, .page-haccp-traceability #haccpSubmitBtn:hover, .page-haccp-traceability .haccp-demo-card button[type="submit"]:hover, .haccp-demo-card button[type="submit"]:hover, .seafood-demo-card button[type="submit"]:hover { background: #009960 !important; box-shadow: 0 6px 22px rgba(0, 131, 82, 0.55) !important; transform: translateY(-1px); }
#haccpSubmitBtn:disabled, .page-haccp-traceability #haccpSubmitBtn:disabled, .page-haccp-traceability .haccp-demo-card button[type="submit"]:disabled, .haccp-demo-card button[type="submit"]:disabled, .seafood-demo-card button[type="submit"]:disabled { background: rgba(0, 131, 82, 0.45) !important; color: rgba(255, 255, 255, 0.6) !important; cursor: not-allowed; box-shadow: none !important; }
.page-haccp-traceability .fine-print, .fine-print { margin: 12px 0 0 !important; padding: 0 !important; color: #9ebdb5 !important; font-size: 12px !important; line-height: 1.4 !important; text-align: center; }
.page-haccp-traceability .form-response, .form-response { min-height: 0 !important; margin-top: 8px !important; color: #fca5a5 !important; font-size: 13px !important; line-height: 1.4 !important; text-align: center; }
.success-state { display: none; text-align: center; padding: 20px 8px 8px; }
.success-state.show { display: block; }
.success-state h3 { color: #ffffff !important; margin: 0 0 8px; font-size: 19px; }
.success-state p { color: #c4ded7 !important; margin: 0; font-size: 14px; line-height: 1.5; }
.form-body.hide { display: none; }
.success-icon { width: 52px; height: 52px; margin: 0 auto 14px; border-radius: 50%; background: var(--color-primary-soft); display: flex; align-items: center; justify-content: center; }
.success-icon svg { width: 26px; height: 26px; }
.honeypot { position: absolute; left: -9999px; top: -9999px; }
/* ── CLIENT STRIP (CONTINUOUS SCROLL) ── */
.tg-client-strip, .client-strip { width: 100%; max-width: 100%; padding: 26px 0; background: #fff; border-top: 0; border-bottom: 1px solid #dce5e0; overflow: hidden; margin: 0; }
.tg-client-logo-marquee, .client-logo-marquee { display: flex; align-items: center; width: max-content; gap: 0; margin: 0; padding: 0; animation: tg-client-marquee 40s linear infinite; will-change: transform; }
.tg-client-logo-marquee:hover, .tg-client-logo-marquee:focus-within, .client-logo-marquee:hover, .client-logo-marquee:focus-within { animation-play-state: paused; }
.tg-client-logo-row, .client-logo-row { display: flex; align-items: center; gap: 100px; padding-right: 100px; min-width: 0; flex: 0 0 auto; flex-wrap: nowrap; }
.tg-client-logo-row[aria-hidden="true"], .client-logo-row[aria-hidden="true"] { display: flex; }
.tg-client-logo, .client-logo { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 52px; }
.tg-client-logo img, .client-logo img { max-height: 44px; opacity: 0.85; display: block; }
@keyframes tg-client-marquee { 0% { transform: translate3d(0, 0, 0); } 100% { transform: translate3d(-50%, 0, 0); } }
/* ── TABLE OF CONTENTS ── */
.tg-toc-section { display: none; background: #fbfdfc; border-bottom: 1px solid var(--color-stroke); padding: 16px 0; }
.tg-toc-card { border: 1px solid rgba(11, 165, 106, 0.25); border-radius: 14px; background: #ffffff; box-shadow: 0 4px 16px rgba(0, 40, 22, 0.04); padding: 14px 20px; overflow: hidden; }
.tg-toc-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0; background: none; border: none; font-family: inherit; font-size: 15px; font-weight: 700; color: #173b36; cursor: pointer; text-align: left; }
.tg-toc-trigger-text { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 700; color: #173b36; white-space: nowrap; }
.tg-toc-trigger-text svg, .tg-toc-trigger-text i { width: 22px !important; height: 22px !important; min-width: 22px !important; min-height: 22px !important; max-width: 22px !important; max-height: 22px !important; color: var(--color-primary); stroke: var(--color-primary); flex-shrink: 0; }
.tg-toc-arrow { display: flex; width: 32px; height: 32px; min-width: 32px; min-height: 32px; align-items: center; justify-content: center; border-radius: 50%; background: #eaf7ef; color: var(--color-primary-dark); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); flex-shrink: 0; }
.tg-toc-arrow svg, .tg-toc-arrow i { width: 16px !important; height: 16px !important; min-width: 16px !important; min-height: 16px !important; stroke: currentColor; flex-shrink: 0; transition: transform 0.25s ease; }
.tg-toc-card.active .tg-toc-arrow { transform: rotate(180deg); }
.tg-toc-body { max-height: 0; overflow: hidden; transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1); background: transparent; }
#toc-list-container.toc-expanded { max-height: 1400px; }
.tg-toc-nav { margin-top: 14px; padding: 14px 0 2px 14px; border-top: 1px solid #e6f5ee; border-left: 3px solid var(--color-primary); }
.tg-toc-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 20px; }
.tg-toc-item { margin: 0; padding: 0; }
.tg-toc-link { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: #475467; text-decoration: none; padding: 4px 0; line-height: 1.4; transition: color var(--transition-fast); }
.tg-toc-link::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--color-primary); flex-shrink: 0; }
.tg-toc-link:hover, .tg-toc-link:active { color: var(--color-primary) !important; text-decoration: none; }
/* ── SECTION 1: WHY FOOD SAFETY TEAMS ARE SWITCHING ── */
#why-switching { background-color: #fafafa !important; position: relative; overflow: hidden; padding-top: 56px; padding-bottom: 72px; }
.why-switching-top-split { display: flex; justify-content: center; align-items: center; margin-bottom: 40px; width: 100%; }
.why-switching-header-left { display: flex; flex-direction: column; align-items: center; text-align: center; width: 80%; max-width: 80%; margin: 0 auto; gap: 16px; }
.section-tagline { display: inline-flex; align-items: center; gap: 10px; font-size: 13.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #0ba56a; margin-bottom: 14px; font-family: "Montserrat", sans-serif !important; }
.tagline-bar { display: inline-block; width: 24px; height: 2.5px; background-color: #0ba56a; border-radius: 2px; }
.why-switching-header-left h2 { font-size: 34px; line-height: 1.25; font-weight: 700; color: #173b36; margin-bottom: 0; letter-spacing: -0.015em !important; text-align: center; }
.why-switching-header-left p { font-size: 16px; line-height: 1.65; color: #53635f; margin: 0 auto; max-width: 100%; text-align: center; }
.why-switching-hero-media { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; background: transparent !important; border: none !important; box-shadow: none !important; }
.why-switching-hero-media img { width: 100%; max-width: 580px; height: auto; object-fit: contain; border-radius: 0 !important; border: none !important; box-shadow: none !important; display: block; }
.why-switching-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.problem-card { background: #ffffff; border: 1.5px solid #e2ece7; border-radius: 16px; padding: 16px 16px 20px; display: flex; flex-direction: column; box-shadow: 0 4px 18px rgba(7, 38, 37, 0.035); transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; }
.problem-card:hover { transform: translateY(-4px); border-color: #0ba56a; box-shadow: 0 14px 30px rgba(11, 165, 106, 0.12); }
.problem-card-media { width: 100%; height: 115px; border-radius: 10px; overflow: hidden; margin-bottom: 16px; background: #f0f4f2; }
.problem-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.35s ease; }
.problem-card:hover .problem-card-media img { transform: scale(1.05); }
.problem-card-body { display: flex; flex-direction: column; flex-grow: 1; }
.problem-card-body h3 { font-size: 17.5px; font-weight: 700; color: #173b36; margin-bottom: 10px; line-height: 1.35; }
.problem-card-body p { font-size: 14px; line-height: 1.6; color: #53635f; margin: 0; flex-grow: 1; }
.problem-card-link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: #0ba56a !important; text-decoration: none !important; margin-top: auto; transition: all 0.2s ease; }
.problem-card-link .link-arrow { font-size: 15px; transition: transform 0.2s ease; display: inline-block; }
.problem-card-link:hover { color: #078857 !important; }
.problem-card-link:hover .link-arrow { transform: translateX(4px); }
/* ── SECTION 2: WHAT IS HACCP TRACEABILITY ── */
.overview-top-split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin-bottom: 48px; }
.overview-copy-wrap { display: flex; flex-direction: column; justify-content: center; width: 100%; }
.overview-copy-wrap h2 { font-size: 36px; font-weight: 700; color: #173b36; margin-bottom: 16px; line-height: 1.22; letter-spacing: 0 !important; }
.overview-copy-wrap p { font-size: 17px; line-height: 1.68; color: #53635f; margin-bottom: 16px; }
.definition-callout-box { background: #f2faf6; padding: 20px 24px; border-radius: 12px; border-left: 4px solid #0ba56a; margin-bottom: 18px; border-top: 1px solid #e1eee7; border-right: 1px solid #e1eee7; border-bottom: 1px solid #e1eee7; }
.definition-callout-box h3 { font-size: 18px; font-weight: 700; color: #078857; margin-bottom: 10px; line-height: 1.35; }
.definition-callout-box ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.definition-callout-box li { font-size: 14.5px; line-height: 1.55; color: #173b36; }
.definition-callout-box li strong { color: #078857; font-weight: 700; }
.overview-top-split .overview-media-wrap { width: 100%; border-radius: 0; overflow: visible; box-shadow: none; border: none; background: transparent; transition: transform 0.3s ease; }
.overview-top-split .overview-media-wrap:hover { transform: translateY(-3px); }
.overview-top-split .overview-media-wrap img { width: 100%; height: auto; object-fit: contain; display: block; border-radius: 0; }
.overview-media-wrap { width: 100%; border-radius: 18px; overflow: hidden; box-shadow: 0 16px 40px rgba(7, 38, 37, 0.08); border: 1px solid #dce8e2; background: #ffffff; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.overview-media-wrap:hover { transform: translateY(-3px); }
.overview-media-wrap img { width: 100%; height: auto; object-fit: cover; display: block; border-radius: 18px; }
.demand-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 36px; }
.demand-card { background: #ffffff; border: 1.5px solid #e1eee7; border-radius: 16px; padding: 26px 22px; display: flex; flex-direction: column; box-shadow: 0 4px 16px rgba(7, 38, 37, 0.035); transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; }
.demand-card:hover { transform: translateY(-4px); border-color: #0ba56a; box-shadow: 0 14px 30px rgba(11, 165, 106, 0.12); }
.demand-card-icon { width: 42px; height: 42px; border-radius: 10px; background: rgba(11, 165, 106, 0.12); color: #0ba56a; display: flex; align-items: center; justify-content: center; font-size: 20px; margin-bottom: 16px; flex-shrink: 0; }
.demand-card-body { display: flex; flex-direction: column; flex-grow: 1; }
.demand-card-body h3 { font-size: 18px; font-weight: 700; color: #173b36; margin-bottom: 10px; line-height: 1.35; }
.demand-card-body p { font-size: 14.5px; line-height: 1.62; color: #53635f; margin: 0; }
/* In-section CTA Banner */
.inline-cta-banner { background-color: #072625; background-image: linear-gradient(90deg, rgba(7, 38, 37, 0.92) 0%, rgba(7, 38, 37, 0.82) 50%, rgba(7, 38, 37, 0.60) 100%), url("../images/haccp-traceability-software/haccp-process-safety.webp"); background-size: cover; background-position: center; border-radius: 16px; padding: 40px 48px; color: #ffffff; display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 48px; box-shadow: 0 16px 36px rgba(7, 38, 37, 0.2); border: 1px solid rgba(11, 165, 106, 0.25); position: relative; overflow: hidden; }
.inline-cta-text h3 { font-size: 22px; font-weight: 700; color: #ffffff; margin: 0 0 8px; }
.inline-cta-text p { font-size: 16px; color: #c4ddd5; margin: 0; }
.inline-cta-btn { display: inline-flex; align-items: center; gap: 8px; background: #0ba56a; color: #ffffff !important; font-size: 15px; font-weight: 700; padding: 13px 26px; border-radius: 999px; text-decoration: none !important; transition: all 0.2s ease; flex-shrink: 0; box-shadow: 0 4px 14px rgba(11, 165, 106, 0.4); border: none; cursor: pointer; }
.inline-cta-btn:hover { background: #078857; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(11, 165, 106, 0.55); }
/* ── SECTION 3: 7 PRINCIPLES OF HACCP (INTERACTIVE RADIAL ORBIT CONSOLE) ── */
.haccp-orbit-console { display: grid; grid-template-columns: 420px 1fr; gap: 36px; align-items: center; margin-top: 36px; position: relative; }
.haccp-orbit-dial-wrap { display: flex; align-items: center; justify-content: center; position: relative; padding: 20px; }
.haccp-orbit-dial { --orbit-radius: 145px; width: 370px; height: 370px; position: relative; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.orbit-guide-ring { position: absolute; width: calc(var(--orbit-radius) * 2); height: calc(var(--orbit-radius) * 2); border-radius: 50%; border: 1.5px dashed #b7decb; pointer-events: none; }
.orbit-pointer-arm { position: absolute; bottom: 50%; left: 50%; width: 2px; height: var(--orbit-radius); transform-origin: bottom center; transform: translate(-50%, 0) rotate(0deg); transition: transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1); pointer-events: none; z-index: 2; }
.orbit-pointer-line { width: 100%; height: 100%; background: linear-gradient(180deg, #0ba56a 0%, rgba(11, 165, 106, 0.05) 100%); }
.orbit-pointer-head { position: absolute; top: -6px; left: 50%; transform: translateX(-50%); width: 14px; height: 14px; border-radius: 50%; background: #0ba56a; border: 2.5px solid #ffffff; box-shadow: 0 0 12px rgba(11, 165, 106, 0.8); }
.orbit-center-core { width: 148px; height: 148px; border-radius: 50%; background: radial-gradient(circle, #ffffff 40%, #eef8f2 100%); border: 2px solid #bce4ce; box-shadow: 0 8px 24px rgba(7, 38, 37, 0.07); display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; position: relative; z-index: 3; transition: all 0.25s ease; outline: none; }
.orbit-center-core:hover { transform: scale(1.04); border-color: #0ba56a; box-shadow: 0 10px 28px rgba(11, 165, 106, 0.2); }
.orbit-radar-sweep { position: absolute; inset: -8px; border-radius: 50%; border: 1px dashed rgba(11, 165, 106, 0.4); animation: orbitRadarSpin 12s linear infinite; pointer-events: none; }
@keyframes orbitRadarSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.orbit-core-num { font-size: 32px; font-weight: 800; color: #0ba56a; line-height: 1; letter-spacing: -0.02em; }
.orbit-core-title { font-size: 13px; font-weight: 700; color: #072625; text-align: center; max-width: 118px; line-height: 1.22; margin-top: 6px; padding: 0 4px; transition: all 0.25s ease; }
.orbit-node { position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; border-radius: 50%; background: #ffffff; border: 1.5px solid #d4e5dc; color: #078857; font-weight: 800; font-size: 14px; display: flex; align-items: center; justify-content: center; cursor: pointer; outline: none; z-index: 4; transform-origin: center center; transform: translate(-50%, -50%) rotate(var(--node-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--node-angle))); transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease; box-shadow: 0 4px 12px rgba(7, 38, 37, 0.06); }
.orbit-node:hover { background: #e5f3eb; border-color: #0ba56a; color: #078857; transform: translate(-50%, -50%) rotate(var(--node-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--node-angle))) scale(1.1); box-shadow: 0 6px 18px rgba(11, 165, 106, 0.25); }
.orbit-node.active { background: #0ba56a; border-color: #0ba56a; color: #ffffff; transform: translate(-50%, -50%) rotate(var(--node-angle)) translateY(calc(-1 * var(--orbit-radius))) rotate(calc(-1 * var(--node-angle))) scale(1.16); box-shadow: 0 0 0 5px rgba(11, 165, 106, 0.2), 0 8px 20px rgba(11, 165, 106, 0.35); }
.orbit-node-tag { display: none; }
.haccp-showcase-viewport { display: flex; flex-direction: column; gap: 20px; }
.showcase-media-stack { position: relative; width: 100%; height: 260px; border-radius: 16px; overflow: hidden; background: #072625; box-shadow: 0 10px 30px rgba(7, 38, 37, 0.08); }
.showcase-media-card { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; pointer-events: none; transition: opacity 0.35s ease, transform 0.35s ease; transform: scale(1.02); }
.showcase-media-card.active { opacity: 1; pointer-events: auto; transform: scale(1); }
.showcase-media-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.haccp-live-pill { position: absolute; top: 16px; left: 16px; display: inline-flex; align-items: center; gap: 8px; background: rgba(7, 38, 37, 0.90); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: #ffffff; font-size: 13px; font-weight: 700; padding: 6px 14px; border-radius: 999px; border: 1px solid rgba(46, 229, 157, 0.35); }
.haccp-live-beacon { width: 8px; height: 8px; border-radius: 50%; background: #2ee59d; box-shadow: 0 0 8px #2ee59d; animation: liveBeaconPulse 1.8s infinite; }
@keyframes liveBeaconPulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(1.25); } }
.haccp-live-station { position: absolute; bottom: 14px; right: 14px; background: rgba(7, 38, 37, 0.78); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: #c4ddd5; font-size: 12px; font-weight: 600; padding: 4px 12px; border-radius: 6px; }
.showcase-content-card { background: #ffffff; border: 1.5px solid #e1eee7; border-radius: 16px; padding: 24px 26px; box-shadow: 0 8px 26px rgba(7, 38, 37, 0.05); }
.showcase-panels-stack { position: relative; }
.principle-detail-panel { display: none; animation: principlePanelFade 0.35s cubic-bezier(0.16, 1, 0.3, 1); }
.principle-detail-panel.active { display: block; }
@keyframes principlePanelFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.principle-detail-panel h3 { font-size: 21px; font-weight: 700; color: #173b36; margin: 0 0 8px; line-height: 1.35; }
.principle-detail-panel p { font-size: 15.5px; line-height: 1.65; color: #53635f; margin: 0; }
.showcase-nav-bar { display: none; align-items: center; justify-content: space-between; gap: 14px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #edf4f0; }
.orbit-nav-btn { display: inline-flex; align-items: center; gap: 6px; background: #ffffff; color: #173b36; border: 1.5px solid #d4e5dc; padding: 8px 16px; border-radius: 999px; font-size: 13.5px; font-weight: 700; cursor: pointer; transition: all 0.2s ease; outline: none; }
.orbit-nav-btn:hover { background: #072625; color: #ffffff !important; border-color: #072625; transform: translateY(-1px); }
.orbit-progress-track { display: flex; align-items: center; gap: 6px; }
.orbit-step-pill { width: 30px; height: 30px; border-radius: 50%; background: #f2f7f4; border: 1px solid #dce8e1; color: #53635f; font-size: 12px; font-weight: 700; cursor: pointer; transition: all 0.2s ease; display: inline-flex; align-items: center; justify-content: center; outline: none; padding: 0; }
.orbit-step-pill:hover { background: #e2f2e9; color: #078857; border-color: #0ba56a; }
.orbit-step-pill.active { background: #0ba56a; color: #ffffff; border-color: #0ba56a; transform: scale(1.08); font-weight: 800; box-shadow: 0 2px 8px rgba(11, 165, 106, 0.3); }
.principles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.principle-card { background: #ffffff; border: 1.5px solid #e1eee7; border-radius: 16px; padding: 24px 22px; display: flex; flex-direction: column; box-shadow: 0 4px 16px rgba(7, 38, 37, 0.035); transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; }
.principle-card:hover { transform: translateY(-4px); border-color: #0ba56a; box-shadow: 0 14px 30px rgba(11, 165, 106, 0.12); }
.principle-card.principle-card-wide { grid-column: 1 / -1; background: linear-gradient(135deg, #ffffff 0%, #f4fbf7 100%); }
.principle-num { width: 36px; height: 36px; border-radius: 50%; background: #e5f3eb; color: #078857; font-weight: 800; font-size: 15px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-bottom: 14px; }
.principle-body { display: flex; flex-direction: column; flex-grow: 1; }
.principle-body h3 { font-size: 20px; font-weight: 700; color: #173b36; margin-bottom: 10px; line-height: 1.35; }
.principle-body p { font-size: 16px; line-height: 1.62; color: #53635f; margin: 0; }
/* ── SECTION 4: HOW IT WORKS SCROLLER ── */
#how-it-works, .how-it-works-section { position: relative; background-color: #ffffff; background-image: url("../images/haccp-traceability-software/how-does-haccp-traceability-works-with-transgenie.webp") !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.workflow-scroller-container { position: relative; margin-top: 36px; }
.workflow-scroller-track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 16px 8px 24px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.workflow-scroller-track::-webkit-scrollbar { display: none; }
.workflow-scroller-track .workflow-step-card { flex: 0 0 calc((100% - 48px) / 3); min-width: 340px; max-width: 400px; scroll-snap-align: start; position: relative; background: #ffffff; border: 1.5px solid #e2eee7; border-radius: 18px; padding: 30px 26px 26px; display: flex; flex-direction: column; transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; box-shadow: 0 4px 18px rgba(7, 38, 37, 0.035); cursor: pointer; overflow: hidden; }
.workflow-scroller-track .workflow-step-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3.5px; background: linear-gradient(90deg, #0ba56a, #34d399); opacity: 0; transition: opacity 0.3s ease; border-radius: 18px 18px 0 0; }
.workflow-scroller-track .workflow-step-card:hover, .workflow-scroller-track .workflow-step-card.active { transform: translateY(-6px); border-color: #0ba56a; box-shadow: 0 16px 36px rgba(11, 165, 106, 0.12); }
.workflow-scroller-track .workflow-step-card:hover::before, .workflow-scroller-track .workflow-step-card.active::before { opacity: 1; }
.workflow-step-badge { font-size: 13px; font-weight: 800; color: #ffffff; background: #0ba56a; border: 2px solid #ffffff; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(11, 165, 106, 0.3); margin-bottom: 18px; }
.workflow-content-wrap { display: flex; flex-direction: column; flex-grow: 1; }
.workflow-content-wrap h3 { font-size: 20px; font-weight: 700; color: #173b36; margin-bottom: 12px; line-height: 1.35; letter-spacing: 0 !important; transition: color 0.25s ease; }
.workflow-scroller-track .workflow-step-card:hover .workflow-content-wrap h3, .workflow-scroller-track .workflow-step-card.active .workflow-content-wrap h3 { color: #0ba56a; }
.workflow-content-wrap p { font-size: 15px; line-height: 1.65; color: #53635f; margin: 0; flex-grow: 1; }
.workflow-bottom-bar { width: 38px; height: 3px; background: #e3eee7; border-radius: 2px; margin-top: 20px; transition: all 0.35s ease; }
.workflow-scroller-track .workflow-step-card:hover .workflow-bottom-bar, .workflow-scroller-track .workflow-step-card.active .workflow-bottom-bar { width: 100%; background: linear-gradient(90deg, #0ba56a, #34d399); }
/* Scroller Controls: Next/Prev Buttons + Dots */
.workflow-scroller-controls { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 14px; }
.workflow-nav-arrow { width: 42px; height: 42px; border-radius: 50%; background: #ffffff; border: 1.5px solid #dcece3; color: #173b36; display: flex; align-items: center; justify-content: center; font-size: 15px; cursor: pointer; transition: all 0.25s ease; box-shadow: 0 4px 14px rgba(7, 38, 37, 0.06); }
.workflow-nav-arrow svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.workflow-nav-arrow:hover:not(:disabled) { background: #0ba56a; border-color: #0ba56a; color: #ffffff; transform: scale(1.08); box-shadow: 0 6px 18px rgba(11, 165, 106, 0.28); }
.workflow-nav-arrow:disabled { opacity: 0.35; background: #f8faf9; border-color: #e4ebe7; color: #90a39a; cursor: not-allowed; transform: none; box-shadow: none; }
.workflow-scroller-dots { display: flex; align-items: center; gap: 8px; }
.workflow-dot { width: 9px; height: 9px; border-radius: 50%; background: #d6e8de; border: none; padding: 0; cursor: pointer; transition: all 0.25s ease; }
.workflow-dot:hover { background: #34d399; }
.workflow-dot.active { width: 26px; border-radius: 12px; background: #0ba56a; }
/* Media Queries for Scroller */
@media (max-width: 991px) {
  .workflow-scroller-track .workflow-step-card { flex: 0 0 calc((100% - 20px) / 2); min-width: 280px; padding: 24px 20px 22px; }
}
@media (max-width: 767px) {
  #how-it-works, .how-it-works-section { background-position: center top !important; }
  .workflow-scroller-container { margin-top: 24px; }
  .workflow-scroller-track { gap: 14px; padding: 12px 4px 18px; }
  .workflow-scroller-track .workflow-step-card { flex: 0 0 86%; min-width: 260px; padding: 22px 18px 20px; }
  .workflow-content-wrap h3 { font-size: 18px; }
  .workflow-content-wrap p { font-size: 14px; }
  .workflow-nav-arrow { width: 38px; height: 38px; font-size: 14px; }
}
/* ── SECTION 5: KEY FEATURES TABS ── */
.features-menu-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 38px auto 32px; max-width: 1100px; }
.feature-menu-btn { display: inline-flex; align-items: center; gap: 9px; padding: 12px 22px; border-radius: 50px; background: #ffffff; border: 1.5px solid #dbeae2; color: #173b36; font-size: 14.5px; font-weight: 600; cursor: pointer; transition: all 0.25s ease; box-shadow: 0 2px 8px rgba(7, 38, 37, 0.03); }
.feature-menu-btn i, .feature-menu-btn svg { width: 17px; height: 17px; flex-shrink: 0; transition: all 0.25s ease; }
.feature-menu-btn i { font-size: 16px; color: #0ba56a; }
.feature-menu-btn svg { stroke: #0ba56a; fill: none; }
.feature-menu-btn:hover { border-color: #0ba56a; background: #f0fdf7; color: #0ba56a; transform: translateY(-2px); }
.feature-menu-btn:hover svg { stroke: #0ba56a; }
.feature-menu-btn.active { background: #0ba56a; border-color: #0ba56a; color: #ffffff; box-shadow: 0 8px 22px rgba(11, 165, 106, 0.28); transform: translateY(-2px); }
.feature-menu-btn.active i { color: #ffffff; }
.feature-menu-btn.active svg { stroke: #ffffff; }
.feature-spotlight-box { max-width: 880px; margin: 0 auto; background: #ffffff; border: 1px solid #e2eee7; border-radius: 24px; padding: 36px 40px 28px; box-shadow: 0 16px 45px rgba(7, 38, 37, 0.05); position: relative; overflow: hidden; }
.feature-spotlight-box::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #0ba56a, #34d399); border-radius: 24px 24px 0 0; }
.feature-spotlight-panel { display: none; opacity: 0; transform: translateY(10px); transition: opacity 0.35s ease, transform 0.35s ease; align-items: flex-start; gap: 28px; }
.feature-spotlight-panel.active { display: flex; opacity: 1; transform: translateY(0); }
.feature-spotlight-icon { flex-shrink: 0; width: 72px; height: 72px; border-radius: 18px; background: linear-gradient(135deg, rgba(11, 165, 106, 0.12), rgba(52, 211, 153, 0.06)); border: 1.5px solid rgba(11, 165, 106, 0.25); color: #0ba56a; display: flex; align-items: center; justify-content: center; font-size: 32px; box-shadow: 0 8px 20px rgba(11, 165, 106, 0.08); }
.feature-spotlight-content { flex-grow: 1; }
.feature-spotlight-content h3 { font-size: 22px; font-weight: 700; color: #173b36; margin-bottom: 14px; letter-spacing: 0 !important; line-height: 1.3; }
.feature-points-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 32px; }
.feature-points-list li:last-child { grid-column: 1 / -1; }
.feature-points-list li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.55; color: #53635f; }
.feature-points-list li i, .feature-points-list li svg { color: #0ba56a; width: 17px; height: 17px; flex-shrink: 0; margin-top: 3px; }
.feature-points-list li i { font-size: 16px; }
.feature-spotlight-footer { margin-top: 24px; padding-top: 20px; border-top: 1px solid #edf4f0; display: flex; align-items: center; justify-content: space-between; }
.feature-spotlight-dots { display: flex; align-items: center; gap: 8px; }
.feat-dot { width: 10px; height: 10px; border-radius: 50%; background: #dcebe2; border: none; padding: 0; cursor: pointer; transition: all 0.25s ease; }
.feat-dot.active { width: 28px; border-radius: 6px; background: #0ba56a; box-shadow: 0 2px 8px rgba(11, 165, 106, 0.3); }
.feature-spotlight-controls { display: flex; align-items: center; gap: 14px; }
.feat-counter { font-size: 14px; font-weight: 700; color: #768a85; }
.feat-current { color: #0ba56a; }
.feat-nav-btn { width: 36px; height: 36px; border-radius: 50%; background: #f0fdf7; border: 1px solid #d2e7dc; color: #0ba56a; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.25s ease; }
.feat-nav-btn i, .feat-nav-btn svg { width: 15px; height: 15px; stroke: currentColor; fill: none; }
.feat-nav-btn i { font-size: 14px; }
.feat-nav-btn:hover { background: #0ba56a; color: #ffffff; border-color: #0ba56a; transform: scale(1.08); }
/* ── SECTION 6: BUSINESS BENEFITS (MODERN BENTO GRID) ── */
#business-benefits { background-color: #052d26 !important; position: relative; }
#business-benefits .section-header h2 { color: #ffffff !important; }
#business-benefits .section-header p { color: #bce0d5 !important; }
.benefits-grid-5 { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; margin-top: 36px; }
.benefit-box { background: #08372f; border: 1.5px solid rgba(87, 231, 182, 0.18); border-radius: 18px; padding: 30px 26px; display: flex; flex-direction: column; position: relative; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18); transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease, box-shadow 0.3s ease, background-color 0.25s ease; }
.benefit-box:hover { transform: translateY(-5px); border-color: #0ba56a; background-color: #0c4238; box-shadow: 0 16px 36px rgba(0, 0, 0, 0.3), 0 0 24px rgba(11, 165, 106, 0.15); }
/* Top Row: 2 Hero Cards (50% width each) */
.benefit-box.benefit-box-hero { grid-column: span 3; }
/* Bottom Row: 3 Operational Cards (33.33% width each) */
.benefits-grid-5 > .benefit-box:not(.benefit-box-hero) { grid-column: span 2; }
/* Benefit Number Indicator */
.benefit-num { font-family: "Montserrat", sans-serif; font-size: 13px; font-weight: 700; color: #57e7b6; background: rgba(11, 165, 106, 0.2); border: 1px solid rgba(87, 231, 182, 0.3); padding: 4px 12px; border-radius: 999px; letter-spacing: 0.05em; display: inline-flex; align-items: center; justify-content: center; text-align: center; width: fit-content; margin-bottom: 16px; transition: all 0.25s ease; }
.benefit-box:hover .benefit-num { background: #0ba56a; color: #ffffff; border-color: #0ba56a; box-shadow: 0 2px 10px rgba(11, 165, 106, 0.4); }
.benefit-box h3 { font-family: "Montserrat", sans-serif; font-size: 19px; font-weight: 700; color: #ffffff; margin-bottom: 10px; line-height: 1.34; letter-spacing: -0.01em; transition: color 0.25s ease; }
.benefit-box.benefit-box-hero h3 { font-size: 20px; }
.benefit-box:hover h3 { color: #57e7b6; }
.benefit-box p { font-size: 15px; line-height: 1.65; color: #c4ddd5; margin: 0; }
/* ── SECTION 7: FOOD INDUSTRIES ── */
.industries-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-bottom: 40px; }
.industry-card { background: #ffffff; border: 1.5px solid #e1eee7; border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 6px 20px rgba(7, 38, 37, 0.04); transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.35s ease; position: relative; }
.industry-card:hover { transform: translateY(-6px); border-color: #0ba56a; box-shadow: 0 18px 36px rgba(11, 165, 106, 0.12), 0 4px 12px rgba(7, 38, 37, 0.04); }
.industry-card-media { position: relative; width: 100%; height: 200px; overflow: hidden; background: #072625; }
.industry-card-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 38, 37, 0.25) 0%, transparent 45%, rgba(7, 38, 37, 0.3) 100%); pointer-events: none; transition: opacity 0.3s ease; }
.industry-card:hover .industry-card-media::after { opacity: 0.8; }
.industry-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.industry-card:hover .industry-card-media img { transform: scale(1.08); }
.industry-media-badge { position: absolute; top: 13px; left: 13px; z-index: 2; display: inline-flex; align-items: center; justify-content: center; height: 26px; padding: 0 11px; background: rgba(7, 38, 37, 0.76); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 999px; font-size: 11.5px; font-weight: 700; color: #ffffff; letter-spacing: 0.06em; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); transition: background 0.3s ease, border-color 0.3s ease; }
.industry-card:hover .industry-media-badge { background: rgba(11, 165, 106, 0.95); border-color: rgba(255, 255, 255, 0.6); }
.industry-card-body { padding: 24px 22px 26px; display: flex; flex-direction: column; flex-grow: 1; background: #ffffff; }
.industry-card-body h3 { font-size: 18.5px; font-weight: 700; color: #173b36; margin: 0 0 10px 0; line-height: 1.35; transition: color 0.25s ease; }
.industry-card:hover .industry-card-body h3 { color: #0ba56a; }
.industry-card-body p { font-size: 14.5px; line-height: 1.62; color: #53635f; margin: 0; flex-grow: 1; }
/* ProTip Box */
.protip-box { width: 100%; background: #072625; color: #ffffff; border-radius: 16px; padding: 32px 36px; border: 1px solid rgba(11, 165, 106, 0.3); box-sizing: border-box; box-shadow: 0 16px 36px rgba(7, 38, 37, 0.2); }
.protip-badge { display: inline-block; background: #0ba56a; color: #ffffff; font-size: 12px; font-weight: 700; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; margin-bottom: 12px; letter-spacing: 0.04em; }
.protip-box h3 { font-size: 20px; font-weight: 700; color: #ffffff; margin-bottom: 8px; line-height: 1.35; }
.protip-intro { font-size: 15px; color: #c4ddd5; line-height: 1.6; margin: 0 0 16px 0!important; }
.compliance-template-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.compliance-chip { display: inline-flex; align-items: center; gap: 8px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(87, 231, 182, 0.3); color: #e2f1ec; font-size: 13.5px; font-weight: 600; padding: 8px 16px; border-radius: 50px; }
.compliance-chip i { color: #57e7b6; font-size: 15px; }
/* ── SECTION 8: SOFTWARE VS MANUAL COMPARISON ── */
.table-scroll-hint { display: none; }
.diff-table-wrap { overflow-x: auto; border: 1px solid #e1ece6; border-radius: 16px; background: #ffffff; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04); }
.diff-table { width: 100%; border-collapse: collapse; text-align: left; }
.diff-table th { font-family: "Montserrat", sans-serif; font-size: 15.5px; font-weight: 700; padding: 18px 24px; border-bottom: 2px solid #e1ece6; }
.diff-table th.diff-capability-col { width: 25%; background: #fafbfb; color: #173b36; }
.diff-table th.diff-manual-col { width: 37.5%; background: #f4f6f5; color: #566b62; }
.diff-table th.diff-tg-col { width: 37.5%; background: #eaf7ef; color: #078857; border-top: 3px solid #0ba56a; }
.diff-table td { padding: 16px 24px; border-bottom: 1px solid #edf1ee; font-size: 15px; }
.diff-table td.diff-feature-name { font-weight: 700; color: #173b36; background: #fafbfb; }
.diff-table td.diff-manual-val { color: #566b62; background: #fff; }
.diff-table td.diff-tg-val { color: #173b36; background: #f7fcf9; font-weight: 600; }
.diff-table td.diff-tg-val i { color: #0ba56a; margin-right: 6px; }
.diff-table tr:last-child td { border-bottom: none; }
/* ── SECTION 9: RECALL SCENARIO & FINANCIAL REALITY ── */
.recall-scenario-wrap { position: relative; background: #ffffff url("../images/haccp-traceability-software/how-haccp-traceability-helps-with-food-recalls.webp") no-repeat left center; background-size: cover; border-radius: 24px; border: 1.5px solid #e1eee7; padding: 40px 36px; box-shadow: 0 10px 30px rgba(7, 38, 37, 0.04); margin-bottom: 36px; overflow: hidden; }
.recall-scenario-header { margin-bottom: 18px; text-align: left; }
.recall-scenario-header h3 { font-size: 21px; font-weight: 700; color: #173b36; margin: 0; }
.safety-split-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 32px; align-items: center; margin-bottom: 0; }
.safety-content-col { grid-column: 2; display: flex; flex-direction: column; justify-content: center; }
.safety-scenario-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 0; }
.scenario-card { border-radius: 16px; padding: 26px 24px; display: flex; flex-direction: column; }
.scenario-card.without-tg { background: #fff8f8; border: 1.5px solid #fecaca; }
.scenario-card.with-tg { background: #f0fdf4; border: 1.5px solid #bbf7d0; }
.scenario-tag { display: inline-flex; font-size: 12px; font-weight: 800; padding: 4px 10px; border-radius: 50px; text-transform: uppercase; margin-bottom: 14px; width: fit-content; }
.scenario-tag.danger { color: #b91c1c; }
.scenario-tag.success { color: #15803d; }
.timeline-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.timeline-list li { font-size: 14.5px; line-height: 1.55; display: flex; align-items: flex-start; gap: 10px; color: #53635f; }
.timeline-time { font-weight: 700; color: #173b36; flex-shrink: 0; min-width: 68px; }
.recall-metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 32px; }
.recall-metric-card { background: #ffffff; border: 1.5px solid #e1eee7; border-radius: 14px; padding: 20px 18px; text-align: center; box-shadow: 0 4px 16px rgba(7, 38, 37, 0.035); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.metric-num { font-family: "Montserrat", sans-serif !important; font-size: 28px; font-weight: 800; line-height: 1.1; margin-bottom: 6px; }
.metric-num.danger { color: #dc2626; }
.metric-num.success { color: #0ba56a; }
.metric-lbl { font-size: 13.5px; font-weight: 600; color: #173b36; }
.financial-reality-box { background: #072625; color: #ffffff; border-radius: 16px; padding: 32px 36px; border: 1px solid rgba(11, 165, 106, 0.3); box-sizing: border-box; }
.financial-reality-box h3 { font-size: 20px; font-weight: 700; color: #ffffff; margin-bottom: 8px; }
.financial-reality-box p { font-size: 15px; color: #c4ddd5; margin-bottom: 18px; }
.financial-items-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.financial-item { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; }
.fin-label { font-size: 13px; color: #c4ddd5; }
.fin-val { font-size: 16px; font-weight: 700; color: #57e7b6; font-family: "Montserrat", sans-serif; }
.roi-reality-note { margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.15); font-size: 14.5px; color: #b7ded1; line-height: 1.6; }
.roi-reality-note strong { color: #ffffff; }
/* ── SECTION 10: INTEGRATION WITH OTHER SYSTEMS ── */
.integrations-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.integration-box { background: #ffffff; border: 1.5px solid #e1eee7; border-radius: 16px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: 0 4px 16px rgba(7, 38, 37, 0.035); transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; }
.integration-box:hover { transform: translateY(-4px); border-color: #0ba56a; box-shadow: 0 14px 30px rgba(11, 165, 106, 0.12); }
.integration-icon { width: 48px; height: 48px; border-radius: 12px; background: #eaf7ef; color: #0ba56a; display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 16px; flex-shrink: 0; }
.integration-box h3 { font-size: 19px; font-weight: 700; color: #173b36; margin-bottom: 10px; line-height: 1.35; }
.integration-box p { font-size: 15px; line-height: 1.65; color: #53635f; margin: 0; }
/* ── SECTION 11: DATA SECURITY ── */
#data-security, .data-security-section { position: relative; background-color: #ffffff; background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.85) 30%, rgba(255, 255, 255, 0.2) 65%, transparent 100%), url("../images/haccp-traceability-software/secure-data-protection-with-transgenie.webp") !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.data-security-section .section-header { position: relative; z-index: 2; max-width: 920px; margin: 0 auto 38px; padding: 16px 28px; border-radius: 24px; }
.data-security-section .section-header h2 { color: #072625 !important; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 12px; }
.data-security-section .section-header p { color: #234740 !important; font-size: 16.5px; line-height: 1.6; font-weight: 500; max-width: 720px; margin: 0 auto; }
.security-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 36px; }
.security-card { background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1.5px solid rgba(225, 238, 231, 0.9); border-radius: 18px; padding: 26px 22px; display: flex; flex-direction: column; box-shadow: 0 8px 24px rgba(7, 38, 37, 0.05); transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease, box-shadow 0.3s ease, background-color 0.25s ease; }
.security-card:hover { transform: translateY(-5px); background: #ffffff; border-color: #0ba56a; box-shadow: 0 16px 32px rgba(11, 165, 106, 0.14); }
.security-icon { width: 44px; height: 44px; border-radius: 12px; background: rgba(11, 165, 106, 0.12); color: #0ba56a; display: flex; align-items: center; justify-content: center; font-size: 20px; margin-bottom: 16px; flex-shrink: 0; transition: transform 0.25s ease, background-color 0.25s ease; }
.security-card:hover .security-icon { background: rgba(11, 165, 106, 0.2); transform: scale(1.06); }
.security-card h3 { font-size: 18px; font-weight: 700; color: #173b36; margin-bottom: 8px; line-height: 1.35; transition: color 0.25s ease; }
.security-card:hover h3 { color: #0ba56a; }
.security-card p { font-size: 14.5px; line-height: 1.6; color: #53635f; margin: 0; }
/* ── SECTION 12: WHY CHOOSE TRANSGENIE ── */
.why-choose-split { display: grid; grid-template-columns: 1.10fr 0.90fr; gap: 48px; align-items: center; }
.why-choose-media { position: relative; border-radius: 20px; overflow: hidden; box-shadow: 0 16px 36px rgba(7, 38, 37, 0.08); border: 1px solid #dce8e1; display: block; transition: transform 0.3s ease; }
.why-choose-media:hover { transform: translateY(-3px); }
.why-choose-media img { width: 100%; height: 100%; max-height: 520px; object-fit: cover; display: block; }
.why-choose-content { display: flex; flex-direction: column; justify-content: center; }
.why-choose-content h2 { font-size: 36px; font-weight: 700; color: #173b36; margin-bottom: 14px; line-height: 1.22; letter-spacing: 0 !important; }
.why-choose-content p { font-size: 16.5px; line-height: 1.65; color: #53635f; margin-bottom: 24px; }
.why-choose-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.why-choose-item { display: flex; flex-direction: column; }
.why-choose-item h3 { font-size: 18px; font-weight: 700; color: #173b36; margin: 0 0 8px 0; line-height: 1.35; }
.why-choose-item p { font-size: 14.5px; line-height: 1.62; color: #53635f; margin: 0 !important; }
/* ── SECTION 13: WALKTHROUGH CTA BANNER ── */
.walkthrough-cta-section { padding: 30px 0 70px 0; background-color: transparent; }
.walkthrough-cta-card { margin-top: 0 !important; background-color: #072625; background-image: linear-gradient(90deg, rgba(7, 38, 37, 0.92) 0%, rgba(7, 38, 37, 0.82) 50%, rgba(7, 38, 37, 0.60) 100%), url("../images/haccp-traceability-software/haccp-process-safety.webp") !important; background-size: cover !important; background-position: center !important; border-radius: 20px !important; padding: 42px 48px !important; box-shadow: 0 20px 48px rgba(7, 38, 37, 0.16) !important; border: 1px solid rgba(11, 165, 106, 0.22) !important; }
.walkthrough-cta-card .inline-cta-text h2 { font-family: "Montserrat", sans-serif !important; font-size: 24px; font-weight: 700; color: #ffffff !important; margin: 0 0 8px 0; line-height: 1.35; }
.walkthrough-cta-card .inline-cta-text p { font-size: 15.5px; line-height: 1.55; color: #c4ddd5 !important; margin: 0; }
/* ── SECTION 14: FAQ ACCORDION ── */
#faq .section-header { text-align: center !important; margin-left: auto !important; margin-right: auto !important; max-width: 860px; }
#faq .section-header h2, #faq .section-header p { text-align: center !important; }
.faq-list { max-width: 860px; margin: 36px auto 0; display: grid; gap: 14px; }
.faq-item { background: #FFFFFF; border: 1px solid var(--color-stroke); border-radius: 14px; overflow: hidden; box-shadow: 0 4px 20px rgba(0, 40, 22, 0.04); transition: border-color var(--transition-fast); }
.faq-item.active { border-color: var(--color-primary); }
.faq-question-btn { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; background: none; border: none; font-family: inherit; font-size: 16.5px; font-weight: 700; color: #173b36; text-align: left; cursor: pointer; gap: 16px; }
.faq-question-btn i, .faq-question-btn svg { color: var(--color-primary); width: 18px; height: 18px; stroke: currentColor; fill: none; transition: transform var(--transition-base); flex-shrink: 0; }
.faq-question-btn i { font-size: 18px; }
.faq-item.active .faq-question-btn i, .faq-item.active .faq-question-btn svg { transform: rotate(180deg); }
.faq-answer-body { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; background: #FFFFFF; }
.faq-answer-inner { padding: 0 22px 20px; font-size: 15px; line-height: 1.65; color: var(--color-secondary-text); }
/* ── SECTION 15: WALKTHROUGH CTA BANNER (BELOW FAQ) ── */
.haccp-walkthrough-cta { position: relative; padding: 100px 0; color: #FFFFFF; background-color: #031c18; background-image: linear-gradient(90deg, rgba(3, 28, 24, 0.95) 0%, rgba(3, 28, 24, 0.85) 45%, rgba(3, 28, 24, 0.45) 100%), url("../images/haccp-traceability-software/haccp-workflow-banner.webp"); background-size: cover; background-position: center right; background-repeat: no-repeat; overflow: hidden; }
.haccp-walkthrough-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; position: relative; z-index: 1; }
.haccp-walkthrough-cta-content { max-width: 880px; }
.haccp-walkthrough-cta-title { font-family: "Montserrat", sans-serif !important; font-size: clamp(24px, 4vw, 36px); font-weight: 700; line-height: 1.1; letter-spacing: -0.025em; color: #FFFFFF !important; margin: 0 0 16px 0; max-width: 840px; }
.haccp-walkthrough-cta-desc { font-size: clamp(15px, 1.15vw, 17px); line-height: 1.65; color: #cbe6dd !important; margin: 0; max-width: 740px; }
.haccp-walkthrough-cta-action { flex-shrink: 0; display: flex; align-items: center; }
.haccp-walkthrough-cta-btn { display: inline-flex; align-items: center; justify-content: center; background: #0BA56A !important; background-color: #0BA56A !important; color: #FFFFFF !important; font-family: "Montserrat", sans-serif !important; font-size: 16px; font-weight: 700; padding: 16px 34px; border-radius: 12px; text-decoration: none !important; border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25); transition: all 0.25s ease; white-space: nowrap; cursor: pointer; }
.haccp-walkthrough-cta-btn:hover { background: #088755 !important; background-color: #088755 !important; color: #FFFFFF !important; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(11, 165, 106, 0.4); }
.haccp-walkthrough-cta-btn:active { background: #077348 !important; background-color: #077348 !important; color: #FFFFFF !important; transform: translateY(0); box-shadow: 0 4px 12px rgba(11, 165, 106, 0.2); }
/* ── RESPONSIVE: DESKTOP LARGE ── */
@media (min-width: 992px) {
  .navbar #navMenus { transform: translateX(-24px); }
  .page-haccp-traceability #site-header .navbar .dropdown-menu[aria-labelledby="tDrop"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; width: 560px !important; padding: 18px !important; gap: 8px 10px !important; }
  .page-haccp-traceability #site-header .navbar .dropdown-menu[aria-labelledby="tDrop"].show { display: grid !important; }
}
@media (max-width: 1199px) {
  .container-xl-custom, .tg-container { padding-inline: 24px; }
}
/* ── RESPONSIVE: TABLET (<= 991px) ── */
@media (max-width: 991px) {
  .container-xl-custom, .tg-container { padding-inline: 20px; }
  .section, .tg-section { padding-top: 56px; padding-bottom: 56px; }
  .section-header { margin-bottom: 32px; }
  h1, .tg-hero h1, .hero-copy h1 { font-size: 34px !important; line-height: 1.2 !important; }
  h2, .main-heading, .section-header h2, .overview-copy-wrap h2, .why-choose-content h2 { font-size: 28px !important; line-height: 1.25 !important; }
  h3, .sub-heading, .h3 { font-size: 19px !important; line-height: 1.35 !important; }
  p, .paragraph, .body-large, .tg-hero p, .hero-copy .paragraph { font-size: 16px !important; line-height: 1.6 !important; max-width: none !important; }
  .tg-hero, .hero-section { padding-top: 115px !important; }
  .tg-hero .tg-hero-grid, .hero-section .container-xl-custom { grid-template-columns: 1fr; gap: 36px; }
  .tg-hero-content, .hero-copy, .hero-form-panel { max-width: 100%; flex: none; }
  .hero-form-panel .haccp-demo-card, .haccp-demo-card, .seafood-demo-card { max-width: 620px !important; margin: 0 auto !important; padding: 28px 24px 24px !important; }
  .tg-client-logo-row { gap: 44px; padding-right: 44px; }
  .tg-toc-section { display: block !important; background: #fbfdfc !important; padding: 16px 0 !important; }
  .tg-toc-card { padding: 14px 18px !important; border-radius: 14px !important; background: #ffffff !important; border: 1px solid rgba(11, 165, 106, 0.25) !important; box-shadow: 0 4px 16px rgba(0, 40, 22, 0.04) !important; }
  .tg-toc-trigger { padding: 0 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; }
  .tg-toc-trigger-text { font-size: 16px !important; white-space: nowrap !important; display: inline-flex !important; align-items: center !important; gap: 10px !important; color: #173b36 !important; }
  .tg-toc-trigger-text svg { width: 22px !important; height: 22px !important; min-width: 22px !important; min-height: 22px !important; max-width: 22px !important; max-height: 22px !important; flex-shrink: 0 !important; color: var(--color-primary) !important; }
  .tg-toc-arrow { width: 32px !important; height: 32px !important; min-width: 32px !important; min-height: 32px !important; flex-shrink: 0 !important; }
  .tg-toc-arrow svg { width: 16px !important; height: 16px !important; min-width: 16px !important; min-height: 16px !important; flex-shrink: 0 !important; }
  .tg-toc-nav { margin-top: 14px !important; padding: 14px 0 2px 14px !important; }
  .tg-toc-list { grid-template-columns: repeat(2, 1fr) !important; gap: 10px 18px !important; }
  .tg-toc-link { font-size: 14px !important; }
  .page-haccp-traceability #site-header .navbar #navbarSupportedContent { background: rgba(5, 35, 32, 0.98) !important; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: 14px; padding: 20px; margin-top: 12px; border: 1px solid rgba(87, 231, 182, 0.2); box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35); }
  .page-haccp-traceability #site-header .navbar .dropdown-menu, .page-haccp-traceability .navbar .dropdown-menu { background: rgba(5, 35, 32, 0.94) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important; border: 1px solid rgba(87, 231, 182, 0.2) !important; border-radius: 14px !important; padding: 10px; }
  .page-haccp-traceability #site-header .navbar .dropdown-menu .dropdown-item, .page-haccp-traceability .navbar .dropdown-menu .dropdown-item { color: #ffffff !important; background: rgba(255, 255, 255, 0.05) !important; border: 1px solid rgba(255, 255, 255, 0.08) !important; }
  .page-haccp-traceability #site-header .navbar .dropdown-menu .dropdown-item:hover, .page-haccp-traceability #site-header .navbar .dropdown-menu .dropdown-item:focus, .page-haccp-traceability .navbar .dropdown-menu .dropdown-item:hover, .page-haccp-traceability .navbar .dropdown-menu .dropdown-item:focus { color: #57e7b6 !important; background: rgba(87, 231, 182, 0.14) !important; border-color: rgba(87, 231, 182, 0.35) !important; }
  /* Mobile & Tablet (<= 991px): Navbar links - default and active/expanded/focus/hover states */
  .page-haccp-traceability #site-header .navbar .nav-link, .page-haccp-traceability .navbar .nav-link, .page-haccp-traceability .navbar-light .navbar-nav .nav-item .nav-link, .page-haccp-traceability #site-header .navbar .nav-link.active, .page-haccp-traceability #site-header .navbar .nav-link:hover, .page-haccp-traceability #site-header .navbar .nav-link:focus, .page-haccp-traceability #site-header .navbar .nav-link.show, .page-haccp-traceability #site-header .navbar .nav-link[aria-expanded="true"], .page-haccp-traceability #site-header .navbar .nav-item.active > .nav-link, .page-haccp-traceability #site-header .navbar .nav-item.show > .nav-link, .page-haccp-traceability #site-header .navbar .nav-item.dropdown.show > .nav-link, .page-haccp-traceability .navbar .nav-link.active, .page-haccp-traceability .navbar .nav-link:hover, .page-haccp-traceability .navbar .nav-link:focus, .page-haccp-traceability .navbar .nav-link.show, .page-haccp-traceability .navbar .nav-link[aria-expanded="true"], .page-haccp-traceability .navbar .nav-item.active > .nav-link, .page-haccp-traceability .navbar .nav-item.show > .nav-link, .page-haccp-traceability .navbar .nav-item.dropdown.show > .nav-link, .page-haccp-traceability .navbar-light .navbar-nav .nav-item .nav-link.active, .page-haccp-traceability .navbar-light .navbar-nav .nav-item .nav-link.show, .page-haccp-traceability .navbar-light .navbar-nav .nav-item .nav-link[aria-expanded="true"], .page-haccp-traceability .navbar-light .navbar-nav .nav-item .nav-link:hover, .page-haccp-traceability .navbar-light .navbar-nav .nav-item .nav-link:focus { color: #ffffff !important; }
  /* Mobile & Tablet (<= 991px): Dropdown toggle chevron down arrow - default and active/expanded states */
  .page-haccp-traceability #site-header .navbar .dropdown-toggle::after, .page-haccp-traceability #site-header .navbar .dropdown-toggle.active::after, .page-haccp-traceability #site-header .navbar .dropdown-toggle.show::after, .page-haccp-traceability #site-header .navbar .dropdown-toggle[aria-expanded="true"]::after, .page-haccp-traceability #site-header .navbar .dropdown-toggle:hover::after, .page-haccp-traceability #site-header .navbar .dropdown-toggle:focus::after, .page-haccp-traceability #site-header .navbar .nav-item.dropdown.show .dropdown-toggle::after, .page-haccp-traceability #site-header .navbar .nav-item.active .dropdown-toggle::after, .page-haccp-traceability .navbar .dropdown-toggle::after, .page-haccp-traceability .navbar .dropdown-toggle.active::after, .page-haccp-traceability .navbar .dropdown-toggle.show::after, .page-haccp-traceability .navbar .dropdown-toggle[aria-expanded="true"]::after, .page-haccp-traceability .navbar .dropdown-toggle:hover::after, .page-haccp-traceability .navbar .dropdown-toggle:focus::after, .page-haccp-traceability .navbar .nav-item.dropdown.show .dropdown-toggle::after, .page-haccp-traceability .navbar .nav-item.active .dropdown-toggle::after { color: #ffffff !important; border-top-color: #ffffff !important; opacity: 1 !important; }
  .overview-top-split, .why-choose-split, .safety-split-grid { grid-template-columns: 1fr; gap: 28px; }
  .safety-split-grid { grid-template-columns: 1fr; gap: 20px; }
  .safety-content-col { grid-column: 1; }
  .recall-scenario-wrap { padding: 32px 24px; background-image: linear-gradient(rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.88)), url("../images/haccp-traceability-software/how-haccp-traceability-helps-with-food-recalls.webp"); background-size: cover; }
  .overview-top-split .overview-copy-wrap, .why-choose-split .why-choose-content { order: 1; }
  .overview-top-split .overview-media-wrap, .why-choose-split .why-choose-media { order: 2; }
  .overview-top-split .overview-media-wrap, .why-choose-split .why-choose-media { max-width: 520px; width: 100%; margin-inline: auto; }
  .why-choose-split .why-choose-media img { width: 100%; height: 320px; max-height: 320px; object-fit: cover; }
  .overview-top-split .overview-media-wrap img { width: 100%; height: auto !important; max-height: unset !important; object-fit: contain !important; }
  .why-switching-top-split { grid-template-columns: 1fr; gap: 28px; }
  .why-switching-hero-media { justify-content: center; max-width: 580px; margin: 0 auto; }
  .why-switching-grid, .demand-grid, .principles-grid, .benefits-grid-5, .industries-grid, .integrations-grid, .security-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .industry-card-media { height: 175px; }
  .benefit-box.benefit-box-hero, .benefits-grid-5 > .benefit-box:not(.benefit-box-hero) { grid-column: auto; }
  .benefit-box:last-child { grid-column: 1 / -1; max-width: 540px; margin-inline: auto; width: 100%; }
  .haccp-orbit-console { grid-template-columns: 1fr; gap: 24px; margin-top: 24px; }
  .haccp-orbit-dial-wrap { padding: 10px 0; }
  .haccp-orbit-dial { --orbit-radius: 128px; width: 330px; height: 330px; }
  .orbit-center-core { width: 130px; height: 130px; }
  .orbit-core-num { font-size: 26px; }
  .orbit-core-title { font-size: 12px; max-width: 104px; margin-top: 4px; }
  .orbit-node { width: 40px; height: 40px; font-size: 13px; }
  .showcase-media-stack { height: 230px; }
  .showcase-nav-bar { display: flex; }
  .recall-metrics-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .financial-items-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .inline-cta-banner { flex-direction: column; align-items: flex-start; padding: 30px!important; gap: 20px; }
  .haccp-walkthrough-cta { padding: 72px 0; background-image: linear-gradient(180deg, rgba(3, 28, 24, 0.95) 0%, rgba(3, 28, 24, 0.88) 100%), url("../images/haccp-traceability-software/haccp-workflow-banner.webp"); }
  .haccp-walkthrough-cta-inner { flex-direction: column; align-items: flex-start; gap: 28px; }
  .haccp-walkthrough-cta-btn { width: 100%; max-width: 320px; }
}
/* ── RESPONSIVE: MOBILE (<= 767px) ── */
@media (max-width: 767px) {
  /* Mobile (<= 767px): Force white text and arrow for active/open navigation links */
  .page-haccp-traceability #site-header .navbar .nav-link, .page-haccp-traceability .navbar .nav-link, .page-haccp-traceability .navbar-light .navbar-nav .nav-item .nav-link, .page-haccp-traceability #site-header .navbar .nav-link.active, .page-haccp-traceability #site-header .navbar .nav-link:hover, .page-haccp-traceability #site-header .navbar .nav-link:focus, .page-haccp-traceability #site-header .navbar .nav-link.show, .page-haccp-traceability #site-header .navbar .nav-link[aria-expanded="true"], .page-haccp-traceability #site-header .navbar .nav-item.active > .nav-link, .page-haccp-traceability #site-header .navbar .nav-item.show > .nav-link, .page-haccp-traceability #site-header .navbar .nav-item.dropdown.show > .nav-link, .page-haccp-traceability .navbar .nav-link.active, .page-haccp-traceability .navbar .nav-link:hover, .page-haccp-traceability .navbar .nav-link:focus, .page-haccp-traceability .navbar .nav-link.show, .page-haccp-traceability .navbar .nav-link[aria-expanded="true"], .page-haccp-traceability .navbar .nav-item.active > .nav-link, .page-haccp-traceability .navbar .nav-item.show > .nav-link, .page-haccp-traceability .navbar .nav-item.dropdown.show > .nav-link, .page-haccp-traceability .navbar-light .navbar-nav .nav-item .nav-link.active, .page-haccp-traceability .navbar-light .navbar-nav .nav-item .nav-link.show, .page-haccp-traceability .navbar-light .navbar-nav .nav-item .nav-link[aria-expanded="true"], .page-haccp-traceability .navbar-light .navbar-nav .nav-item .nav-link:hover, .page-haccp-traceability .navbar-light .navbar-nav .nav-item .nav-link:focus { color: #ffffff !important; }
  .page-haccp-traceability #site-header .navbar .dropdown-toggle::after, .page-haccp-traceability #site-header .navbar .dropdown-toggle.active::after, .page-haccp-traceability #site-header .navbar .dropdown-toggle.show::after, .page-haccp-traceability #site-header .navbar .dropdown-toggle[aria-expanded="true"]::after, .page-haccp-traceability #site-header .navbar .dropdown-toggle:hover::after, .page-haccp-traceability #site-header .navbar .dropdown-toggle:focus::after, .page-haccp-traceability #site-header .navbar .nav-item.dropdown.show .dropdown-toggle::after, .page-haccp-traceability #site-header .navbar .nav-item.active .dropdown-toggle::after, .page-haccp-traceability .navbar .dropdown-toggle::after, .page-haccp-traceability .navbar .dropdown-toggle.active::after, .page-haccp-traceability .navbar .dropdown-toggle.show::after, .page-haccp-traceability .navbar .dropdown-toggle[aria-expanded="true"]::after, .page-haccp-traceability .navbar .dropdown-toggle:hover::after, .page-haccp-traceability .navbar .dropdown-toggle:focus::after, .page-haccp-traceability .navbar .nav-item.dropdown.show .dropdown-toggle::after, .page-haccp-traceability .navbar .nav-item.active .dropdown-toggle::after { color: #ffffff !important; border-top-color: #ffffff !important; opacity: 1 !important; }
  /* Mobile (<= 767px): Reduced logo and hamburger size */
  .page-haccp-traceability #site-header .navbar-brand img, .page-haccp-traceability .navbar-brand img { height: 40px !important; width: auto !important; }
  .page-haccp-traceability #site-header .navbar-toggler, .page-haccp-traceability .navbar-toggler { width: 36px !important; height: 32px !important; padding: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 6px !important; }
  .page-haccp-traceability #site-header .navbar-toggler-icon, .page-haccp-traceability .navbar-toggler-icon { width: 18px !important; height: 18px !important; }
  .container-xl-custom, .tg-container { padding-inline: 16px !important; }
  .data-security-section .section-header { padding: 0px; }
  .section, .tg-section, #why-switching, .data-security-section, .walkthrough-cta-section { padding-top: 28px !important; padding-bottom: 28px !important; padding-block: 28px !important; }
  .section-header, .section-header.text-center, #faq .section-header, .why-switching-top-split, .overview-top-split, .recall-scenario-header { margin-bottom: 16px !important; text-align: left !important; margin-left: 0 !important; margin-right: auto !important; }
  .section-header .eyebrow, .section-header.text-center .eyebrow, #faq .section-header .eyebrow, .eyebrow { margin-left: 0 !important; margin-right: auto !important; display: inline-flex !important; align-items: center !important; justify-content: flex-start !important; }
  .section-header p, .section-header .paragraph, .section-header.text-center p, .section-header.text-center .paragraph, #faq .section-header p, #faq .section-header .paragraph { text-align: left !important; margin-left: 0 !important; margin-right: auto !important; }
  .tg-hero, .hero-section { padding-top: 100px !important; padding-bottom: 36px !important; background-image: linear-gradient(180deg, rgba(3, 27, 26, 0.94) 0%, rgba(3, 27, 26, 0.90) 100%), url("../images/haccp-traceability-software/haccp-hero-banner.webp"); background-position: center; }
  .tg-hero-actions, .hero-actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .inline-cta-banner { padding: 20px!important; gap: 15px; }
  h1, .tg-hero h1, .hero-copy h1 { font-size: 28px !important; line-height: 1.25 !important; }
  h2, .h2, .main-heading, .section-header h2, .section-header.text-center h2, .overview-copy-wrap h2, .why-choose-content h2, #faq .section-header h2, .haccp-walkthrough-cta-title, .tg-section h2, .section h2 { font-size: 22px !important; line-height: 1.25 !important; margin-bottom: 6px !important; text-align: left !important; }
  h3, .h3, .sub-heading, .problem-card-body h3, .demand-card-body h3, .principle-body h3, .workflow-content-wrap h3, .feature-spotlight-content h3, .benefit-box h3, .industry-card-body h3, .industry-card h3, .protip-box h3, .recall-scenario-header h3, .financial-reality-box h3, .integration-box h3, .security-card h3, .why-choose-item h3, .inline-cta-text h3, .success-state h3, .definition-callout-box h3, .faq-question-btn { font-size: 16px !important; line-height: 1.3 !important; margin-bottom: 4px !important; }
  p, .paragraph, .body-large, .tg-hero p, .tg-main-wrap .body-large, .hero-copy .paragraph, .section-header p, .section-header .paragraph, .section-header.text-center p, .section-header.text-center .paragraph, .overview-copy-wrap p, .problem-card-body p, .demand-card-body p, .definition-callout-box li, .principle-body p, .workflow-content-wrap p, .feature-points-list li, .benefit-box p, .industry-card-body p, .industry-card p, .protip-intro, .timeline-list li, .financial-reality-box p, .integration-box p, .security-card p, .why-choose-content p, .why-choose-item p, .faq-answer-inner, .inline-cta-text p, .haccp-walkthrough-cta-desc, .success-state p { font-size: 13.5px !important; line-height: 1.48 !important; text-align: left !important; }
  .fine-print { font-size: 12px !important; }
  .btn-tg-primary, .btn-tg-secondary, .btn-hero-primary, .btn-hero-secondary, .cta-btn, .final-cta-btn { font-size: 13.5px !important; padding: 8px 18px !important; height: auto !important; min-height: 38px !important; width: auto !important; max-width: max-content !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; text-align: center; border-radius: 999px !important; }
  .inline-cta-banner { flex-direction: column !important; align-items: flex-start !important; padding: 16px 16px !important; gap: 12px !important; border-radius: 12px !important; margin-top: 18px !important; }
  .inline-cta-text h3 { font-size: 16.5px !important; margin-bottom: 4px !important; color: #ffffff !important; }
  .inline-cta-text p { font-size: 13px !important; line-height: 1.45 !important; margin: 0 !important; }
  .inline-cta-btn { font-size: 13.5px !important; padding: 8px 18px !important; height: auto !important; min-height: 38px !important; width: auto !important; max-width: max-content !important; display: inline-flex !important; align-items: center !important; align-self: flex-start !important; text-align: center; border-radius: 999px !important; }
  #seafoodSubmitBtn, .seafood-demo-card button[type="submit"] { font-size: 14px !important; padding: 10px 16px !important; }
  .safety-split-grid .safety-media-wrap, .why-choose-split .why-choose-media { max-width: 100%; border-radius: 14px; }
  .recall-scenario-wrap { padding: 24px 16px !important; background-image: linear-gradient(rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.92)), url("../images/haccp-traceability-software/how-haccp-traceability-helps-with-food-recalls.webp") !important; }
  .safety-scenario-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .why-choose-split .why-choose-content { order: 1 !important; }
  .why-choose-split .why-choose-media { order: 2 !important; max-width: 100%; border-radius: 14px; }
  .why-choose-split .why-choose-media img { height: 180px !important; max-height: 180px !important; object-fit: cover; border-radius: 14px; min-height: unset; }
  .overview-top-split .overview-media-wrap { max-width: 100%; border-radius: 14px; }
  .overview-top-split .overview-media-wrap img { height: auto !important; max-height: unset !important; object-fit: contain !important; border-radius: 14px; min-height: unset; }
  .why-switching-top-split { grid-template-columns: 1fr; gap: 20px; margin-bottom: 24px; }
  .why-switching-header-left { width: 100% !important; max-width: 100% !important; }
  .why-switching-header-left h2 { font-size: 24px !important; }
  .problem-card-media { height: 110px !important; margin-bottom: 10px !important; border-radius: 8px !important; }
  .industry-card { padding: 0 !important; border-radius: 12px !important; overflow: hidden !important; }
  .industry-card-media { height: 140px !important; }
  .industry-card-body { padding: 12px 14px 14px !important; }
  .industry-card-body h3 { font-size: 16px !important; margin-bottom: 4px !important; }
  .industry-card-body p { font-size: 13px !important; line-height: 1.45 !important; margin: 0 !important; }
  .why-switching-grid, .demand-grid, .principles-grid, .benefits-grid-5, .industries-grid, .integrations-grid, .security-grid, .why-choose-grid, .financial-items-grid, .safety-scenario-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
  .benefit-box.benefit-box-hero, .benefits-grid-5 > .benefit-box:not(.benefit-box-hero), .benefit-box:last-child { grid-column: auto !important; max-width: 100% !important; margin-inline: 0 !important; }
  .benefit-box { padding: 13px 14px !important; border-radius: 12px !important; }
  .benefit-num { display: inline-flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; padding: 0 !important; width: 28px !important; height: 28px !important; min-width: 28px !important; min-height: 28px !important; border-radius: 50% !important; font-size: 12px !important; line-height: 1 !important; letter-spacing: 0 !important; margin-bottom: 6px !important; }
  .benefit-box h3, .benefit-box.benefit-box-hero h3 { font-size: 16px !important; margin-bottom: 4px !important; line-height: 1.3 !important; }
  .benefit-box p { font-size: 13px !important; line-height: 1.45 !important; margin: 0 !important; }
  .demand-card-icon, .integration-icon, .security-icon { width: 32px !important; height: 32px !important; border-radius: 8px !important; font-size: 15px !important; margin-bottom: 6px !important; }
  .demand-card-icon svg, .integration-icon svg, .security-icon svg { width: 16px !important; height: 16px !important; }
  .demand-card-body h3, .problem-card-body h3, .principle-body h3, .integration-box h3, .security-card h3, .why-choose-item h3 { font-size: 15px !important; margin-bottom: 3px !important; line-height: 1.3 !important; }
  .demand-card-body p, .problem-card-body p, .principle-body p, .integration-box p, .security-card p, .why-choose-item p { font-size: 12.5px !important; line-height: 1.42 !important; margin: 0 !important; }
  .haccp-orbit-console { grid-template-columns: 1fr !important; gap: 14px !important; margin-top: 14px !important; }
  .haccp-orbit-dial-wrap { padding: 4px 0 !important; }
  .haccp-orbit-dial { --orbit-radius: 106px !important; width: 270px !important; height: 270px !important; }
  .orbit-center-core { width: 108px !important; height: 108px !important; }
  .orbit-core-num { font-size: 22px !important; }
  .orbit-core-title { font-size: 11px !important; max-width: 90px !important; margin-top: 3px !important; line-height: 1.2 !important; }
  .orbit-node { width: 36px !important; height: 36px !important; font-size: 12px !important; }
  .showcase-media-stack { height: 160px !important; max-height: 160px !important; }
  .haccp-live-pill { font-size: 11px !important; padding: 3px 8px !important; top: 8px !important; left: 8px !important; }
  .haccp-live-station { display: none !important; }
  .showcase-content-card { padding: 14px 14px !important; }
  .showcase-panels-stack { min-height: unset !important; }
  .principle-detail-panel h3 { font-size: 16.5px !important; margin-bottom: 4px !important; }
  .principle-detail-panel p { font-size: 13.5px !important; line-height: 1.48 !important; }
  .showcase-nav-bar { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; padding-top: 10px !important; }
  .orbit-progress-track { width: 100% !important; justify-content: center !important; order: 1 !important; margin-bottom: 2px !important; }
  .orbit-nav-btn { width: auto !important; min-width: 90px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; font-size: 13px !important; padding: 7px 16px !important; border-radius: 999px !important; }
  .orbit-nav-btn.prev { order: 2 !important; }
  .orbit-nav-btn.next { order: 3 !important; }
  .principle-card.principle-card-wide, .benefit-box.benefit-box-wide { grid-column: auto !important; }
  .problem-card, .demand-card, .principle-card, .workflow-step-card, .integration-box, .security-card, .why-choose-item { padding: 10px 12px 12px !important; border-radius: 12px !important; }
  .recall-metrics-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; margin-bottom: 14px !important; }
  .recall-metric-card { padding: 10px 8px 10px !important; border-radius: 12px !important; }
  .metric-num { font-size: 22px !important; margin-bottom: 2px !important; line-height: 1.1 !important; }
  .metric-lbl { font-size: 11.5px !important; line-height: 1.3 !important; }
  .protip-box, .financial-reality-box { padding: 12px 12px !important; border-radius: 12px !important; }
  .table-scroll-hint { display: inline-flex !important; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: #078857; background: #eaf7ef; border: 1px solid #c2e5d2; padding: 5px 12px; border-radius: 20px; margin-bottom: 12px; }
  .diff-table-wrap { display: block !important; width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; border: 1px solid #dce8e2 !important; border-radius: 14px !important; background: #ffffff !important; box-shadow: 0 4px 18px rgba(7, 38, 37, 0.05) !important; margin-bottom: 24px !important; padding: 0 !important; scrollbar-width: thin !important; scrollbar-color: #0ba56a #edf5f0 !important; }
  .diff-table-wrap::-webkit-scrollbar { height: 6px !important; }
  .diff-table-wrap::-webkit-scrollbar-track { background: #edf5f0 !important; border-radius: 4px !important; }
  .diff-table-wrap::-webkit-scrollbar-thumb { background: #0ba56a !important; border-radius: 4px !important; }
  .diff-table { display: table !important; width: 100% !important; min-width: 600px !important; border-collapse: collapse !important; text-align: left !important; margin: 0 !important; }
  .diff-table thead { display: table-header-group !important; }
  .diff-table tbody { display: table-row-group !important; }
  .diff-table tr { display: table-row !important; background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
  .diff-table th { display: table-cell !important; padding: 13px 14px !important; font-size: 13.5px !important; font-weight: 700 !important; border-bottom: 2px solid #e1ece6 !important; white-space: nowrap !important; }
  .diff-table th.diff-capability-col { width: 25% !important; min-width: 140px !important; background: #fafbfb !important; color: #173b36 !important; }
  .diff-table th.diff-manual-col { width: 37.5% !important; min-width: 210px !important; background: #f4f6f5 !important; color: #566b62 !important; }
  .diff-table th.diff-tg-col { width: 37.5% !important; min-width: 230px !important; background: #eaf7ef !important; color: #078857 !important; border-top: 3px solid #0ba56a !important; }
  .diff-table td { display: table-cell !important; padding: 13px 14px !important; border-bottom: 1px solid #edf1ee !important; font-size: 13.5px !important; line-height: 1.5 !important; vertical-align: middle !important; }
  .diff-table td.diff-feature-name { font-weight: 700 !important; color: #173b36 !important; background: #fafbfb !important; border-bottom: 1px solid #edf1ee !important; }
  .diff-table td.diff-manual-val { color: #566b62 !important; background: #ffffff !important; border-bottom: 1px solid #edf1ee !important; }
  .diff-table td.diff-tg-val { color: #173b36 !important; background: #f7fcf9 !important; font-weight: 600 !important; border-bottom: 1px solid #edf1ee !important; }
  .diff-table tr:last-child td { border-bottom: none !important; }
  .features-menu-nav { display: flex; flex-direction: column; gap: 10px; margin: 24px auto 0; width: 100%; }
  .feature-menu-btn { width: 100%; justify-content: center; padding: 12px 18px; font-size: 14.5px; transition: all 0.25s ease; }
  .feature-spotlight-box { width: 100%; margin: 4px 0 10px 0; padding: 22px 18px 16px; border-radius: 16px; box-shadow: 0 8px 24px rgba(7, 38, 37, 0.08); }
  .feature-spotlight-panel { flex-direction: column; text-align: center; align-items: center; gap: 12px; }
  .feature-spotlight-icon { width: 50px !important; height: 50px !important; border-radius: 14px !important; margin: 0 auto; box-shadow: 0 4px 12px rgba(11, 165, 106, 0.12) !important; font-size: 22px !important; }
  .feature-spotlight-content { text-align: center !important; width: 100%; }
  .feature-spotlight-content h3 { font-size: 18px !important; line-height: 1.35 !important; margin-bottom: 8px !important; text-align: center !important; }
  .feature-points-list { grid-template-columns: 1fr !important; gap: 12px !important; }
  .feature-points-list li:last-child { grid-column: auto !important; }
  .feature-points-list li { text-align: left !important; font-size: 14px !important; }
  .feature-spotlight-footer { flex-direction: column; gap: 14px; align-items: center; margin-top: 16px; padding-top: 14px; }
  .feat-nav-btn { width: 32px; height: 32px; }
  #faq { padding-block: 36px !important; }
  #faq .section-header { margin-bottom: 16px !important; }
  .faq-list { gap: 9px !important; margin-top: 14px !important; }
  .faq-item { border-radius: 10px !important; }
  .faq-question-btn, .faq-item .faq-question-btn { padding: 13px 15px !important; font-size: 14.5px !important; line-height: 1.4 !important; gap: 12px !important; }
  .faq-question-btn i { font-size: 14px !important; }
  .faq-answer-inner { padding: 0 15px 14px 15px !important; font-size: 13.5px !important; line-height: 1.55 !important; }
  .haccp-walkthrough-cta { padding: 28px 0 !important; }
  .haccp-walkthrough-cta-inner { gap: 14px !important; align-items: flex-start !important; }
  .haccp-walkthrough-cta-title { margin-bottom: 6px !important; font-size: 21px !important; line-height: 1.25 !important; text-align: left !important; }
  .haccp-walkthrough-cta-desc { margin-bottom: 0 !important; font-size: 13.5px !important; line-height: 1.48 !important; text-align: left !important; }
  .haccp-walkthrough-cta-content { text-align: left !important; margin-left: 0 !important; margin-right: auto !important; }
  .haccp-walkthrough-cta-btn { font-size: 13.5px !important; padding: 8px 20px !important; border-radius: 999px !important; width: auto !important; max-width: max-content !important; display: inline-flex !important; align-items: center !important; align-self: flex-start !important; }
  .tg-toc-section { padding: 12px 0 !important; }
  .tg-toc-card { padding: 12px 14px !important; border-radius: 12px !important; }
  .tg-toc-trigger-text { font-size: 15px !important; gap: 8px !important; white-space: nowrap !important; }
  .tg-toc-trigger-text svg { width: 19px !important; height: 19px !important; min-width: 19px !important; min-height: 19px !important; max-width: 19px !important; max-height: 19px !important; flex-shrink: 0 !important; }
  .tg-toc-arrow { width: 28px !important; height: 28px !important; min-width: 28px !important; min-height: 28px !important; flex-shrink: 0 !important; }
  .tg-toc-arrow svg { width: 14px !important; height: 14px !important; min-width: 14px !important; min-height: 14px !important; flex-shrink: 0 !important; }
  .tg-toc-nav { margin-top: 12px !important; padding: 12px 0 2px 10px !important; }
  .tg-toc-list { grid-template-columns: 1fr !important; gap: 8px !important; }
  .tg-toc-link { font-size: 13.5px !important; padding: 3px 0 !important; }
}
/* ── RESPONSIVE: SMALL MOBILE (<= 575px) ── */
@media (max-width: 575px) {
  .hero-form-panel .haccp-demo-card, .haccp-demo-card, .seafood-demo-card { padding: 22px 18px 20px !important; border-radius: 12px !important; }
  .page-haccp-traceability .demo-title, .demo-title { font-size: 20px !important; }
  .page-haccp-traceability .demo-subtext, .demo-subtext { font-size: 13.5px !important; }
  .page-haccp-traceability .demo-field, .demo-field { margin-bottom: 11px !important; }
  .page-haccp-traceability .demo-field textarea, .demo-field textarea { min-height: 72px !important; height: 72px !important; }
  #haccpSubmitBtn, #seafoodSubmitBtn, .page-haccp-traceability #haccpSubmitBtn, .haccp-demo-card button[type="submit"], .seafood-demo-card button[type="submit"] { font-size: 14.5px !important; padding: 11px 16px !important; }
  .tg-trust-strip { grid-template-columns: 1fr 1fr; }
  .safety-split-grid .safety-media-wrap img, .why-choose-split .why-choose-media img { height: 160px !important; max-height: 160px !important; }
  .overview-top-split .overview-media-wrap img { height: auto !important; max-height: unset !important; object-fit: contain !important; }
  .features-menu-nav { gap: 8px; margin-top: 20px; }
  .feature-menu-btn { padding: 11px 16px; font-size: 14px; }
  .feature-spotlight-box { padding: 18px 16px 14px; }
  .feature-spotlight-icon { width: 44px !important; height: 44px !important; border-radius: 12px !important; font-size: 18px !important; }
  .feature-spotlight-content h3 { font-size: 18px !important; text-align: center !important; }
  #faq { padding-block: 30px !important; }
  #faq .section-header { margin-bottom: 12px !important; }
  .faq-list { gap: 8px !important; }
  .faq-question-btn, .faq-item .faq-question-btn { padding: 11px 13px !important; font-size: 14px !important; line-height: 1.38 !important; }
  .faq-answer-inner { padding: 0 13px 12px 13px !important; font-size: 13px !important; }
}
/* ── RESPONSIVE: EXTRA SMALL (<= 420px) ── */
@media (max-width: 420px) {
  .tg-hero h1, .hero-copy h1, h1 { font-size: 26px !important; }
}
/* ── PREFERS-REDUCED-MOTION ── */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
  .tg-client-logo-marquee, .client-logo-marquee { animation-play-state: paused !important; }
}
/* ── FLOATING CTA BAR OVERRIDES ── */
.page-haccp-traceability #ctaBar .cta-text .h3 { white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; }
