 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 :root {
     --cream: #FAF7F2;
     --charcoal: #1a1a1a;
     --forest: #1a3a32;
     --coral: #E85D4C;
     --sage: #7C9A82;
     --blue: #2563EB;
     --lavender: #E8E4F0;
     --text: #374151;
     --text-muted: #6B7280;
 }

 body {
     font-family: 'Inter', -apple-system, sans-serif;
     background: var(--cream);
     color: var(--charcoal);
     line-height: 1.6;
     -webkit-font-smoothing: antialiased;
 }

 .serif {
     font-family: 'Instrument Serif', Georgia, serif;
 }

 /* Header */
 header {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     z-index: 100;
     padding: 1rem 2rem;
 }

 nav {
     width: 80%;
     max-width: 1200px;
     margin: 0 auto;
     display: flex;
     justify-content: space-between;
     align-items: center;
     background: rgba(255, 255, 255);
     backdrop-filter: blur(20px);
     border: 1px solid rgba(0, 0, 0, 0.08);
     border-radius: 100px;
     padding: 0.75rem 1.5rem;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
 }

 .logo {
     font-family: 'Inter', sans-serif;
     font-weight: 700;
     font-size: 1.25rem;
     letter-spacing: -0.02em;
     color: var(--charcoal);
     text-decoration: none;
     display: flex;
     align-items: center;
     gap: 0.5rem;
 }

 .logo-icon {
     width: 32px;
     height: 32px;
     background: var(--forest);
     border-radius: 8px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .nav-links {
     display: flex;
     gap: 2.5rem;
     list-style: none;
 }

 .nav-links a {
     color: var(--text);
     text-decoration: none;
     font-size: 0.9rem;
     font-weight: 500;
     position: relative;
     transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .nav-links a::after {
     content: '';
     position: absolute;
     bottom: -4px;
     left: 0;
     width: 0;
     height: 1.5px;
     background: var(--forest);
     transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .nav-links a:hover {
     color: var(--forest);
 }

 .nav-links a:hover::after {
     width: 100%;
 }

 .nav-cta {
     display: flex;
     gap: 0.75rem;
 }

 .btn {
     padding: 0.625rem 1.25rem 0.5rem 1.25rem;
     border-radius: 8px;
     font-size: 0.9rem;
     font-weight: 600;
     text-decoration: none;
     transition: all 0.2s;
 }

 .btn-ghost {
     color: var(--forest);
     border: 1px solid transparent;
     background: transparent;
 }

 .btn-ghost:hover {
     border-color: var(--charcoal);
     background: rgba(26, 58, 50, 0.05);
 }

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

 .btn-primary:hover {
     background: #0f2a22;
     transform: translateY(-1px);
 }

 /* Hero */
 .hero {
     min-height: 100vh;
     padding: 8rem 2rem 4rem;
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 4rem;
     max-width: 1300px;
     margin: 0 auto;
     align-items: center;
 }

 .hero-content {
     max-width: 590px;
 }

 .hero-badge {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     padding: 0.5rem 1rem;
     background: rgba(26, 58, 50, 0.08);
     border-radius: 100px;
     font-size: 0.8rem;
     font-weight: 600;
     color: var(--forest);
     margin-bottom: 1.5rem;
 }

 .hero-badge::before {
     content: '';
     width: 8px;
     height: 8px;
     background: var(--coral);
     border-radius: 50%;
     animation: pulse 2s infinite;
 }

 @keyframes pulse {

     0%,
     100% {
         opacity: 1;
         transform: scale(1);
     }

     50% {
         opacity: 0.5;
         transform: scale(1.2);
     }
 }

 h1 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: clamp(2.75rem, 4.5vw, 5rem);
     font-weight: 400;
     line-height: 1.1;
     letter-spacing: -0.02em;
     margin-bottom: 1.5rem;
 }

 h1 em {
     font-style: italic;
     color: var(--forest);
 }

 .hero-description {
     font-size: 1.125rem;
     color: var(--text);
     line-height: 1.7;
     margin-bottom: 2rem;
 }

 .hero-ctas {
     display: flex;
     gap: 1rem;
     margin-bottom: 3rem;
 }

 .btn-large {
     padding: 1rem 2rem;
     font-size: 1rem;
 }

 .btn-outline {
     border: 1.5px solid #6b728059;
     color: var(--charcoal);
 }

 .btn-outline:hover {
     background: var(--charcoal);
     color: white;
 }

 /* Button Arrow Styles */
 .btn-arrow {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     justify-content: center;
 }

 .btn-arrow-icon {
     transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     flex-shrink: 0;
     margin-top: 2px;
 }

 .btn-arrow:hover .btn-arrow-icon {
     transform: translateX(4px);
 }

 /* Primary button arrow - white stroke */
 .btn-primary .btn-arrow-icon {
     stroke: white;
 }

 /* Outline button arrow - dark stroke, white on hover */
 .btn-outline .btn-arrow-icon {
     stroke: var(--charcoal);
     transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), stroke 0.2s ease;
 }

 .btn-outline:hover .btn-arrow-icon {
     stroke: white;
 }

 /* Social Proof */
 .users {
     display: none;
     align-items: center;
     gap: 1rem;
     padding-top: 2rem;
     border-top: 1px solid rgba(0, 0, 0, 0.08);
 }

 .avatars {
     display: flex;
 }

 .avatar {
     width: 36px;
     height: 36px;
     border-radius: 50%;
     border: 2px solid var(--cream);
     margin-left: -10px;
     background: linear-gradient(135deg, var(--sage), var(--forest));
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     font-size: 0.75rem;
     font-weight: 600;
 }

 .avatar:first-child {
     margin-left: 0;
 }

 .social-text {
     font-size: 0.875rem;
     color: var(--text-muted);
 }

 .social-text strong {
     color: var(--charcoal);
     font-weight: 600;
 }

 /* Hero Visual */
 .hero-visual {
     position: relative;
     background: var(--forest);
     border-radius: 24px;
     padding: 2rem;
     min-height: fit-content;
     overflow: hidden;
 }

 .browser-chrome {
     background: rgba(255, 255, 255, 0.1);
     border-radius: 12px;
     padding: 0.75rem 1rem;
     margin-bottom: 0;
     display: flex;
     align-items: center;
     gap: 0.5rem;
     border-bottom-right-radius: 0;
     border-bottom-left-radius: 0;
 }

 .browser-dots {
     display: flex;
     gap: 6px;
 }

 .browser-dots span {
     width: 10px;
     height: 10px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.3);
 }

 .browser-url {
     flex: 1;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 6px;
     padding: 0.5rem 1rem;
     color: rgba(255, 255, 255, 0.6);
     font-size: 0.8rem;
 }

 .demo-content {
     /* background: white; */
     border-radius: 12px;
     height: 350px;
     display: flex;
     flex-direction: column;
     overflow: hidden;
     position: relative;
     border-top-right-radius: 0;
     border-top-left-radius: 0;
 }

 .demo-header {
     padding: 1rem 1.5rem;
     border-bottom: 1px solid #eee;
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .demo-logo {
     font-weight: 700;
     color: var(--coral);
 }

 .demo-nav {
     display: flex;
     gap: 1rem;
     font-size: 0.8rem;
     color: var(--text-muted);
 }

 .demo-body {
     flex: 1;
     padding: 1.5rem;
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 1rem;
 }

 .demo-card {
     background: #f9fafb;
     border-radius: 8px;
     padding: 1rem;
     position: relative;
 }

 .demo-card-title {
     font-size: 0.75rem;
     color: var(--text-muted);
     margin-bottom: 0.5rem;
 }

 .demo-card-value {
     font-size: 1.25rem;
     font-weight: 700;
 }

 /* Cursor animation */
 #demo-cursor {
     position: absolute;
     width: 16px;
     height: 16px;
     pointer-events: none;
     z-index: 100;
     opacity: 0;
     top: 50px;
     left: 50px;
 }

 #demo-cursor.visible {
     opacity: 1;
 }

 #demo-cursor.clicking {
     transform: scale(0.85);
 }

 #demo-cursor svg {
     filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
     width: 16px;
     height: 16px;
 }

 /* Extract Card Animation Styles */
 #extract-zoom-container {
     transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
     transform-origin: 75px 90px;
 }

 #extract-browser {
     transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #extract-window-rect,
 #extract-clip-rect {
     transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #extract-cursor {
     transition: transform 0.3s ease-out, opacity 0.2s ease;
 }

 #extract-cursor.visible {
     opacity: 1;
 }

 #extract-data-table {
     transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #extract-data-table.visible {
     opacity: 1;
     transform: translateX(0px);
 }

 #extract-arrow {
     transition: opacity 0.3s ease;
 }

 #extract-arrow.visible {
     opacity: 1;
 }

 #extract-searchbox-focused,
 #extract-checkin-focused,
 #extract-dates-filled,
 #extract-search-btn-pressed,
 #extract-calendar,
 #extract-date15-selected,
 #extract-date18-selected,
 #extract-results-page,
 #extract-row1,
 #extract-row2,
 #extract-row3,
 #extract-success {
     transition: opacity 0.15s ease;
 }

 #extract-search-page {
     transition: opacity 0.3s ease;
 }

 #extract-typing-cursor {
     transition: transform 0.05s linear;
 }

 #extract-click-ripple {
     transition: r 0.15s ease-out;
 }

 /* Transact Card Animation Styles */
 #transact-demo {
     position: relative;
 }

 #transact-zoom-container {
     transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
     transform-origin: 160px 90px;
 }

 #transact-browser {
     transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
 }

 #transact-window-rect,
 #transact-clip-rect,
 #transact-header-bg {
     transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #transact-url-bar-bg,
 #transact-url-text {
     transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #transact-tabs {
     transition: opacity 0.2s ease;
 }

 #transact-cursor {
     transition: transform 0.3s ease-out, opacity 0.2s ease;
 }

 #transact-click-ripple {
     transition: r 0.15s ease-out;
 }

 #transact-typing-cursor {
     transition: opacity 0.1s ease;
 }

 #transact-insurance-tab,
 #transact-gmail-tab {
     transition: fill 0.15s ease, opacity 0.15s ease;
 }

 #transact-insurance-content,
 #transact-gmail-content,
 #transact-file-explorer,
 #transact-success-modal,
 #transact-success-compact {
     transition: opacity 0.3s ease;
 }

 #transact-json-panel {
     transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #transact-arrow {
     transition: opacity 0.3s ease;
 }

 #transact-download-indicator {
     transition: opacity 0.2s ease;
 }

 .transact-field-value {
     transition: opacity 0.15s ease;
 }

 /* Act Card Animation Styles */
 #act-demo {
     position: relative;
 }

 #act-zoom-container {
     transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
     transform-origin: 75px 90px;
 }

 #act-browser {
     transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
 }

 #act-window-rect,
 #act-clip-rect,
 #act-header-bg,
 #act-url-bar,
 #act-site-header {
     transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #act-cursor {
     transition: transform 0.3s ease-out, opacity 0.2s ease;
 }

 #act-click-ripple {
     transition: r 0.15s ease-out;
 }

 #act-price-group text {
     transition: fill 0.2s ease;
 }

 #act-widget-bg {
     transition: stroke 0.3s ease, filter 0.3s ease;
 }

 #act-confirm-panel,
 #act-success-modal,
 #act-json-panel,
 #act-arrow {
     transition: opacity 0.3s ease;
 }

 #act-json-panel {
     transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #act-buy-btn-default,
 #act-buy-btn-highlighted,
 #act-confirm-btn-default,
 #act-confirm-btn-highlighted {
     transition: opacity 0.15s ease;
 }

 #act-target-line {
     transition: stroke-width 0.2s ease, opacity 0.2s ease;
 }

 #act-price-arrow-up,
 #act-price-arrow-down {
     transition: opacity 0.15s ease;
 }

 #act-success-check {
     stroke-dasharray: 30;
     stroke-dashoffset: 30;
     transition: stroke-dashoffset 0.4s ease;
 }

 #act-success-check.animate {
     stroke-dashoffset: 0;
 }

 /* Amazon Demo Styles */
 .amazon-frame {
     display: none;
     flex-direction: column;
     height: 100%;
     opacity: 0;
     transition: opacity 0.3s ease;
 }

 .amazon-frame.active {
     display: flex;
     opacity: 1;
 }

 .amazon-header {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     padding: 0.5rem 0.75rem;
     background: #131921;
     border-radius: 0;
 }

 .amazon-header.compact {
     padding: 0.4rem 0.75rem;
 }

 .amazon-logo {
     flex-shrink: 0;
     margin-bottom: -4px;
     margin-left: -10px;
 }

 .amazon-search-bar {
     flex: 1;
     display: flex;
     align-items: stretch;
     background: white;
     border-radius: 4px;
     overflow: hidden;
     height: 28px;
 }

 .amazon-search-category {
     background: #e6e6e6;
     border: none;
     padding: 0 0.5rem;
     font-size: 0.65rem;
     color: #555;
     cursor: pointer;
     border-right: 1px solid #cdcdcd;
 }

 .amazon-search-input {
     flex: 1;
     border: none;
     padding: 0 0.5rem;
     font-size: 0.7rem;
     outline: none;
     min-width: 0;
 }

 .amazon-search-input::placeholder {
     color: #999;
 }

 .amazon-search-btn {
     background: #febd69;
     border: none;
     padding: 0 0.6rem;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: background 0.15s ease;
 }

 .amazon-search-btn:hover {
     background: #f3a847;
 }

 .amazon-search-btn.pressed {
     background: #e09422;
     transform: scale(0.98);
 }

 .amazon-search-btn svg {
     stroke: #131921;
 }

 .amazon-nav-right {
     display: flex;
     gap: 0.75rem;
     color: white;
     font-size: 0.6rem;
 }

 .amazon-nav-item {
     display: flex;
     align-items: center;
     gap: 0.25rem;
     white-space: nowrap;
 }

 .amazon-cart svg {
     stroke: white;
 }

 .amazon-body {
     flex: 1;
     background: #eaeded;
     overflow: hidden;
 }

 .amazon-body.homepage {
     display: flex;
     flex-direction: column;
     gap: 0.5rem;
     padding: 0.5rem;
 }

 .amazon-hero-banner {
     background: linear-gradient(135deg, #232f3e 0%, #37475a 100%);
     height: 70px;
     border-radius: 4px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .banner-text {
     color: white;
     font-size: 1rem;
     font-weight: 600;
 }

 .amazon-categories {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 0.5rem;
 }

 .category-card {
     background: white;
     border-radius: 4px;
     padding: 0.5rem;
     text-align: center;
 }

 .category-img {
     height: 40px;
     background: linear-gradient(135deg, #f0f0f0 0%, #e0e0e0 100%);
     border-radius: 4px;
     margin-bottom: 0.3rem;
     max-width: 104px;
     overflow: hidden;
 }

 .category-img img {
     width: 100%;
     object-fit: contain;
 }

 .category-card span {
     font-size: 0.55rem;
     color: #0f1111;
     font-weight: 500;
 }

 /* Search Results Styles */
 .amazon-body.results {
     display: flex;
     flex-direction: column;
     padding: 0;
 }

 .results-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 0.4rem 0.6rem;
     background: white;
     border-bottom: 1px solid #ddd;
 }

 .results-count {
     font-size: 0.55rem;
     color: #565959;
 }

 .results-count strong {
     color: #c45500;
 }

 .sort-dropdown {
     display: flex;
     align-items: center;
     gap: 0.25rem;
     padding: 0.25rem 0.5rem;
     background: #f0f2f2;
     border: 1px solid #d5d9d9;
     border-radius: 4px;
     font-size: 0.55rem;
     cursor: pointer;
     position: relative;
 }

 .sort-dropdown:hover {
     background: #e3e6e6;
 }

 .sort-options {
     position: absolute;
     top: 100%;
     right: 0;
     background: white;
     border: 1px solid #ddd;
     border-radius: 4px;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
     display: none;
     z-index: 50;
     min-width: 120px;
 }

 .sort-options.open {
     display: block;
 }

 .sort-option {
     padding: 0.35rem 0.5rem;
     font-size: 0.55rem;
     cursor: pointer;
     white-space: nowrap;
 }

 .sort-option:hover {
     background: #f0f2f2;
 }

 .sort-option.selected {
     background: #edfdff;
     color: #007185;
 }

 .results-container {
     display: flex;
     flex: 1;
     overflow: hidden;
 }

 .filters-sidebar {
     width: 90px;
     background: white;
     padding: 0.5rem;
     border-right: 1px solid #ddd;
     overflow-y: auto;
 }

 .filter-group {
     margin-bottom: 0.6rem;
 }

 .filter-title {
     font-size: 0.6rem;
     font-weight: 700;
     color: #0f1111;
     margin-bottom: 0.3rem;
     display: flex;
     align-items: center;
     justify-content: space-between;
     cursor: pointer;
 }

 .filter-options {
     display: none;
 }

 .filter-options.open {
     display: block;
 }

 .filter-option {
     display: flex;
     align-items: center;
     gap: 0.25rem;
     font-size: 0.5rem;
     padding: 0.2rem 0;
     cursor: pointer;
     transition: background 0.15s ease;
 }

 .filter-option:hover {
     background: #f0f2f2;
 }

 .filter-option.selected {
     background: #edfdff;
 }

 .filter-option .stars {
     color: #de7921;
     font-size: 0.55rem;
 }

 .products-grid {
     flex: 1;
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 0.4rem;
     padding: 0.4rem;
     overflow-y: auto;
     align-content: start;
 }

 .products-grid.loading {
     opacity: 0.5;
     pointer-events: none;
 }

 .product-card {
     background: white;
     border-radius: 4px;
     padding: 0.4rem;
     cursor: pointer;
     transition: all 0.15s ease;
     border: 2px solid transparent;
 }

 .product-card:hover {
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
     border-color: #e77600;
 }

 .product-card.hidden {
     display: none;
 }

 .product-image {
     height: 50px;
     background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
     border-radius: 4px;
     margin-bottom: 0.3rem;
     overflow: hidden;
 }

 .product-image img {
     width: 100%;
     object-fit: fill;
 }

 .product-image.sony {
     background: linear-gradient(135deg, #1a1a1a 0%, #333 100%);
 }

 .product-image.apple {
     background: linear-gradient(135deg, #f5f5f7 0%, #e8e8e8 100%);
 }

 .product-image.samsung {
     background: linear-gradient(135deg, #1428a0 0%, #4a5ae8 100%);
 }

 .product-image.bose {
     background: linear-gradient(135deg, #000 0%, #2d2d2d 100%);
 }

 .product-image.generic {
     background: linear-gradient(135deg, #ccc 0%, #999 100%);
 }

 .product-info {
     font-size: 0.5rem;
 }

 .product-title {
     color: #0f1111;
     font-weight: 500;
     line-height: 1.2;
     margin-bottom: 0.2rem;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
 }

 .product-rating {
     display: flex;
     align-items: center;
     gap: 0.25rem;
     margin-bottom: 0.15rem;
 }

 .product-rating .stars {
     color: #de7921;
     font-size: 0.55rem;
 }

 .rating-count {
     color: #007185;
     font-size: 0.45rem;
 }

 .product-price {
     font-size: 0.7rem;
     font-weight: 500;
     color: #0f1111;
 }

 .product-prime {
     color: #007185;
     font-size: 0.4rem;
     margin-top: 0.1rem;
 }

 /* Product Detail Page */
 .amazon-body.product-detail {
     background: white;
     padding: 0.75rem;
 }

 .product-detail-container {
     display: grid;
     grid-template-columns: 1fr 1.2fr;
     gap: 1rem;
     height: 100%;
 }

 .product-detail-image {
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .main-product-image {
     width: 100%;
     height: 140px;
     border-radius: 8px;
 }

 .main-product-image.sony-large {
     background: linear-gradient(135deg, #1a1a1a 0%, #333 100%);
 }

 .product-detail-info {
     display: flex;
     flex-direction: column;
     gap: 0.4rem;
 }

 .product-detail-title {
     font-size: 0.75rem;
     font-weight: 500;
     color: #0f1111;
     line-height: 1.3;
 }

 .product-detail-rating {
     display: flex;
     align-items: center;
     gap: 0.4rem;
 }

 .product-detail-rating .stars.large {
     color: #de7921;
     font-size: 0.7rem;
 }

 .product-detail-rating .rating-count {
     color: #007185;
     font-size: 0.55rem;
 }

 .product-detail-price {
     display: flex;
     align-items: baseline;
     gap: 0.3rem;
 }

 .price-label {
     font-size: 0.55rem;
     color: #565959;
 }

 .price-value {
     font-size: 1.1rem;
     font-weight: 500;
     color: #0f1111;
 }

 .product-detail-availability .in-stock {
     color: #007600;
     font-size: 0.6rem;
     font-weight: 500;
 }

 .add-to-cart-btn {
     background: #ffd814;
     border: 1px solid #fcd200;
     border-radius: 20px;
     padding: 0.4rem 0.8rem;
     font-size: 0.6rem;
     font-weight: 500;
     cursor: pointer;
     transition: background 0.15s ease;
 }

 .add-to-cart-btn:hover {
     background: #f7ca00;
 }

 .buy-now-btn {
     background: #ffa41c;
     border: 1px solid #ff8f00;
     border-radius: 20px;
     padding: 0.4rem 0.8rem;
     font-size: 0.6rem;
     font-weight: 500;
     cursor: pointer;
     transition: background 0.15s ease;
 }

 .buy-now-btn:hover {
     background: #fa8900;
 }

 /* Data Extraction Overlay */
 .extraction-overlay {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: rgba(0, 0, 0, 0.6);
     display: none;
     align-items: center;
     justify-content: center;
     z-index: 90;
     border-radius: 0 0 12px 12px;
 }

 .extraction-overlay.active {
     display: flex;
 }

 .extraction-modal {
     font-family: 'Inter', -apple-system, sans-serif;
     background: #1a3a32;
     border-radius: 6px;
     width: 60%;
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
     overflow: hidden;
 }

 .demo-modal-header {
     display: flex;
     align-items: center;
     gap: 5px;
     padding: 5px 8px;
     background: rgba(255, 255, 255, 0.08);
     border-bottom: 1px solid rgba(255, 255, 255, 0.1);
 }

 .enigma-icon {
     width: 14px;
     height: 14px;
     background: var(--coral);
     border-radius: 3px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     flex-shrink: 0;
 }

 .enigma-icon svg {
     width: 8px;
     height: 8px;
 }

 .demo-modal-title {
     font-family: 'Inter', -apple-system, sans-serif;
     color: #ffffff;
     font-size: 12px;
     font-weight: 500;
     flex: 1;
     white-space: nowrap;
 }

 .extracted-badge {
     font-family: 'Inter', -apple-system, sans-serif;
     background: #10b981;
     color: white;
     padding: 2px 5px;
     border-radius: 3px;
     font-size: 7px;
     font-weight: 600;
     opacity: 0;
     transition: opacity 0.3s ease;
     white-space: nowrap;
 }

 .extracted-badge.visible {
     opacity: 1;
 }

 .json-output {
     display: flex;
     padding: 6px;
     font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
     font-size: 10px;
     line-height: 1.35;
     background: #0f2620;
     max-height: fit-content;
     overflow: hidden;
 }

 .json-line-numbers {
     color: rgba(255, 255, 255, 0.3);
     padding-right: 5px;
     border-right: 1px solid rgba(255, 255, 255, 0.1);
     margin-right: 5px;
     text-align: right;
     user-select: none;
     flex-shrink: 0;
     white-space: pre;
 }

 .json-content {
     color: white;
     margin: 0;
     white-space: pre;
     overflow: hidden;
     flex: 1;
 }

 .json-key {
     color: #7dd3fc;
 }

 .json-string {
     color: #86efac;
 }

 .json-number {
     color: #fcd34d;
 }

 .json-bracket {
     color: rgba(255, 255, 255, 0.6);
 }

 /* Typing cursor for search */
 .typing-cursor {
     display: inline-block;
     width: 1px;
     height: 14px;
     background: #333;
     animation: blink 0.7s infinite;
     vertical-align: middle;
     margin-left: 1px;
 }

 @keyframes blink {

     0%,
     50% {
         opacity: 1;
     }

     51%,
     100% {
         opacity: 0;
     }
 }

 /* Agent Badge */
 .agent-badge {
     position: absolute;
     bottom: 1rem;
     right: 1.5rem;
     background: var(--coral);
     color: white;
     padding: 0.5rem 1rem;
     border-radius: 100px;
     font-size: 0.75rem;
     font-weight: 600;
     display: flex;
     align-items: center;
     gap: 0.5rem;
     box-shadow: 0 4px 12px rgba(232, 93, 76, 0.4);
     z-index: 999;
 }


 /* Speed Metrics Section */
 .speed-metrics-section {
     background: #FFFFFF;
     padding: 6rem 2rem 4rem 2rem;
 }

 .speed-metrics-container {
     max-width: 1200px;
     margin: 0 auto;
 }

 /* Race Comparison Animation Styles */
 .race-wrapper {
     display: flex;
     gap: 38px;
     max-width: 1200px;
     width: 100%;
     margin: 0 auto;
     align-items: stretch;
 }

 @media (max-width: 1100px) {
     .race-wrapper {
         display: none;
     }
 }

 /* Race Panel Base Styles */
 .race-panel {
     border-radius: 12px;
     overflow: hidden;
     display: flex;
     flex-direction: column;
     box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
 }

 .competitor {
     flex: 1;
     display: flex;
     flex-direction: column;
 }

 .competitor .race-panel {
     flex: 1;
 }

 /* Panel Header Bar (label + timer) */
 .race-panel-header-bar {
     display: flex;
     align-items: baseline;
     justify-content: space-between;
     padding: 8px 4px;
     background: transparent;
     border-bottom: none;
 }

 .panel-label {
     font-size: 13px;
     font-weight: 600;
     color: var(--forest);
 }

 /* Timer Styling */
 .competitor-timer {
     font-family: ui-monospace, 'Cascadia Mono', 'Segoe UI Mono', Menlo, Monaco, Consolas, monospace;
     font-size: 14px;
     font-weight: 600;
     font-variant-numeric: tabular-nums;
     color: #2d5a3d;
     min-width: auto;
     text-align: right;
 }

 .competitor-timer.timer-amber {
     color: #b45309;
 }

 .competitor-timer.done {
     font-weight: 600;
 }

 /* Browser Chrome Bar */
 .race-panel-chrome {
     display: flex;
     align-items: center;
     gap: 8px;
     padding: 8px 14px;
     font-size: 11px;
 }

 .race-panel-dots {
     display: flex;
     gap: 5px;
 }

 .race-dot {
     width: 10px;
     height: 10px;
     border-radius: 50%;
 }

 .race-dot.red {
     background: #ff5f56;
 }

 .race-dot.yellow {
     background: #ffbd2e;
 }

 .race-dot.green {
     background: #27ca40;
 }

 .race-panel-body {
     flex: 1;
     position: relative;
     overflow: hidden;
 }

 /* ─── WebRun Browser Panel ─── */
 .race-browser-panel {
     background: #fafaf8;
 }

 .race-browser-panel .race-panel-chrome {
     background: var(--forest);
 }

 .race-browser-panel .race-panel-chrome .race-dot {
     background: rgba(255, 255, 255, 0.2);
 }

 .race-browser-panel .race-panel-url {
     flex: 1;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 4px;
     padding: 5px 10px;
     font-size: 10px;
     color: rgba(255, 255, 255, 0.7);
 }

 .race-browser-content {
     padding: 14px;
     height: 100%;
     opacity: 0;
     transform: scale(0.98);
     transition: all 0.5s cubic-bezier(0.25, 0.1, 0.25, 1.0);
     background: #fafafa;
 }

 .race-browser-content.visible {
     opacity: 1;
     transform: scale(1);
 }

 .race-amazon-header {
     display: flex;
     align-items: center;
     gap: 10px;
     padding-bottom: 10px;
     border-bottom: 1px solid #e5e5e5;
     margin-bottom: 10px;
 }

 .race-amazon-logo {
     font-size: 16px;
     font-weight: 700;
     color: #232f3e;
 }

 .race-amazon-search {
     flex: 1;
     display: flex;
     border: 2px solid #febd69;
     border-radius: 4px;
     overflow: hidden;
 }

 .race-amazon-search input {
     flex: 1;
     border: none;
     padding: 5px 8px;
     font-size: 10px;
     outline: none;
     min-width: 0;
 }

 .race-amazon-search button {
     background: #febd69;
     border: none;
     padding: 5px 10px;
     cursor: pointer;
     font-size: 10px;
 }

 .race-product-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 8px;
 }

 .race-product-card {
     background: white;
     border: 1px solid #e5e5e5;
     border-radius: 6px;
     padding: 10px;
     opacity: 0;
     transform: translateY(8px);
     transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1.0);
 }

 .race-product-card.visible {
     opacity: 1;
     transform: translateY(0);
 }

 .race-product-card.selected {
     border-color: var(--coral);
     box-shadow: 0 0 0 2px rgba(232, 93, 76, 0.2);
 }

 .race-product-image {
     height: 45px;
     background: linear-gradient(135deg, #f0f0f0, #e5e5e5);
     border-radius: 4px;
     margin-bottom: 6px;
 }

 .race-product-title {
     font-size: 9px;
     color: var(--charcoal);
     margin-bottom: 3px;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 .race-product-price {
     font-size: 11px;
     font-weight: 600;
     color: #B12704;
 }

 /* Cursor (WebRun only) */
 .race-cursor {
     position: absolute;
     width: 18px;
     height: 18px;
     pointer-events: none;
     opacity: 0;
     z-index: 10;
     transition: left 0.4s cubic-bezier(0.25, 0.1, 0.25, 1.0), top 0.4s cubic-bezier(0.25, 0.1, 0.25, 1.0);
 }

 .race-cursor.visible {
     opacity: 1;
 }

 .race-cursor svg {
     width: 100%;
     height: 100%;
     filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
 }

 /* Status bar (WebRun) */
 .race-status-bar {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     background: var(--forest);
     color: white;
     padding: 8px 12px;
     font-size: 11px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     transform: translateY(100%);
     transition: transform 0.3s ease;
 }

 .race-status-bar.visible {
     transform: translateY(0);
 }

 .race-status-text {
     display: flex;
     align-items: center;
     gap: 6px;
 }

 .race-status-dot {
     width: 6px;
     height: 6px;
     border-radius: 50%;
     background: #4ade80;
     animation: racePulse 1s ease infinite;
 }

 .race-status-dot.done {
     animation: none;
 }

 @keyframes racePulse {

     0%,
     100% {
         opacity: 1;
     }

     50% {
         opacity: 0.4;
     }
 }

 /* ─── Traditional Terminal Panel ─── */
 .race-terminal-panel {
     background: #1a1a2e;
     box-shadow: 0 2px 16px rgba(0, 0, 0, 0.12);
 }

 .race-terminal-panel .panel-label {
     color: var(--text-muted);
 }

 .terminal-chrome {
     background: #252540;
     padding: 8px 14px;
 }

 .terminal-chrome .race-panel-title {
     flex: 1;
     text-align: center;
     color: #666;
     font-size: 11px;
 }

 .terminal-chrome .race-dot {
     background: rgba(255, 255, 255, 0.15);
 }

 .terminal-body {
     background: #1a1a2e;
 }

 .terminal-logs {
     padding: 14px;
     font-family: ui-monospace, 'Cascadia Mono', 'Segoe UI Mono', 'Liberation Mono', Menlo, Monaco, Consolas, monospace;
     font-size: 13px;
     line-height: 1.63;
     overflow-y: auto;
     height: 100%;
 }

 .log-line {
     opacity: 1;
     transform: none;
 }

 .log-line .timestamp {
     color: #9ca3af;
 }

 .log-line .message {
     color: #d1d5db;
 }

 .log-line .message.dim {
     color: #d1d5db;
 }

 .log-line .message.success {
     color: #4ade80;
 }

 .log-line .message.amber {
     color: #fbbf24;
 }

 /* Terminal status line */
 .trad-status-line {
     margin-top: 8px;
 }

 .trad-status-dot {
     display: inline-block;
     width: 6px;
     height: 6px;
     border-radius: 50%;
     background: #fbbf24;
     animation: racePulse 1s ease infinite;
     vertical-align: middle;
 }

 @keyframes fadeInLog {
     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* ─── PiP Browser Overlay (Traditional panel) ─── */
 .pip-browser {
     position: absolute;
     bottom: 12px;
     right: 12px;
     width: 38%;
     min-width: 220px;
     min-height: 140px;
     height: 28%;
     background: white;
     border-radius: 8px;
     box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3), 0 1px 4px rgba(0, 0, 0, 0.15);
     border: 1px solid rgba(255, 255, 255, 0.1);
     overflow: hidden;
     display: flex;
     flex-direction: column;
     z-index: 5;
     opacity: 1;
     transition: opacity 0.5s ease;
 }

 .pip-browser.hidden {
     opacity: 0;
     pointer-events: none;
 }

 .pip-chrome {
     display: flex;
     align-items: center;
     gap: 6px;
     padding: 6px 10px;
     background: #4a5568;
 }

 .pip-chrome .race-panel-dots {
     gap: 4px;
 }

 .pip-chrome .race-dot {
     width: 7px;
     height: 7px;
     background: rgba(255, 255, 255, 0.3);
 }

 .pip-url {
     flex: 1;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 3px;
     padding: 3px 8px;
     color: rgba(255, 255, 255, 0.6);
     font-size: 9px;
 }

 .pip-body {
     flex: 1;
     padding: 10px;
     background: #fafafa;
     display: flex;
     flex-direction: column;
     gap: 8px;
 }

 .pip-amazon-header {
     display: flex;
     align-items: center;
     gap: 6px;
 }

 .pip-amazon-logo {
     font-size: 11px;
     font-weight: 700;
     color: #232f3e;
 }

 .pip-search-bar {
     flex: 1;
     height: 18px;
     border: 1.5px solid #febd69;
     border-radius: 3px;
     position: relative;
     background: white;
 }

 .pip-search-cursor {
     position: absolute;
     left: 6px;
     top: 3px;
     width: 1px;
     height: 12px;
     background: #232f3e;
     animation: pipBlink 1s step-end infinite;
 }

 @keyframes pipBlink {
     50% {
         opacity: 0;
     }
 }

 .pip-status {
     display: flex;
     align-items: center;
     gap: 4px;
     font-size: 9px;
     color: #b45309;
 }

 .pip-status-dot {
     width: 5px;
     height: 5px;
     border-radius: 50%;
     background: #fbbf24;
     animation: racePulse 1s ease infinite;
 }

 /* ─── Watch the Race Button & Summary ─── */
 .race-cta-wrapper {
     text-align: center;
     margin-top: 28px;
 }

 .race-play-btn {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     padding: 10px 24px;
     background: transparent;
     border: 1.5px solid rgba(107, 114, 128, 0.35);
     border-radius: 8px;
     font-family: 'Inter', -apple-system, sans-serif;
     font-size: 0.9rem;
     font-weight: 500;
     color: #6b7280;
     cursor: pointer;
     transition: all 0.2s ease;
 }

 .race-play-btn:hover {
     border-color: var(--charcoal);
     color: var(--charcoal);
     background: rgba(26, 58, 50, 0.04);
 }

 .race-play-btn:focus-visible {
     outline: 2px solid var(--forest);
     outline-offset: 2px;
 }

 .race-play-btn:disabled {
     opacity: 0.5;
     cursor: default;
     pointer-events: none;
 }

 .race-play-icon {
     font-size: 0.75em;
 }

 .race-summary {
     margin-top: 16px;
     font-size: 1rem;
     font-weight: 500;
     color: var(--text-muted);
 }

 .race-summary strong {
     color: #2d5a3d;
     font-weight: 600;
 }

 /* ─── Reduced Motion ─── */
 @media (prefers-reduced-motion: reduce) {
     .log-line {
         animation: none !important;
         opacity: 1 !important;
         transform: none !important;
     }

     .race-product-card {
         transition: none;
     }

     .race-cursor {
         transition: none;
     }

     .pip-browser {
         transition: none;
     }

     .race-status-bar {
         transition: none;
     }

     .race-browser-content {
         transition: none;
     }

     .pip-search-cursor {
         animation: none;
     }

     .race-status-dot,
     .trad-status-dot,
     .pip-status-dot {
         animation: none;
     }
 }

 /* ─── Mobile: hide PiP ─── */
 @media (max-width: 1100px) {
     .pip-browser {
         display: none;
     }

     .race-cta-wrapper {
         margin-top: 20px;
     }
 }

 /* Mobile Timeline View */
 .race-mobile-timeline {
     display: none;
     flex-direction: column;
     gap: 24px;
     padding: 24px;
     background: var(--forest);
     border-radius: 20px;
     cursor: pointer;
     transition: transform 0.2s ease;
 }

 .race-mobile-timeline:hover {
     transform: scale(1.01);
 }

 .race-mobile-timeline:active {
     transform: scale(0.99);
 }

 @media (max-width: 1100px) {
     .race-mobile-timeline {
         display: flex;
     }
 }

 .race-mobile-header {
     text-align: center;
 }

 .race-mobile-title {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 1.5rem;
     color: white;
     margin-bottom: 4px;
 }

 .race-mobile-subtitle {
     font-size: 0.875rem;
     color: rgba(255, 255, 255, 0.6);
 }

 .race-mobile-lanes {
     display: flex;
     flex-direction: column;
     gap: 42px;
 }

 .race-mobile-lane {
     display: flex;
     flex-direction: column;
     gap: 12px;
 }

 .race-mobile-lane-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
 }

 .race-mobile-lane-name {
     font-size: 14px;
     font-weight: 600;
     color: white;
 }

 .race-mobile-lane-badge {
     font-size: 10px;
     font-weight: 500;
     padding: 4px 10px;
     border-radius: 100px;
     background: rgba(255, 255, 255, 0.15);
     color: rgba(255, 255, 255, 0.7);
 }

 .race-mobile-lane-badge.winner {
     background: var(--coral);
     color: white;
 }

 .race-mobile-progress {
     position: relative;
     height: 8px;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 4px;
     overflow: visible;
 }

 .race-mobile-progress-bar {
     position: absolute;
     left: 0;
     top: 0;
     height: 100%;
     border-radius: 4px;
     width: 0;
     transition: width 0.3s ease;
 }

 .webrun-lane .race-mobile-progress-bar {
     background: linear-gradient(90deg, var(--coral), #f59e0b);
 }

 .traditional-lane .race-mobile-progress-bar {
     background: rgba(255, 255, 255, 0.4);
 }

 .race-mobile-checkpoints {
     position: absolute;
     top: 50%;
     left: 0;
     right: 0;
     transform: translateY(-50%);
     display: flex;
     justify-content: space-between;
     padding: 0 2px;
 }

 .race-checkpoint {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 8px;
 }

 .checkpoint-marker {
     width: 12px;
     height: 12px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.2);
     border: 2px solid rgba(255, 255, 255, 0.3);
     transition: all 0.3s ease;
 }

 .race-checkpoint.active .checkpoint-marker {
     background: white;
     border-color: white;
     box-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
 }

 .race-checkpoint.completed .checkpoint-marker {
     background: #4ade80;
     border-color: #4ade80;
 }

 .race-checkpoint span {
     font-size: 9px;
     color: rgba(255, 255, 255, 0.5);
     white-space: nowrap;
     position: absolute;
     top: 20px;
 }

 .race-checkpoint.active span,
 .race-checkpoint.completed span {
     color: rgba(255, 255, 255, 0.9);
 }

 .race-mobile-timer {
     font-family: 'JetBrains Mono', monospace;
     font-size: 16px;
     font-weight: 500;
     color: white;
     text-align: center;
 }

 .race-mobile-timer.done {
     color: #4ade80;
 }

 .race-mobile-result {
     display: flex;
     justify-content: center;
     opacity: 0;
     transform: scale(0.8);
     transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
 }

 .race-mobile-result.visible {
     opacity: 1;
     transform: scale(1);
 }

 .race-result-badge {
     display: flex;
     align-items: baseline;
     gap: 6px;
     padding: 12px 24px;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 50px;
     border: 1px solid rgba(255, 255, 255, 0.2);
     display: none;
 }

 .race-result-multiplier {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 2rem;
     color: #4ade80;
 }

 .race-result-text {
     font-size: 1rem;
     color: rgba(255, 255, 255, 0.8);
 }

 .speed-metric-card {
     background: var(--forest);
     backdrop-filter: blur(20px);
     border: 1px solid rgba(255, 255, 255, 0.1);
     border-radius: 24px;
     padding: 2rem 0 0 0;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 1.5rem;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);
     position: relative;
     opacity: 0;
     transform: translateY(30px);
 }

 .speed-metric-card.visible {
     opacity: 1;
     transform: translateY(0);
 }

 .speed-metric-card:nth-child(1) {
     transition-delay: 0.1s;
 }

 .speed-metric-card:nth-child(2) {
     transition-delay: 0.2s;
 }

 .speed-metric-card:nth-child(3) {
     transition-delay: 0.3s;
 }

 .speed-metric-card:hover {
     transform: translateY(-6px);
     box-shadow: 0 20px 48px rgba(0, 0, 0, 0.25),
         inset 0 1px 0 rgba(255, 255, 255, 0.1);
     border-color: rgba(255, 255, 255, 0.2);
 }

 .metric-badge {
     position: absolute;
     bottom: 12px;
     margin: auto;
     padding: 0.5rem 1rem;
     background: rgba(255, 255, 255, 0.15);
     color: white;
     border-radius: 50px;
     font-size: 0.75rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.05em;
 }

 .metric-icon {
     width: 62px;
     height: 62px;
     border-radius: 18px;
     background: rgba(255, 255, 255, 0.15);
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all 0.3s ease;
     position: relative;
 }

 .metric-icon svg {
     stroke: white;
     transition: all 0.3s ease;
 }

 .speed-metric-card:hover .metric-icon {
     background: rgba(255, 255, 255, 0.25);
     transform: scale(1.05);
 }

 .speed-metric-card:hover .metric-icon svg {
     stroke: white;
 }

 .metric-label {
     font-size: 0.875rem;
     font-weight: 600;
     color: white;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     text-align: center;
 }

 /* Speed comparison container */
 .speed-comparison {
     width: 100%;
     display: flex;
     flex-direction: column;
     flex: 1;
     gap: 1rem;
     padding: 1.3rem 2rem 3.5rem 2rem;
     background: rgba(0, 0, 0, 0.15);
     border-bottom-right-radius: 24px;
     border-bottom-left-radius: 24px;
 }

 .speed-bar-container {
     position: relative;
     width: 100%;
     height: 4px;
     background: rgba(255, 255, 255, 0.15);
     border-radius: 2px;
     overflow: visible;
     margin: 0.5rem 0;
 }

 /* Center indicator line */
 .speed-bar-container::after {
     content: "";
     position: absolute;
     left: 50%;
     top: -4px;
     bottom: -4px;
     width: 2px;
     background: rgba(255, 255, 255, 0.2);
     transform: translateX(-50%);
     border-radius: 1px;
 }

 /* WebRun bar - races from left */
 .speed-bar-enigma {
     position: absolute;
     left: 0;
     top: 0;
     height: 100%;
     background: var(--cream);
     border-radius: 2px;
     width: 0;
     transition: width 1.5s cubic-bezier(0.4, 0, 0.2, 1);
     z-index: 2;
 }

 /* Traditional bar - races from right */
 .speed-bar-traditional {
     position: absolute;
     right: 0;
     top: 0;
     height: 100%;
     background: rgba(255, 255, 255, 0.35);
     border-radius: 2px;
     width: 0;
     transition: width 3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 /* When card is visible, animate the bars */
 .speed-metric-card.visible .speed-bar-enigma {
     width: 50%;
 }

 .speed-metric-card.visible .speed-bar-traditional {
     width: 50%;
 }

 /* Metric values */
 .metric-row {
     display: flex;
     justify-content: space-between;
     align-items: center;
     width: 100%;
     gap: 1rem;
 }

 .metric-value {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 0.25rem;
 }

 .value-label {
     font-size: 0.625rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     opacity: 0.7;
     color: rgba(255, 255, 255, 0.7);
 }

 .value-number {
     display: flex;
     align-items: baseline;
     gap: 0.375rem;
 }

 .number {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 1.8rem;
     font-weight: 400;
     letter-spacing: -0.02em;
     line-height: 1;
 }

 .unit {
     font-size: 0.875rem;
     font-weight: 600;
     opacity: 0.7;
 }

 /* WebRun metrics - cream/white */
 .enigma-value .value-label {
     color: var(--cream);
 }

 .enigma-value .number {
     color: var(--cream);
 }

 .enigma-value .unit {
     color: var(--cream);
 }

 /* Traditional metrics - muted light */
 .traditional-value .value-label {
     color: rgba(255, 255, 255, 0.5);
 }

 .traditional-value .number {
     color: rgba(255, 255, 255, 0.5);
     font-size: 1.5rem;
 }

 .traditional-value .unit {
     color: rgba(255, 255, 255, 0.5);
     font-size: 0.75rem;
 }

 .metric-vs {
     font-size: 0.625rem;
     font-weight: 700;
     color: rgba(255, 255, 255, 0.4);
     text-transform: uppercase;
     letter-spacing: 0.1em;
     padding: 0.25rem 0.75rem;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 8px;
 }

 /* Pulse effect for badge on hover */
 @keyframes badgePulse {

     0%,
     100% {
         transform: scale(1);
     }

     50% {
         transform: scale(1.05);
     }
 }

 .speed-metric-card:hover .metric-badge {
     animation: badgePulse 1.5s ease-in-out infinite;
 }

 /* Responsive for speed metrics */
 @media (max-width: 768px) {
     .speed-metrics-grid {
         grid-template-columns: 1fr;
         gap: 1.5rem;
     }

     .speed-metric-card {
         padding: 1.5rem 0 0 0;
     }

     .metric-badge {
         font-size: 0.65rem;
     }

     .number {
         font-size: 1.5rem;
     }

     .traditional-value .number {
         font-size: 1.25rem;
     }
 }

 .speed-metrics-footer {
     text-align: center;
     color: var(--text-muted);
     font-size: 1.125rem;
     max-width: 600px;
     margin: 3rem auto 0 auto;
 }

 /* How It Works - Horizontal Scroll Section */
 .how-section {
     background: var(--cream);
     padding: 0;
     position: relative;
 }

 /* Scroll-jacking container - height set by JS */
 .how-scroll-container {
     position: relative;
 }

 /* Sticky viewport - stays fixed while scrolling through cards */
 .how-sticky-viewport {
     position: sticky;
     top: 0;
     height: 100vh;
     display: flex;
     flex-direction: column;
     overflow: hidden;
 }

 /* Fixed header area */
 .how-header {
     padding: 4rem 2rem 2rem;
     text-align: center;
     flex-shrink: 0;
 }

 .how-header .section-label {
     font-size: 0.7rem;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     color: var(--coral);
     margin-bottom: 1rem;
 }

 .how-header h2 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: clamp(2rem, 4vw, 3rem);
     font-weight: 400;
     margin-bottom: 1rem;
 }

 .how-header .section-description {
     color: var(--text-muted);
     font-size: 1.125rem;
     max-width: 600px;
     margin: 0 auto;
 }

 .section-header {
     text-align: center;
     margin-bottom: 2rem;
 }

 .section-label {
     font-size: 0.7rem;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     color: var(--coral);
     margin-bottom: 1rem;
 }

 h2 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: clamp(2rem, 4vw, 3rem);
     font-weight: 400;
     margin-bottom: 1rem;
 }

 .section-description {
     color: var(--text-muted);
     font-size: 1.125rem;
     max-width: 600px;
     margin: 0 auto;
 }

 /* Horizontal cards track */
 .how-cards-track {
     flex: 1;
     display: flex;
     align-items: center;
     gap: 2rem;
     padding: 0 2rem;
     transition: transform 0.1s ease-out;
 }

 /* Step card - horizontal layout sizing */
 .step-card {
     flex-shrink: 0;
     width: 38vw;
     max-width: 600px;
     min-height: fit-content;
     max-height: 75vh;
     /* background: white; */
     border-radius: 24px;
     display: flex;
     flex-direction: column;
     /* border: 1px solid rgba(0, 0, 0, 0.06); */
     /* box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04); */
     opacity: 0.4;
     transform: scale(0.92);
     transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .step-card.active {
     opacity: 1;
     transform: scale(1);
     background: white;
     border: 1px solid rgba(0, 0, 0, 0.06);
     box-shadow: 0 2px 23px rgba(0, 0, 0, 0.1);
 }

 .step-card:hover {
     /* opacity: 1; */
 }

 /* Step illustration area */
 .step-illustration {
     width: 100%;
     height: 50%;
     min-height: 220px;
     /* background: linear-gradient(135deg, #F8F6F3 0%, #EDE9E3 100%); */
     display: flex;
     align-items: center;
     justify-content: center;
     overflow: hidden;
     padding: 1.5rem 2rem 1rem 2rem;
 }

 .step-illustration svg {
     width: 100%;
     height: 100%;
     max-width: 450px;
 }

 /* Step content area */
 .step-content {
     padding: 1rem 2.5rem 2.5rem 2.5rem;
     flex: 1;
     display: flex;
     flex-direction: column;
 }

 .step-number {
     font-size: 0.75rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: var(--coral);
     margin-bottom: 0.75rem;
 }

 .step-title {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 1.5rem;
     font-weight: 400;
     color: var(--charcoal);
     margin-bottom: 1rem;
     line-height: 1.3;
 }

 .step-description {
     font-size: 1rem;
     color: var(--text-muted);
     line-height: 1.6;
 }

 /* Demo Section */
 .demo-section {
     background: #1E3A32;
     padding: 8rem 2rem;
     border-top: none;
 }

 .demo-section .section-label {
     color: #E85D4C;
 }

 .demo-section h2 {
     color: white;
 }

 .demo-section .section-description {
     color: rgba(255, 255, 255, 0.7);
 }

 .demo-container {
     max-width: 990px;
     margin: 0 auto;
 }

 .demo-grid {
     display: flex;
     flex-direction: column;
     gap: 2.5rem;
     margin-top: 3rem;
 }

 .demo-video-wrapper {
     position: relative;
 }

 .demo-video-frame {
     background: var(--forest);
     border-radius: 20px;
     /* padding: 1rem; */
     box-shadow: 0 24px 48px rgba(26, 58, 50, 0.15);
 }

 .demo-video-chrome {
     display: flex;
     align-items: center;
     gap: 1rem;
     margin-bottom: 1rem;
 }

 .demo-video-labels {
     display: flex;
     gap: 2rem;
     flex: 1;
     justify-content: center;
 }

 .demo-video-label {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     color: rgba(255, 255, 255, 0.8);
     font-size: 0.8rem;
     font-weight: 500;
 }

 .demo-video-label svg {
     opacity: 0.6;
 }

 .demo-video-container {
     background: #000;
     border-radius: 12px;
     aspect-ratio: 16/10;
     position: relative;
     overflow: hidden;
 }

 .demo-video-container video {
     width: 100%;
     height: 100%;
     object-fit: fill;
     position: absolute;
     top: 0;
     left: 0;
     opacity: 0;
     transition: opacity 0.3s ease;
 }

 .demo-video-container video.active {
     opacity: 1;
 }

 .demo-prompt {
     text-align: center;
     margin-top: 1rem;
     padding: 1rem 1.5rem;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 12px;
     color: white;
     font-size: 0.9rem;
     font-style: italic;
     font-family: 'Instrument Serif', Georgia, serif;
 }

 .demo-prompt::before {
     content: '"';
     opacity: 0.5;
 }

 .demo-prompt::after {
     content: '"';
     opacity: 0.5;
 }

 /* Capability Cards */
 .capability-cards {
     display: flex;
     flex-direction: row;
     gap: 1.25rem;
 }

 .capability-card {
     background: rgba(255, 255, 255, 0.08);
     border: 1px solid rgba(255, 255, 255, 0.1);
     border-radius: 16px;
     padding: 1.5rem;
     display: flex;
     gap: 1.25rem;
     cursor: pointer;
     transition: all 0.3s ease;
     opacity: 0.7;
     flex: 1;
 }

 .capability-card:hover {
     transform: translateY(-4px);
     border-color: rgba(255, 255, 255, 0.25);
     background: rgba(255, 255, 255, 0.12);
     opacity: 1;
 }

 .capability-card.active {
     background: rgba(255, 255, 255, 0.15);
     border-color: rgba(255, 255, 255, 0.3);
     box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
     transform: translateY(-4px);
     opacity: 1;
 }

 .capability-icon {
     width: 48px;
     height: 48px;
     background: rgba(255, 255, 255, 0.15);
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     transition: all 0.3s ease;
 }

 .capability-icon svg {
     stroke: white;
 }

 .capability-card.active .capability-icon {
     background: white;
 }

 .capability-card.active .capability-icon svg {
     stroke: var(--forest);
 }

 .capability-content h3 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 1.25rem;
     font-weight: 400;
     margin-bottom: 0.375rem;
     color: white;
 }

 .capability-content p {
     font-size: 0.9rem;
     color: rgba(255, 255, 255, 0.8);
     line-height: 1.5;
 }

 .capability-card.active .capability-content h3 {
     color: white;
 }

 /* Progress indicator for active card */
 .capability-progress {
     height: 3px;
     background: rgba(255, 255, 255, 0.15);
     border-radius: 2px;
     margin-top: 1rem;
     overflow: hidden;
     display: none;
 }

 .capability-card.active .capability-progress {
     display: block;
 }

 .capability-progress-bar {
     height: 100%;
     background: white;
     border-radius: 2px;
     width: 0%;
     animation: progressFill 8s linear forwards;
 }

 @keyframes progressFill {
     from {
         width: 0%;
     }

     to {
         width: 100%;
     }
 }

 @media (max-width: 900px) {
     .demo-grid {
         gap: 1.5rem;
     }

     .capability-cards {
         flex-direction: row;
         overflow-x: auto;
         gap: 1rem;
         padding-bottom: 1rem;
     }

     .capability-card {
         min-width: 260px;
         flex: 0 0 auto;
         flex-direction: column;
         text-align: center;
     }

     .capability-card:hover,
     .capability-card.active {
         transform: translateY(-4px);
     }

     .capability-icon {
         margin: 0 auto;
     }
 }

 /* ========== Capabilities Section - Vertical Sticky Scroll ========== */
 .use-cases-section {
     padding: 0 2rem;
     max-width: 1400px;
     margin: 0 auto;
     position: relative;
     z-index: 1;
     background: var(--cream);
 }

 .capabilities-container {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 4rem;
 }

 .capabilities-left {
     position: relative;
     display: flex;
     align-items: flex-start;
     padding-top: 8rem;
     padding-bottom: 8rem;
 }

 .capabilities-sticky-header {
     position: sticky;
     top: calc(50vh - 100px);
     text-align: left;
     margin-bottom: 0;
     padding: 0;
 }

 .capabilities-sticky-header .section-label {
     font-size: 0.7rem;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     color: var(--coral);
     margin-bottom: 1rem;
 }

 .capabilities-sticky-header h2 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: clamp(2rem, 4vw, 3rem);
     font-weight: 400;
     margin-bottom: 1rem;
 }

 .capabilities-sticky-header .section-description {
     color: var(--text-muted);
     font-size: 1.125rem;
     max-width: 600px;
     margin: 0;
 }

 .capabilities-right {
     padding: 8rem 0;
 }

 /* Vertical cards grid */
 .capabilities-grid {
     display: flex;
     flex-direction: column;
     gap: 3rem;
 }

 /* Individual capability card - vertical layout */
 .cap-card {
     background: white;
     border-radius: 20px;
     padding: 1.5rem;
     border: 1px solid rgba(0, 0, 0, 0.08);
     transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
     position: relative;
     opacity: 0.4;
     transform: scale(0.95);
 }

 .cap-card.active {
     opacity: 1;
     transform: scale(1);
     box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
 }

 .cap-card:hover {
     opacity: 1;
 }

 /* Illustration container for vertical layout */
 .cap-illustration {
     width: 100%;
     aspect-ratio: 16/9;
     background: linear-gradient(135deg, #fff7ec 0%, #eee8df 100%);
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     overflow: hidden;
     padding: 1.5rem;
     margin-bottom: 1.5rem;
 }

 .cap-illustration svg {
     width: 100%;
     height: 100%;
     max-width: 500px;
 }

 /* Card content area */
 .cap-content {
     padding: 0;
 }

 /* Category label */
 .cap-category {
     position: absolute;
     top: -18px;
     left: 0;
     right: 0;
     margin: 0 auto;
     text-align: center;
     width: fit-content;
     background: var(--lavender);
     color: var(--forest);
     padding: 0.35rem 1rem;
     border-radius: 100px;
     font-size: 0.8rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.05em;
 }

 /* Headline */
 .cap-headline {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 1.5rem;
     margin-bottom: 0.75rem;
     font-weight: 500;
 }

 /* Pain statement */
 .cap-pain {
     color: #5a5a5a;
     font-size: 1rem;
     line-height: 1.7;
 }

 /* Hide divider and example in vertical layout */
 .cap-divider,
 .cap-example {
     display: none;
 }


 /* Integrate Anywhere Section */
 .integrate-section {
     background: #FFFFFF;
     padding: 4rem 2rem 5rem 2rem;
     position: relative;
     overflow: hidden;
     width: 90%;
     margin: 18vh auto 0 auto;
     border-radius: 39px;
     border: 1px solid #DDDDDD59;
 }

 /* Subtle noise texture overlay */
 .integrate-section::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     opacity: 0.03;
     background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
     pointer-events: none;
 }

 .integrate-container {
     max-width: 1300px;
     margin: 0 auto;
 }

 .integrate-section .section-label {
     text-align: left;
     margin-bottom: 3rem;
 }

 .integrate-layout {
     display: grid;
     grid-template-columns: 0.4fr 60%;
     gap: 4rem;
     align-items: center;
 }

 .integrate-content {
     position: relative;
     z-index: 1;
 }

 .integrate-content h2 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 2.75rem;
     font-weight: 400;
     color: var(--forest);
     margin-bottom: 1.25rem;
     line-height: 1.15;
 }

 .integrate-content .subtitle {
     font-size: 1.125rem;
     color: var(--text-muted);
     line-height: 1.6;
     margin-bottom: 1.5rem;
 }

 /* Code Snippet Block */
 .code-snippet {
     background: #1a1a2e;
     border-radius: 12px;
     padding: 0;
     /* margin-bottom: 2rem; */
     overflow: hidden;
     box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
     border: 1px solid rgba(255, 255, 255, 0.1);
 }

 .code-snippet-header {
     background: #16162a;
     padding: 0;
     border-bottom: 1px solid rgba(255, 255, 255, 0.05);
     display: flex;
     gap: 0;
 }

 .code-tab {
     font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;
     font-size: 0.75rem;
     font-weight: 500;
     color: rgba(255, 255, 255, 0.4);
     text-transform: uppercase;
     letter-spacing: 0.03em;
     padding: 0.75rem 1rem;
     cursor: pointer;
     transition: all 0.2s ease;
     border: none;
     background: transparent;
     position: relative;
 }

 .code-tab:hover {
     color: rgba(255, 255, 255, 0.7);
     background: rgba(255, 255, 255, 0.03);
 }

 .code-tab.active {
     color: #fff;
     background: rgba(74, 222, 128, 0.08);
 }

 .code-tab.active::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     height: 2px;
     background: #fff;
 }

 .code-snippet-body {
     padding: 1.25rem 1.5rem;
     overflow-x: auto;
     display: none;
     max-width: 472px;
 }

 .code-snippet-body.active {
     display: block;
 }

 .code-snippet pre {
     margin: 0;
     font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;
     font-size: 0.8rem;
     line-height: 1.7;
     color: #e4e4e7;
     white-space: pre;
 }

 .code-snippet .code-command {
     color: #22d3ee;
 }

 .code-snippet .code-flag {
     color: #a78bfa;
 }

 .code-snippet .code-url {
     color: #4ade80;
 }

 .code-snippet .code-header {
     color: #fbbf24;
 }

 .code-snippet .code-string {
     color: #fb923c;
 }

 .code-snippet .code-key {
     color: #f472b6;
 }

 .code-snippet .code-comment {
     color: rgba(255, 255, 255, 0.35);
 }

 /* Documentation Button */
 .docs-btn-wrapper {
     position: absolute;
     bottom: 1.5rem;
     left: 50%;
     transform: translateX(-50%);
 }

 /* Marquee Container */
 .marquee-side {
     position: relative;
     overflow: hidden;
 }

 .marquee-wrapper {
     position: relative;
     padding: 1rem 0;
 }

 /* Fade edges */
 .marquee-wrapper::before,
 .marquee-wrapper::after {
     content: '';
     position: absolute;
     top: 0;
     bottom: 0;
     width: 100px;
     z-index: 10;
     pointer-events: none;
 }

 .marquee-wrapper::before {
     left: 0;
     background: linear-gradient(to right, white 0%, rgba(255, 255, 255, 0.8) 40%, transparent 100%);
 }

 .marquee-wrapper::after {
     right: 0;
     background: linear-gradient(to left, white 0%, rgba(255, 255, 255, 0.8) 40%, transparent 100%);
 }

 .logo-row {
     display: flex;
     width: max-content;
 }

 .logo-row-inner {
     display: flex;
     animation-timing-function: linear;
     animation-iteration-count: infinite;
 }

 .row-1 .logo-row-inner {
     animation: scroll-right 40s linear infinite;
 }

 .row-2 .logo-row-inner {
     animation: scroll-left 32s linear infinite;
 }

 @keyframes scroll-right {
     0% {
         transform: translateX(0);
     }

     100% {
         transform: translateX(-50%);
     }
 }

 @keyframes scroll-left {
     0% {
         transform: translateX(-50%);
     }

     100% {
         transform: translateX(0);
     }
 }

 .marquee-wrapper:hover .logo-row-inner {
     animation-play-state: paused;
 }

 /* Logo Items */
 .logo-item {
     width: 64px;
     height: 64px;
     background: white;
     border-radius: 14px;
     box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 12px;
     flex-shrink: 0;
     transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     border: 1px solid rgba(0, 0, 0, 0.05);
 }

 .logo-item:hover {
     transform: scale(1.12) translateY(-4px);
     box-shadow: 0 12px 32px rgba(26, 58, 50, 0.15);
     border-color: rgba(26, 58, 50, 0.2);
 }

 .logo-item svg,
 .logo-item img {
     width: 32px;
     height: 32px;
     opacity: 0.85;
     transition: all 0.4s ease;
 }

 .logo-item:hover svg,
 .logo-item:hover img {
     opacity: 1;
     transform: scale(1.1);
 }

 /* Logo Tooltip */
 .logo-item {
     position: relative;
 }

 .logo-item::after {
     content: attr(data-tooltip);
     position: absolute;
     bottom: calc(100% + 10px);
     left: 50%;
     transform: translateX(-50%) translateY(4px);
     background: var(--charcoal);
     color: white;
     padding: 6px 12px;
     border-radius: 8px;
     font-size: 0.75rem;
     font-weight: 500;
     white-space: nowrap;
     opacity: 0;
     visibility: hidden;
     transition: all 0.2s ease;
     pointer-events: none;
     z-index: 100;
 }

 .logo-item::before {
     content: '';
     position: absolute;
     bottom: calc(100% + 4px);
     left: 50%;
     transform: translateX(-50%) translateY(4px);
     border: 6px solid transparent;
     border-top-color: var(--charcoal);
     opacity: 0;
     visibility: hidden;
     transition: all 0.2s ease;
     pointer-events: none;
     z-index: 100;
 }

 .logo-item:hover::after,
 .logo-item:hover::before {
     opacity: 1;
     visibility: visible;
     transform: translateX(-50%) translateY(0);
 }

 /* Responsive */
 @media (max-width: 900px) {
     .integrate-section {
         width: calc(100% - 2rem);
         margin: 6vh auto 0 auto;
         padding: 3rem 1rem 4rem 1rem;
         border-radius: 24px;
         overflow: hidden;
     }

     .integrate-container {
         max-width: 100%;
         overflow: hidden;
     }

     .integrate-layout {
         grid-template-columns: 1fr;
         gap: 3rem;
     }

     .integrate-content {
         text-align: center;
         max-width: 100%;
         overflow: hidden;
     }

     .integrate-content h2 {
         font-size: 1.75rem;
         word-wrap: break-word;
     }

     .integrate-content .subtitle {
         font-size: 1rem;
         word-wrap: break-word;
     }

     .code-snippet {
         max-width: 100%;
         overflow: hidden;
     }

     .code-snippet-header {
         flex-wrap: wrap;
     }

     .code-tab {
         font-size: 0.65rem;
         padding: 0.6rem 0.75rem;
     }

     .code-snippet-body {
         max-width: 100%;
         overflow-x: auto;
         padding: 1rem;
     }

     .code-snippet pre {
         font-size: 0.7rem;
         white-space: pre-wrap;
         word-break: break-all;
     }

     .integrate-section .section-label {
         text-align: center;
     }

     .docs-btn-wrapper {
         position: relative;
         bottom: auto;
         left: auto;
         transform: none;
         margin-top: 1.5rem;
         text-align: center;
     }

     .marquee-side {
         overflow: hidden;
     }

     .marquee-wrapper::before,
     .marquee-wrapper::after {
         width: 40px;
     }

     .logo-item {
         width: 60px;
         height: 60px;
         margin: 0 8px;
     }

     .logo-item svg,
     .logo-item img {
         width: 28px;
         height: 28px;
     }
 }

 /* Pricing */
 .pricing-section {
     padding: 8rem 2rem;
     max-width: 800px;
     margin: 0 auto;
 }

 .pricing-card {
     background: white;
     border-radius: 24px;
     overflow: hidden;
     box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
 }

 .pricing-header {
     background: var(--forest);
     padding: 2.5rem;
     text-align: center;
 }

 .pricing-badge {
     display: inline-block;
     background: rgba(255, 255, 255, 0.2);
     color: white;
     padding: 0.5rem 1rem;
     border-radius: 100px;
     font-size: 0.75rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     margin-bottom: 1.5rem;
 }

 .pricing-rates {
     display: flex;
     justify-content: center;
     gap: 3rem;
     color: white;
 }

 .rate-item {
     text-align: center;
 }

 .rate-value {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 2.5rem;
 }

 .rate-unit {
     font-size: 0.875rem;
     opacity: 0.7;
 }

 .rate-label {
     font-size: 0.8rem;
     opacity: 0.7;
     margin-top: 0.25rem;
 }

 .pricing-body {
     padding: 2.5rem;
 }

 .pricing-features {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 1rem;
     margin-bottom: 2rem;
 }

 .feature-item {
     display: flex;
     align-items: center;
     gap: 0.75rem;
     font-size: 0.95rem;
 }

 .feature-check {
     width: 20px;
     height: 20px;
     background: #dcfce7;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #16a34a;
 }

 .pricing-cta {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 0.5rem;
     width: 100%;
     padding: 1rem;
     background: var(--forest);
     color: white;
     border: none;
     border-radius: 12px;
     font-size: 1rem;
     font-weight: 600;
     cursor: pointer;
     text-align: center;
     text-decoration: none;
     transition: all 0.2s;
 }

 .pricing-cta:hover {
     background: #0f2a22;
     transform: translateY(-2px);
 }

 .pricing-cta .btn-arrow-icon {
     stroke: white;
     transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .pricing-cta:hover .btn-arrow-icon {
     transform: translateX(4px);
 }

 /* CTA Section */
 .cta-section {
     background: #F7FAF8;
     padding: 8rem 2rem;
     text-align: center;
 }

 .cta-container {
     max-width: 900px;
     margin: 0 auto;
 }

 .cta-section h2 {
     margin-bottom: 1rem;
 }

 .cta-section h2 em {
     font-style: italic;
     color: var(--forest);
 }

 .cta-description {
     color: var(--text-muted);
     font-size: 1.125rem;
     margin-bottom: 2rem;
 }

 .cta-buttons {
     display: flex;
     gap: 1rem;
     justify-content: center;
 }

 /* Footer */
 footer {
     background: var(--forest);
     color: white;
     padding: 3rem 2rem 2rem;
 }

 .footer-container {
     max-width: 1200px;
     margin: 0 auto;
 }

 .footer-grid {
     display: grid;
     grid-template-columns: 1fr repeat(3, 1fr);
     gap: 4rem;
     margin-bottom: 1rem;
     padding-bottom: 3rem;
     justify-items: center;
     /* border-bottom: 1px solid rgba(255,255,255,0.1); */
 }

 .footer-text {
     text-align: center;
     margin-bottom: 2.5rem;
     font-size: 20px;
     color: #bdc4c2;
     font-weight: 600;
 }

 .footer-brand p {
     color: rgba(255, 255, 255, 0.6);
     font-size: 0.9rem;
     margin-top: 1rem;
     max-width: 280px;
     line-height: 1.6;
 }

 .footer-column h3 {
     font-size: 0.75rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     margin-bottom: 1.25rem;
     color: rgba(255, 255, 255, 0.5);
 }

 .footer-column ul {
     list-style: none;
 }

 .footer-column li {
     margin-bottom: 0.75rem;
 }

 .footer-column a {
     color: rgba(255, 255, 255, 0.8);
     text-decoration: none;
     font-size: 0.9rem;
     transition: color 0.2s;
 }

 .footer-column a:hover {
     color: white;
 }

 .footer-bottom {
     display: flex;
     justify-content: space-between;
     align-items: center;
     font-size: 0.85rem;
     color: rgba(255, 255, 255, 0.5);
 }

 .footer-bottom a {
     color: rgba(255, 255, 255, 0.8);
     text-decoration: none;
     font-size: 0.9rem;
     transition: color 0.2s;
 }

 .footer-bottom a:hover {
     color: white;
 }

 /* Social Media Icons */
 .footer-social {
     display: flex;
     justify-content: center;
     gap: 1.5rem;
     padding: 2rem 0;
 }

 .footer-social a {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 40px;
     height: 40px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.1);
     color: rgba(255, 255, 255, 0.7);
     transition: all 0.3s ease;
 }

 .footer-social a:hover {
     background: rgba(255, 255, 255, 0.2);
     color: white;
     transform: translateY(-2px);
 }

 .footer-social svg {
     width: 20px;
     height: 20px;
 }

 /* Giant Footer Logo */
 .footer-giant-logo {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 2rem;
     padding: 2rem 0 5rem;
     margin-bottom: 1rem;
     border-bottom: 1px solid rgba(255, 255, 255, 0.08);
     overflow: hidden;
 }

 .giant-logo-icon {
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
 }

 .giant-logo-icon svg {
     width: clamp(120px, 22vw, 180px);
     height: clamp(120px, 22vw, 180px);
 }

 .giant-logo-text {
     font-family: 'Inter', -apple-system, sans-serif;
     font-size: clamp(6rem, 17vw, 14rem);
     font-weight: 700;
     color: white;
     letter-spacing: -0.04em;
     line-height: 1;
     opacity: 0.95;
 }

 @media (max-width: 768px) {
     .footer-giant-logo {
         flex-direction: column;
         gap: 1.5rem;
         padding: 3rem 0 2rem;
     }

     .giant-logo-icon svg {
         width: 80px;
         height: 80px;
     }

     .giant-logo-text {
         font-size: 4rem;
     }
 }

 /* Responsive */
 @media (max-width: 900px) {
     header {
         padding: 1rem 1rem;
     }

     nav {
         width: 100%;
     }

     .hero {
         grid-template-columns: 1fr;
         text-align: center;
         padding-top: 6rem;
     }

     .hero-content {
         max-width: 100%;
     }

     .hero-ctas {
         justify-content: center;
         flex-direction: column;
     }

     .users {
         justify-content: center;
     }

     .hero-visual {
         display: none;
     }

     .cta-buttons {
         flex-direction: column;
     }

     .stats-grid {
         grid-template-columns: 1fr;
     }

     /* How It Works Section responsive - disable horizontal scroll on mobile */
     .how-scroll-container {
         height: auto !important;
         /* Override JS-set height */
     }

     .how-sticky-viewport {
         position: relative;
         height: auto;
     }

     .how-header {
         padding: 4rem 1rem 2rem;
     }

     .how-cards-track {
         flex-direction: column;
         transform: none !important;
         /* Override JS transform */
         padding: 2rem 1rem 4rem;
         gap: 1.5rem;
     }

     .step-card {
         width: 100%;
         max-width: none;
         min-height: auto;
         max-height: none;
         opacity: 0.4;
         transform: scale(0.95);
         background: transparent;
         border: none;
         box-shadow: none;
     }

     .step-card.active {
         opacity: 1;
         transform: scale(1);
         background: white;
         border: 1px solid rgba(0, 0, 0, 0.06);
         box-shadow: 0 2px 23px rgba(0, 0, 0, 0.1);
     }

     .how-cards-track {
         align-items: center;
     }

     .step-illustration {
         height: 180px;
         min-height: auto;
     }


     /* Capabilities Section responsive - vertical layout */
     .capabilities-container {
         grid-template-columns: 1fr;
         gap: 0;
         justify-content: center;
     }

     .capabilities-left {
         order: 1;
         padding: 4rem 0 2rem 0;
     }

     .capabilities-right {
         order: 2;
         padding: 0 0 4rem 0;
     }

     .capabilities-sticky-header {
         position: relative;
         top: auto;
         transform: none;
         text-align: center;
     }

     .capabilities-sticky-header .section-description {
         margin: 0 auto;
     }

     .cap-card {
         opacity: 0.4;
         transform: scale(0.95);
     }

     .cap-card.active {
         opacity: 1;
         transform: scale(1);
         background: white;
         box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
     }

     .capabilities-grid {
         align-items: center;
     }

     .cap-content {
         text-align: center;
     }

     .cap-headline,
     .cap-pain {
         text-align: center;
     }

     .cap-illustration {
         height: 200px;
         min-height: auto;
     }

     .pricing-rates {
         flex-direction: column;
         gap: 1.5rem;
     }

     .pricing-features {
         grid-template-columns: 1fr;
     }

     .footer-grid {
         grid-template-columns: 1fr;
         gap: 2rem;
     }

     .nav-links {
         display: none;
     }

     .pricing-section {
         padding: 8rem 2rem 4rem 2rem;
     }

     .cta-section {
         padding: 4rem 2rem 8rem 2rem;
     }
 }

 /* ========== Modal Styles ========== */
 .modal-overlay {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: rgba(0, 0, 0, 0.5);
     backdrop-filter: blur(4px);
     z-index: 1000;
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     visibility: hidden;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .modal-overlay.active {
     opacity: 1;
     visibility: visible;
 }

 .modal-container {
     background: white;
     border-radius: 24px;
     width: 100%;
     max-width: 440px;
     max-height: 90vh;
     overflow-y: auto;
     box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
     transform: scale(0.95) translateY(20px);
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     position: relative;
 }

 .modal-overlay.active .modal-container {
     transform: scale(1) translateY(0);
 }

 /* Demo modal is wider for calendar */
 .modal-container.modal-demo {
     max-width: 900px;
     height: 85vh;
 }

 .modal-close {
     position: absolute;
     top: 1rem;
     right: 1rem;
     width: 36px;
     height: 36px;
     border-radius: 50%;
     background: #f3f4f6;
     border: none;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all 0.2s;
     z-index: 10;
 }

 .modal-close:hover {
     background: #e5e7eb;
     transform: rotate(90deg);
 }

 .modal-close svg {
     width: 18px;
     height: 18px;
     stroke: #6b7280;
 }

 .modal-content {
     padding: 2.5rem;
 }

 .modal-header {
     text-align: center;
     margin-bottom: 2rem;
 }

 .modal-title {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 2rem;
     font-weight: 400;
     color: var(--charcoal);
     margin-bottom: 0.5rem;
 }

 .modal-subtitle {
     font-size: 0.95rem;
     color: var(--text-muted);
 }

 /* Demo Modal Specific */
 .modal-demo .modal-content {
     padding: 0;
     height: 100%;
     display: flex;
     flex-direction: column;
 }

 .modal-demo .modal-header {
     padding: 2rem 2rem 1rem;
     margin-bottom: 0;
     border-bottom: 1px solid #f3f4f6;
 }

 .demo-calendar-container {
     flex: 1;
     min-height: 0;
     overflow: hidden;
 }

 #modal-cal-inline {
     width: 100%;
     height: 100%;
     overflow: auto;
 }

 /* Modal panel transitions */
 .modal-panel {
     display: none;
 }

 .modal-panel.active {
     display: block;
     animation: modalPanelIn 0.3s ease;
 }

 @keyframes modalPanelIn {
     from {
         opacity: 0;
         transform: translateX(10px);
     }

     to {
         opacity: 1;
         transform: translateX(0);
     }
 }

 /* Responsive modal */
 @media (max-width: 500px) {
     .modal-container {
         max-width: 100%;
         margin: 1rem;
         border-radius: 20px;
     }

     .modal-content {
         padding: 2rem 1.5rem;
     }

     .form-row {
         grid-template-columns: 1fr;
     }

     .modal-container.modal-demo {
         max-width: 100%;
         height: 95vh;
         margin: 0.5rem;
     }
 }

 /* ========== THE ENGINE Section ========== */
 .engine-section {
     background: #FFFFFF;
     padding: 0 2rem 4rem 2rem;
     position: relative;
 }

 .engine-trigger-container {
     display: flex;
     justify-content: center;
     padding-top: 0rem;
 }

 .engine-trigger {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     padding: 0.75rem 1.5rem;
     background: transparent;
     border: none;
     font-family: 'Inter', sans-serif;
     font-size: 0.875rem;
     font-weight: 500;
     color: var(--text-muted);
     opacity: 0.6;
     cursor: pointer;
     transition: all 0.3s ease;
     border-radius: 100px;
 }

 .engine-trigger:hover {
     opacity: 1;
     color: var(--forest);
     background: rgba(26, 58, 50, 0.05);
 }

 .engine-trigger:focus {
     outline: none;
     box-shadow: 0 0 0 2px rgba(26, 58, 50, 0.2);
 }

 .engine-trigger:focus-visible {
     outline: 2px solid var(--forest);
     outline-offset: 2px;
 }

 .engine-trigger-arrow {
     display: inline-flex;
     transition: transform 0.3s ease;
 }

 .engine-trigger[aria-expanded="true"] .engine-trigger-arrow {
     transform: rotate(180deg);
 }

 .engine-trigger-arrow svg {
     animation: arrowPulse 2s ease-in-out infinite;
 }

 .engine-trigger:hover .engine-trigger-arrow svg {
     animation: none;
 }

 @keyframes arrowPulse {

     0%,
     100% {
         opacity: 0.6;
         transform: translateY(0);
     }

     50% {
         opacity: 1;
         transform: translateY(2px);
     }
 }

 .engine-content {
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
         opacity 0.3s ease;
     opacity: 0;
 }

 .engine-content.expanded {
     max-height: 800px;
     opacity: 1;
 }

 .engine-inner {
     max-width: 680px;
     margin: 0 auto;
     padding-top: 3rem;
 }

 .engine-header {
     text-align: center;
     margin-bottom: 2rem;
 }

 .engine-label {
     font-size: 0.7rem;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     color: var(--coral);
     margin-bottom: 0.75rem;
 }

 .engine-headline {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: clamp(1.75rem, 3vw, 2.25rem);
     font-weight: 400;
     margin-bottom: 0.75rem;
     color: var(--charcoal);
 }

 .engine-subhead {
     color: var(--text-muted);
     font-size: 1rem;
     line-height: 1.6;
     max-width: 540px;
     margin: 0 auto;
 }

 .engine-card {
     background: var(--forest);
     border-radius: 20px;
     padding: 0;
     overflow: hidden;
     box-shadow: 0 8px 32px rgba(26, 58, 50, 0.15),
         0 2px 8px rgba(0, 0, 0, 0.08);
 }

 .engine-layer {
     display: flex;
     align-items: center;
     gap: 1.25rem;
     padding: 1.5rem 2rem;
     position: relative;
     transition: background 0.2s ease;
 }

 .engine-layer:not(:last-child) {
     border-bottom: 1px solid rgba(255, 255, 255, 0.1);
 }

 .engine-layer:hover {
     background: rgba(255, 255, 255, 0.05);
 }

 .engine-layer-number {
     width: 28px;
     height: 28px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.1);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 0.75rem;
     font-weight: 600;
     color: rgba(255, 255, 255, 0.6);
     flex-shrink: 0;
 }

 .engine-layer-icon {
     width: 44px;
     height: 44px;
     border-radius: 12px;
     background: rgba(255, 255, 255, 0.12);
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     transition: all 0.3s ease;
 }

 .engine-layer:hover .engine-layer-icon {
     background: rgba(255, 255, 255, 0.18);
     transform: scale(1.05);
 }

 .engine-layer-icon svg {
     width: 22px;
     height: 22px;
     stroke: white;
     stroke-width: 1.5;
     fill: none;
 }

 .engine-layer-content {
     flex: 1;
     min-width: 0;
 }

 .engine-layer-title {
     font-size: 0.7rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     color: white;
     margin-bottom: 0.25rem;
 }

 .engine-layer-desc {
     font-size: 0.9rem;
     color: rgba(255, 255, 255, 0.75);
     line-height: 1.5;
 }

 /* Stats callout */
 .engine-stats {
     text-align: center;
     padding-top: 1.5rem;
     font-size: 0.8rem;
     color: var(--text-muted);
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 1.5rem;
     flex-wrap: wrap;
 }

 .engine-stat {
     display: flex;
     align-items: center;
     gap: 0.5rem;
 }

 .engine-stat-dot {
     width: 4px;
     height: 4px;
     background: var(--sage);
     border-radius: 50%;
 }

 /* Mobile responsive */
 @media (max-width: 640px) {
     .engine-section {
         padding: 0 1rem 2rem 1rem;
     }

     .engine-inner {
         padding-top: 2rem;
     }

     .engine-layer {
         padding: 1.25rem 1.25rem;
         gap: 1rem;
     }

     .engine-layer-number {
         display: none;
     }

     .engine-layer-icon {
         width: 38px;
         height: 38px;
     }

     .engine-layer-icon svg {
         width: 18px;
         height: 18px;
     }

     .engine-layer-desc {
         font-size: 0.85rem;
     }

     .engine-stats {
         flex-direction: column;
         gap: 0.75rem;
     }
 }

 /* ========== RELIABILITY Section ========== */
 .reliability-section {
     background: #F7FAF8;
     padding: 6rem 2rem;
     position: relative;
 }

 .reliability-container {
     max-width: 800px;
     margin: 0 auto;
     text-align: center;
 }

 .reliability-section .section-label {
     color: var(--coral);
 }

 .reliability-section h2 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: clamp(2rem, 4vw, 2.75rem);
     font-weight: 400;
     color: var(--charcoal);
     margin-bottom: 1rem;
 }

 .reliability-subhead {
     font-size: 1.125rem;
     color: var(--text-muted);
     line-height: 1.7;
     max-width: 600px;
     margin: 0 auto 2.5rem;
 }

 /* Reliability Pills Container */
 .reliability-pills {
     display: grid;
     grid-template-columns: repeat(3, auto);
     justify-content: center;
     gap: 0.75rem;
     margin-bottom: 2rem;
 }

 .reliability-pill-wrapper {
     display: contents;
 }

 /* On desktop, content spans all columns and appears in row 2 */
 .reliability-content {
     grid-column: 1 / -1;
     grid-row: 2;
 }

 .reliability-pill {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     padding: 0.75rem 1.25rem;
     background: white;
     border: 1px solid rgba(26, 58, 50, 0.12);
     border-radius: 100px;
     font-size: 0.9rem;
     font-weight: 500;
     color: var(--charcoal);
     cursor: pointer;
     transition: all 0.3s ease;
     font-family: 'Inter', sans-serif;
     position: relative;
 }

 .reliability-pill:hover {
     border-color: var(--forest);
     background: white;
     transform: translateY(-2px);
     box-shadow: 0 4px 12px rgba(26, 58, 50, 0.1);
 }

 .reliability-pill.active {
     background: var(--forest);
     color: white;
     border-color: var(--forest);
     box-shadow: 0 4px 16px rgba(26, 58, 50, 0.25);
 }

 .reliability-pill .pill-icon {
     width: 18px;
     height: 18px;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: transform 0.3s ease;
 }

 .reliability-pill .pill-icon svg {
     width: 16px;
     height: 16px;
     stroke: currentColor;
     transition: stroke 0.3s ease;
 }

 .reliability-pill .pill-chevron {
     width: 16px;
     height: 16px;
     transition: transform 0.3s ease;
     position: absolute;
     right: 10px;
     top: 15px;
 }

 .reliability-pill .pill-chevron svg {
     width: 14px;
     height: 14px;
     stroke: currentColor;
 }

 .reliability-pill.active .pill-chevron {
     transform: rotate(180deg);
     position: absolute;
     right: 10px;
     top: 12px;
 }

 /* Pill Content Panel */
 .reliability-content {
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
         opacity 0.3s ease,
         margin 0.3s ease;
     opacity: 0;
     margin-bottom: 0;
 }

 .reliability-content.active {
     max-height: 200px;
     opacity: 1;
     margin-bottom: 2rem;
 }

 .reliability-content-inner {
     background: white;
     border: 1px solid rgba(26, 58, 50, 0.08);
     border-radius: 16px;
     padding: 1.5rem 2rem;
     text-align: left;
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
 }

 .reliability-content-inner p {
     font-size: 1rem;
     color: var(--text);
     line-height: 1.7;
     margin: 0;
 }

 .reliability-content-inner strong {
     color: var(--forest);
     font-weight: 600;
 }

 /* CTA Button */
 .reliability-cta {
     margin-top: 1rem;
 }

 .reliability-cta .btn {
     padding: 0.875rem 1.75rem;
 }

 /* Responsive */
 @media (max-width: 640px) {
     .reliability-section {
         padding: 4rem 1.5rem;
     }

     .reliability-pills {
         display: flex;
         flex-direction: column;
         align-items: stretch;
     }

     .reliability-pill .pill-chevron {
         position: relative;
         right: -8px;
         top: 2px;
     }

     .reliability-pill.active .pill-chevron {
         position: relative;
         right: -8px;
         top: 0px;
     }

     .reliability-pill-wrapper {
         display: flex;
         flex-direction: column;
     }

     .reliability-pill {
         justify-content: space-between;
     }

     .reliability-content {
         grid-column: auto;
         grid-row: auto;
         margin-top: 0.5rem;
     }

     .reliability-content.active {
         margin-bottom: 0.75rem;
     }

     .reliability-content-inner {
         padding: 1.25rem 1.5rem;
     }

     .step-content {
         text-align: center;
         padding: 0rem 2.5rem 2.5rem 2.5rem;
     }

     .cap-illustration {
         padding: 0.9rem;
     }

     .step-illustration {
         padding: 1.5rem 1rem 0rem 1rem;
     }
 }

 /* Accordion Styles */
 .accordion {
     display: flex;
     flex-direction: column;
     gap: 1rem;
     margin-top: 2rem;
 }

 .accordion-item {
     border: 1px solid rgba(0, 0, 0, 0.08);
     border-radius: 12px;
     background: white;
     overflow: hidden;
     transition: all 0.2s ease;
 }

 .accordion-item:hover {
     border-color: rgba(0, 0, 0, 0.15);
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
 }

 .accordion-header {
     width: 100%;
     padding: 1.5rem;
     display: flex;
     justify-content: space-between;
     align-items: center;
     background: none;
     border: none;
     cursor: pointer;
     text-align: left;
     font-size: 1.1rem;
     font-weight: 600;
     color: var(--charcoal);
     transition: background-color 0.2s ease;
 }

 .accordion-header:hover {
     background-color: rgba(0, 0, 0, 0.01);
 }

 .accordion-icon {
     width: 24px;
     height: 24px;
     transition: transform 0.3s ease;
     color: var(--forest);
 }

 .accordion-item.active .accordion-icon {
     transform: rotate(180deg);
 }

 .accordion-content {
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     background-color: white;
 }

 .accordion-body {
     padding: 0 1.5rem 1.5rem 1.5rem;
     color: var(--text);
     font-size: 1rem;
     line-height: 1.6;
 }

 .accordion-body ul {
     padding-left: 1.5rem;
     margin-top: 0.5rem;
     margin-bottom: 0.5rem;
 }

 .accordion-body li {
     margin-bottom: 0.5rem;
 }

 .accordion-body h3 {
     font-size: 1rem;
     font-weight: 600;
     margin-top: 1rem;
     margin-bottom: 0.5rem;
     color: var(--charcoal);
 }