.public-contact{--tb-brand:#004a63;--tb-brand-dark:#003445;--tb-accent:#aeffc4;--tb-accent-dark:#7fe5a0;--tb-accent-soft:#e6fff0;--tb-ink:#0a1f28;--tb-ink-2:#3d5560;--tb-ink-3:#7a8b92;--tb-surface-2:#f7fafb;--tb-surface-3:#eef4f6;--tb-radius:10px;--tb-shadow-soft:0 8px 24px #004a631a;--tb-shadow-large:0 16px 48px #004a6329;--tb-shadow-glow:0 0 32px #aeffc466;background-color:var(--tb-surface-2);color:var(--tb-ink);font-size:15px;line-height:1.6}.public-contact .text-brand{color:var(--tb-brand)!important}.public-contact .text-accent-dark{color:var(--tb-accent-dark)!important}.public-contact .text-ink{color:var(--tb-ink)!important}.public-contact .text-ink-2{color:var(--tb-ink-2)!important}.public-contact .text-ink-3{color:var(--tb-ink-3)!important}.public-contact .text-white{color:#fff!important}.public-contact .text-white\/80{color:#fffc!important}.public-contact .bg-brand{background-color:var(--tb-brand)!important}.public-contact .bg-surface-2{background-color:var(--tb-surface-2)!important}.public-contact .bg-surface-3{background-color:var(--tb-surface-3)!important}.public-contact .bg-accent-soft,.public-contact .hover\:bg-accent-soft:hover{background-color:var(--tb-accent-soft)!important}.public-contact .hover\:text-accent-dark:hover{color:var(--tb-accent-dark)!important}.public-contact .placeholder-ink-3::placeholder{color:var(--tb-ink-3)!important}.public-contact .shadow-soft{box-shadow:var(--tb-shadow-soft)}.public-contact .rounded-lg{border-radius:var(--tb-radius)}.public-contact .hero-stage{color:#fff;background:radial-gradient(60% 50% at 20% 20%,#aeffc41a,#0000 60%),radial-gradient(55% 50% at 80% 80%,#1a658059,#0000 60%),linear-gradient(135deg,#001a26,#003445 35%,#002d3d 65%,#001a26);position:relative;overflow:hidden}.public-contact .hero-stage:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 30% 20%,#aeffc438,#0000 35%),radial-gradient(circle at 75% 75%,#aeffc41f,#0000 40%),radial-gradient(circle,#1a65804d,#0000 55%);animation:22s ease-in-out infinite tb-contact-mesh-drift;position:absolute;inset:-10%}.public-contact .hero-stage:after{content:"";pointer-events:none;z-index:0;background:conic-gradient(#0000 0deg,#aeffc414 70deg,#0000 140deg,#7fe5a00f 200deg,#0000 270deg,#1a65801a 340deg,#0000 360deg);width:200%;height:200%;animation:40s linear infinite tb-contact-aurora,8s ease-in-out infinite tb-contact-shimmer;position:absolute;top:-50%;left:-50%}.public-contact .hero-stage>:not(.smiley-deco){z-index:2;position:relative}.public-contact .smiley-deco{opacity:.06;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;background-image:url(/brand-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;animation:6s ease-in-out infinite tb-contact-float;position:absolute}.public-contact .card{border-radius:var(--tb-radius);box-shadow:var(--tb-shadow-soft);background:#fff;padding:1.5rem}.public-contact .label{color:var(--tb-ink);margin-bottom:.375rem;font-size:.875rem;font-weight:700;display:block}.public-contact .input{border-radius:var(--tb-radius);background-color:var(--tb-surface-3);width:100%;height:2.75rem;color:var(--tb-ink);font-size:inherit;border:none;outline:none;padding-inline:1rem;font-family:inherit;transition:background-color .18s,box-shadow .18s}.public-contact .input:hover{background-color:var(--tb-surface-2)}.public-contact .input:focus{box-shadow:0 0 0 2px var(--tb-accent);background-color:#fff}.public-contact .input.is-error{box-shadow:0 0 0 2px #ef4444}.public-contact textarea.input{resize:vertical;height:auto;min-height:8rem;padding-block:.75rem}.public-contact .field-error{color:#ef4444;margin-top:.25rem;font-size:.75rem}.public-contact .btn-primary{border-radius:var(--tb-radius);background:var(--tb-brand);color:#fff;width:100%;height:2.75rem;font-weight:700;font-size:inherit;white-space:nowrap;cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding-inline:1.5rem;font-family:inherit;line-height:1.5;transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .16s cubic-bezier(.23,1,.32,1),box-shadow .16s cubic-bezier(.23,1,.32,1);display:inline-flex}.public-contact .btn-primary:hover:not(:disabled){background:var(--tb-brand-dark);box-shadow:var(--tb-shadow-soft);transform:translateY(-2px)}.public-contact .btn-primary:active:not(:disabled){transform:translateY(0)scale(.97)}.public-contact .btn-primary:disabled{opacity:.6;cursor:not-allowed}.public-contact .btn-outline{border-radius:var(--tb-radius);height:2.75rem;color:var(--tb-brand);font-weight:700;font-size:inherit;cursor:pointer;background:#004a631a;border:none;justify-content:center;align-items:center;gap:.5rem;padding-inline:1.5rem;transition:background-color .16s,color .16s;display:inline-flex}.public-contact .btn-outline:hover{background:var(--tb-brand);color:#fff}.public-contact .upload-zone{border-radius:var(--tb-radius);background:var(--tb-surface-2);text-align:center;cursor:pointer;padding:1.5rem;transition:background-color .18s;display:block}.public-contact .upload-zone:hover,.public-contact .upload-zone.is-dragging{background:var(--tb-accent-soft)}.public-contact .upload-zone.is-error{box-shadow:0 0 0 2px #ef4444}.public-contact .reveal{animation:.5s cubic-bezier(.23,1,.32,1) both tb-contact-fade-up}.public-contact .reveal[data-delay="1"]{animation-delay:50ms}.public-contact .reveal[data-delay="2"]{animation-delay:.1s}.public-contact .reveal[data-delay="3"]{animation-delay:.15s}.public-contact .reveal[data-delay="4"]{animation-delay:.2s}@keyframes tb-contact-fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes tb-contact-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes tb-contact-mesh-drift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-4%,3%)scale(1.08)}66%{transform:translate(3%,-2%)scale(1.04)}}@keyframes tb-contact-aurora{to{transform:rotate(360deg)}}@keyframes tb-contact-shimmer{0%,to{opacity:.4}50%{opacity:.75}}@media (prefers-reduced-motion:reduce){.public-contact .smiley-deco,.public-contact .hero-stage:before,.public-contact .hero-stage:after,.public-contact .reveal{animation:none}}
