:root{--c-brand:#6B21A8;--c-brand-light:#9333EA;--c-brand-dark:#581C87;--c-accent:#06B6D4;--c-accent-light:#22D3EE;--c-accent-dark:#0891B2;--c-neon:#4ADE80;--c-neon-glow:rgba(74, 222, 128, 0.5);--c-bg:#09090B;--c-bg-alt:#18181B;--c-bg-card:rgba(255, 255, 255, 0.05);--c-text:#FAFAFA;--c-text-secondary:#A1A1AA;--c-text-muted:#71717A;--c-border:#27272A;--c-gradient:linear-gradient(135deg, #6B21A8 0%, #06B6D4 100%);--c-gradient-hover:linear-gradient(135deg, #581C87 0%, #0891B2 100%);--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--ease-default:cubic-bezier(0.4, 0, 0.2, 1);--dur-hover:200ms;--dur-transition:400ms;--section-py:100px;--container-px:32px}@media (max-width:1024px){:root{--section-py:64px;--container-px:24px}}body{font-family:Inter,"SF Pro Display",sans-serif;color:#fafafa;color:var(--c-text);background-color:#09090b;background-color:var(--c-bg);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:Inter,sans-serif;font-weight:600;line-height:1.2;color:#fafafa;color:var(--c-text)}a{color:#06b6d4;color:var(--c-accent);-webkit-text-decoration:none;text-decoration:none;transition:color .2s cubic-bezier(.4, 0, .2, 1);transition:color var(--dur-hover) var(--ease-default)}a:hover{color:#22d3ee;color:var(--c-accent-light)}.tf-section{padding:100px 0;padding:var(--section-py) 0}.tf-section--alt{background-color:#18181b;background-color:var(--c-bg-alt)}.tf-section--gradient{background:linear-gradient(135deg,#6b21a8 0,#06b6d4 100%);background:var(--c-gradient)}.tf-section--dark{background-color:#09090b;background-color:var(--c-bg)}.tf-gradient-text{background:linear-gradient(135deg,#6b21a8 0,#06b6d4 100%);background:var(--c-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.tf-btn-primary{display:inline-block;padding:14px 32px;background:linear-gradient(135deg,#6b21a8 0,#06b6d4 100%);background:var(--c-gradient);color:#fff;border:none;border-radius:4px;border-radius:var(--radius-md);font-weight:500;font-size:15px;letter-spacing:.02em;cursor:pointer;transition:transform .2s cubic-bezier(.4, 0, .2, 1),box-shadow .2s cubic-bezier(.4, 0, .2, 1);transition:transform var(--dur-hover) var(--ease-default),box-shadow var(--dur-hover) var(--ease-default)}.tf-btn-primary:hover{transform:scale(1.03);box-shadow:0 0 24px rgba(107,33,168,.4);color:#fff;-webkit-text-decoration:none;text-decoration:none}.tf-btn-outline{display:inline-block;padding:14px 32px;background:0 0;color:#fff;border:1px solid #06b6d4;border:1px solid var(--c-accent);border-radius:4px;border-radius:var(--radius-md);font-weight:500;font-size:15px;cursor:pointer;transition:.2s cubic-bezier(.4, 0, .2, 1);transition:all var(--dur-hover) var(--ease-default)}.tf-btn-outline:hover{background:#06b6d4;background:var(--c-accent);color:#fff;-webkit-text-decoration:none;text-decoration:none;box-shadow:0 0 16px rgba(6,182,212,.3)}.tf-card{background:rgba(255,255,255,.05);background:var(--c-bg-card);border:1px solid #27272a;border:1px solid var(--c-border);border-radius:4px;border-radius:var(--radius-md);padding:24px;transition:border-color .2s cubic-bezier(.4, 0, .2, 1),box-shadow .2s cubic-bezier(.4, 0, .2, 1);transition:border-color var(--dur-hover) var(--ease-default),box-shadow var(--dur-hover) var(--ease-default)}.tf-card:hover{border-color:#9333ea;border-color:var(--c-brand-light);box-shadow:0 0 20px rgba(107,33,168,.15)}.tf-badge{display:inline-block;padding:4px 12px;background:rgba(6,182,212,.15);color:#06b6d4;color:var(--c-accent);border-radius:2px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.tf-stat-number{font-size:48px;font-weight:700;line-height:1;background:linear-gradient(135deg,#6b21a8 0,#06b6d4 100%);background:var(--c-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}@media (max-width:768px){:root{--section-py:48px;--container-px:16px}.tf-stat-number{font-size:36px}}.tf-stat-label{font-size:14px;color:#71717a;color:var(--c-text-muted);margin-top:8px;text-transform:uppercase;letter-spacing:.08em}.tf-nav{background:rgba(9,9,11,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #27272a;border-bottom:1px solid var(--c-border);transition:background .4s cubic-bezier(.4, 0, .2, 1);transition:background var(--dur-transition) var(--ease-default)}.tf-nav .navbar-brand{padding:0}.tf-nav .navbar-brand ai-img,.tf-nav .navbar-brand img{height:40px;width:auto}.tf-nav .nav-link{color:#a1a1aa;color:var(--c-text-secondary);font-size:14px;font-weight:500;letter-spacing:.02em;padding:8px 16px;transition:color .2s cubic-bezier(.4, 0, .2, 1);transition:color var(--dur-hover) var(--ease-default)}.tf-nav .nav-link.active,.tf-nav .nav-link:hover{color:#06b6d4;color:var(--c-accent)}.tf-nav .navbar-toggler{border-color:#27272a;border-color:var(--c-border)}.tf-nav .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(250, 250, 250, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.tf-footer{background-color:#09090b;background-color:var(--c-bg);border-top:1px solid #27272a;border-top:1px solid var(--c-border);padding:64px 0 32px;color:#a1a1aa;color:var(--c-text-secondary);font-size:14px}.tf-footer h5{color:#fafafa;color:var(--c-text);font-size:15px;font-weight:600;margin-bottom:20px;text-transform:uppercase;letter-spacing:.06em}.tf-footer ul{list-style:none;padding:0;margin:0}.tf-footer ul li{margin-bottom:10px}.tf-footer ul li a{color:#71717a;color:var(--c-text-muted);transition:color .2s cubic-bezier(.4, 0, .2, 1);transition:color var(--dur-hover) var(--ease-default)}.tf-footer ul li a:hover{color:#06b6d4;color:var(--c-accent)}.tf-footer-bottom{border-top:1px solid #27272a;border-top:1px solid var(--c-border);padding-top:24px;margin-top:48px}.tf-footer-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #27272a;border:1px solid var(--c-border);color:#71717a;color:var(--c-text-muted);margin-right:8px;transition:.2s cubic-bezier(.4, 0, .2, 1);transition:all var(--dur-hover) var(--ease-default)}.tf-footer-social a:hover{border-color:#06b6d4;border-color:var(--c-accent);color:#06b6d4;color:var(--c-accent);box-shadow:0 0 12px rgba(6,182,212,.2)}.tf-footer-social svg{width:16px;height:16px;fill:currentColor}.tf-divider{width:60px;height:3px;background:linear-gradient(135deg,#6b21a8 0,#06b6d4 100%);background:var(--c-gradient);border:none;margin:16px 0 24px}.tf-divider--center{margin-left:auto;margin-right:auto}.tf-icon-box{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:rgba(107,33,168,.12);border-radius:4px;border-radius:var(--radius-md);margin-bottom:16px}.tf-icon-box svg{width:28px;height:28px;stroke:#9333EA;stroke:var(--c-brand-light);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.tf-cta-bar{background:linear-gradient(135deg,#6b21a8 0,#06b6d4 100%);background:var(--c-gradient);padding:12px 0;text-align:center;font-size:14px;color:#fff}.tf-cta-bar a{color:#fff;font-weight:600;-webkit-text-decoration:underline;text-decoration:underline;margin-left:8px}.tf-cta-bar a:hover{color:#4ade80;color:var(--c-neon)}.tf-hero-bg{position:relative;overflow:hidden}.tf-hero-bg::before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 50%,rgba(107,33,168,.15) 0,transparent 50%),radial-gradient(ellipse at 70% 50%,rgba(6,182,212,.1) 0,transparent 50%);animation:12s ease-in-out infinite alternate tf-gradient-drift;pointer-events:none}@keyframes tf-gradient-drift{from{transform:translate(0,0) rotate(0)}to{transform:translate(2%,1%) rotate(3deg)}}@media (prefers-reduced-motion:reduce){:root{--dur-hover:0ms;--dur-transition:0ms}.tf-hero-bg::before{animation:none}}.tf-product-card{background:rgba(255,255,255,.05);background:var(--c-bg-card);border:1px solid #27272a;border:1px solid var(--c-border);border-radius:4px;border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s cubic-bezier(.4, 0, .2, 1),transform .2s cubic-bezier(.4, 0, .2, 1);transition:border-color var(--dur-hover) var(--ease-default),transform var(--dur-hover) var(--ease-default);cursor:pointer}.tf-product-card:hover{border-color:#0891b2;border-color:var(--c-accent-dark);transform:translateY(-4px)}.tf-product-card .card-img-top{background:#18181b;background:var(--c-bg-alt);aspect-ratio:1/1;-o-object-fit:contain;object-fit:contain;padding:16px}.tf-product-card .card-body{padding:16px}.tf-product-card .card-title{font-size:14px;font-weight:500;margin-bottom:8px;color:#fafafa;color:var(--c-text)}.feedback-mini .form-label{font-size:13px;font-weight:500;color:#a1a1aa;color:var(--c-text-secondary);margin-bottom:6px}.feedback-mini .form-label.require::after{content:" *";color:#06b6d4;color:var(--c-accent)}.feedback-mini .form-control,.feedback-mini .form-select{background-color:rgba(255,255,255,.06);border:1px solid #27272a;border:1px solid var(--c-border);color:#fafafa;color:var(--c-text);font-size:14px;padding:10px 14px;border-radius:2px;border-radius:var(--radius-sm);transition:border-color .2s cubic-bezier(.4, 0, .2, 1);transition:border-color var(--dur-hover) var(--ease-default)}.feedback-mini .form-control:focus,.feedback-mini .form-select:focus{background-color:rgba(255,255,255,.08);border-color:#06b6d4;border-color:var(--c-accent);box-shadow:0 0 0 2px rgba(6,182,212,.15);color:#fafafa;color:var(--c-text)}.feedback-mini .form-control::-moz-placeholder{color:#71717a;color:var(--c-text-muted)}.feedback-mini .form-control::placeholder{color:#71717a;color:var(--c-text-muted)}.feedback-mini .form-select option{background-color:#18181b;background-color:var(--c-bg-alt);color:#fafafa;color:var(--c-text)}.feedback-mini .form-check-input{background-color:transparent;border-color:#27272a;border-color:var(--c-border)}.feedback-mini .form-check-input:checked{background-color:#06b6d4;background-color:var(--c-accent);border-color:#06b6d4;border-color:var(--c-accent)}.feedback-mini .form-check-label{font-size:12px;color:#71717a;color:var(--c-text-muted)}.feedback-mini .form-check-label a{color:#06b6d4;color:var(--c-accent);-webkit-text-decoration:underline;text-decoration:underline}.feedback-mini .invalid-feedback{font-size:12px}