/* ============================================================
   style.css  —  dmxfun.com Music Sync Bracelets Page
   Tailwind Preflight Reset + Static Utility Classes + Custom Styles
   ============================================================ */

/* ── Tailwind Preflight Reset ── */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
::before,::after{--tw-content:''}
html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";scroll-behavior:smooth}
body{margin:0;line-height:inherit}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-0.25em}
sup{top:-0.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
[type='button'],[type='reset'],[type='submit'],button{-webkit-appearance:button;background-color:transparent;background-image:none}
:-moz-focusring{outline:auto}
:-moz-ui-invalid{box-shadow:none}
progress{vertical-align:baseline}
::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}
[type='search']{-webkit-appearance:textfield;outline-offset:-2px}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
summary{display:list-item}
blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}
fieldset{margin:0;padding:0}
legend{padding:0}
ol,ul,menu{list-style:none;margin:0;padding:0}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}
button,[role="button"]{cursor:pointer}
:disabled{cursor:default}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
[hidden]{display:none}

/* ── Page Base Overrides (from original inline <style>) ── */
body{font-family:'Inter',sans-serif;background:#020205;color:#f8fafc;scroll-behavior:smooth;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;letter-spacing:-0.02em}

/* ── Custom Component Classes (from original inline <style>) ── */
.premium-nav{background:rgba(5,5,12,0.85);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,0.05);padding:1.2rem 2.5rem}
.glass-panel{background:linear-gradient(135deg,rgba(255,255,255,0.03) 0%,rgba(255,255,255,0.01) 100%);border:1px solid rgba(255,255,255,0.05);backdrop-filter:blur(16px)}
.music-glow-border{border:1px solid rgba(165,180,252,0.1);transition:all 0.5s cubic-bezier(0.25,1,0.5,1)}
.music-glow-border:hover{border-color:rgba(6,182,212,0.5);box-shadow:0 0 40px rgba(6,182,212,0.15);background:rgba(255,255,255,0.03)}
.kinetic-text{background:linear-gradient(90deg,#f43f5e,#3b82f6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.wave-glow{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(244,63,94,0.03) 0%,rgba(0,0,0,0) 70%);filter:blur(80px);pointer-events:none}

/* HubSpot Form Overrides */
#hubspot-form-container .hs-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
#hubspot-form-container .hs-form .hs-form-field{grid-column:span 2}
@media(min-width:768px){
  #hubspot-form-container .hs-form .hs-form-field:nth-child(1),
  #hubspot-form-container .hs-form .hs-form-field:nth-child(2){grid-column:span 1}
}
#hubspot-form-container .hs-form label{color:#cbd5e1;font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em}
#hubspot-form-container .hs-form input,
#hubspot-form-container .hs-form textarea,
#hubspot-form-container .hs-form select{background:#090914;border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:1rem 1.2rem;color:#fff;font-size:1rem;width:100%!important;transition:all 0.3s ease}
#hubspot-form-container .hs-form input:focus,
#hubspot-form-container .hs-form textarea:focus{border-color:#06b6d4;box-shadow:0 0 15px rgba(6,182,212,0.2);background:#0c0c1f}
#hubspot-form-container .hs-form .hs-button{grid-column:span 2;background:linear-gradient(90deg,#4f46e5,#06b6d4);border:none;border-radius:8px;padding:1.2rem;font-weight:700;color:white;text-transform:uppercase;cursor:pointer;transition:all 0.4s ease;letter-spacing:0.1em}
#hubspot-form-container .hs-form .hs-button:hover{box-shadow:0 0 30px rgba(6,182,212,0.4);transform:translateY(-2px)}
#hubspot-form-container .hs-form .hs-error-msgs{color:#f43f5e;font-size:0.8rem;list-style:none;margin-top:0.3rem}
#hubspot-form-container .hs-form .legal-consent-container{grid-column:span 2;font-size:0.75rem;color:#475569}

/* ============================================================
   Tailwind Utility Classes — Static Output
   ============================================================ */

/* ── Layout ── */
.relative{position:relative}
.absolute{position:absolute}
.fixed{position:fixed}
.inset-0{inset:0}
.top-0{top:0}
.left-0{left:0}
.right-0{right:0}
.bottom-6{bottom:1.5rem}
.left-6{left:1.5rem}
.bottom-0{bottom:0}
.right-8{right:2rem}
.bottom-8{bottom:2rem}
.-top-96{top:-24rem}
.-left-48{left:-12rem}
.z-10{z-index:10}
.z-50{z-index:50}
.z-\[100\]{z-index:100}
.mx-auto{margin-left:auto;margin-right:auto}

/* ── Display ── */
.block{display:block}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}

/* ── Flexbox ── */
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.items-center{align-items:center}
.items-start{align-items:flex-start}

/* ── Grid ── */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.col-span-2{grid-column:span 2/span 2}

/* ── Gap / Space ── */
.gap-2{gap:0.5rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-16{gap:4rem}
.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem*var(--tw-space-y-reverse))}
.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem*var(--tw-space-y-reverse))}
.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem*var(--tw-space-y-reverse))}
.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}
.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}
.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}
.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem*var(--tw-space-y-reverse))}

/* ── Sizing ── */
.w-2{width:0.5rem}
.w-8{width:2rem}
.w-full{width:100%}
.h-2{height:0.5rem}
.h-8{height:2rem}
.h-full{height:100%}
.w-auto{width:auto}
.w-\[800px\]{width:800px}
.w-\[600px\]{width:600px}
.h-\[800px\]{height:800px}
.h-\[600px\]{height:600px}
.max-w-xl{max-width:36rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-7xl{max-width:80rem}
.max-w-md{max-width:28rem}

/* ── Padding ── */
.p-3{padding:0.75rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-28{padding-top:7rem;padding-bottom:7rem}
.py-32{padding-top:8rem;padding-bottom:8rem}
.pt-6{padding-top:1.5rem}
.pt-12{padding-top:3rem}
.pt-44{padding-top:11rem}
.pb-28{padding-bottom:7rem}
.mt-2{margin-top:0.5rem}
.mt-6{margin-top:1.5rem}
.mt-32{margin-top:8rem}
.mb-4{margin-bottom:1rem}
.mb-8{margin-bottom:2rem}
.mb-16{margin-bottom:4rem}
.mb-20{margin-bottom:5rem}
.mr-2{margin-right:0.5rem}

/* ── Typography ── */
.text-left{text-align:left}
.text-center{text-align:center}
.text-\[8px\]{font-size:8px}
.text-\[9px\]{font-size:9px}
.text-\[10px\]{font-size:10px}
.text-xs{font-size:0.75rem;line-height:1rem}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.font-light{font-weight:300}
.font-normal{font-weight:400}
.font-medium{font-weight:500}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.uppercase{text-transform:uppercase}
.tracking-tight{letter-spacing:-0.025em}
.tracking-wider{letter-spacing:0.05em}
.tracking-widest{letter-spacing:0.1em}
.tracking-\[0\.2em\]{letter-spacing:0.2em}
.tracking-\[0\.3em\]{letter-spacing:0.3em}
.tracking-\[0\.6em\]{letter-spacing:0.6em}
.tracking-\[0\.8em\]{letter-spacing:0.8em}
.leading-\[1\.05\]{line-height:1.05}
.leading-relaxed{line-height:1.625}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}

/* ── Colors ── */
.bg-black{background-color:#000}
.bg-zinc-900{background-color:#18181b}
.bg-zinc-950{background-color:#09090b}
.bg-zinc-900\/40{background-color:rgba(24,24,27,0.4)}
.bg-black\/40{background-color:rgba(0,0,0,0.4)}
.bg-zinc-950\/80{background-color:rgba(9,9,11,0.8)}
.bg-white\/5{background-color:rgba(255,255,255,0.05)}
.bg-indigo-500\/10{background-color:rgba(99,102,241,0.1)}
.bg-cyan-500\/10{background-color:rgba(6,182,212,0.1)}
.bg-emerald-500{background-color:#10b981}
.bg-\[\#25D366\]{background-color:#25D366}
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}
.from-zinc-950{--tw-gradient-from:#09090b;--tw-gradient-to:rgba(9,9,11,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-indigo-600{--tw-gradient-from:#4f46e5;--tw-gradient-to:rgba(79,70,229,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-transparent{--tw-gradient-from:transparent;--tw-gradient-to:rgba(0,0,0,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-black{--tw-gradient-from:#000;--tw-gradient-to:rgba(0,0,0,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-black{--tw-gradient-to:#000}
.to-cyan-600{--tw-gradient-to:#0891b2}
.to-transparent{--tw-gradient-to:transparent}
.to-zinc-950{--tw-gradient-to:#09090b}
.via-transparent{--tw-gradient-to:rgba(0,0,0,0);--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to)}
.via-cyan-950\/10{--tw-gradient-to:rgba(8,145,178,0);--tw-gradient-stops:var(--tw-gradient-from),rgba(8,145,178,0.1),var(--tw-gradient-to)}
.text-white{color:#fff}
.text-slate-200{color:#e2e8f0}
.text-slate-300{color:#cbd5e1}
.text-slate-400{color:#94a3b8}
.text-slate-500{color:#64748b}
.text-slate-600{color:#475569}
.text-slate-700{color:#334155}
.text-slate-800{color:#1e293b}
.text-indigo-400{color:#818cf8}
.text-cyan-400{color:#22d3ee}
.text-rose-500{color:#f43f5e}

/* ── Borders ── */
.border{border-width:1px}
.border-t{border-top-width:1px}
.border-b{border-bottom-width:1px}
.border-white\/5{border-color:rgba(255,255,255,0.05)}
.border-white\/10{border-color:rgba(255,255,255,0.1)}
.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}
.divide-white\/5>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,255,255,0.05)}

/* ── Border Radius ── */
.rounded{border-radius:0.25rem}
.rounded-md{border-radius:0.375rem}
.rounded-lg{border-radius:0.5rem}
.rounded-xl{border-radius:0.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}

/* ── Effects ── */
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1)}
.shadow-black{--tw-shadow-color:#000}
.shadow-cyan-900\/20{--tw-shadow-color:rgba(22,78,99,0.2)}
.opacity-75{opacity:0.75}
.opacity-80{opacity:0.8}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.pointer-events-none{pointer-events:none}

/* ── Aspect Ratio ── */
.aspect-video{aspect-ratio:16/9}
.aspect-\[21\/9\]{aspect-ratio:21/9}
.aspect-\[16\/10\]{aspect-ratio:16/10}

/* ── Object Fit ── */
.object-cover{object-fit:cover}

/* ── Transitions / Animations ── */
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.duration-300{transition-duration:300ms}
.duration-500{transition-duration:500ms}
.duration-700{transition-duration:700ms}
.hover\:text-white:hover{color:#fff}
.hover\:text-indigo-300:hover{color:#a5b4fc}
.hover\:text-indigo-400:hover{color:#818cf8}
.hover\:opacity-90:hover{opacity:0.9}
.hover\:bg-zinc-800:hover{background-color:#27272a}
.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.animate-ping{animation:ping 1s cubic-bezier(0,0,0.2,1) infinite}
@keyframes ping{75%,100%{transform:scale(2);opacity:0}}

/* ── Tables ── */
.border-collapse{border-collapse:collapse}

/* ============================================================
   Responsive Overrides — md (768px)
   ============================================================ */
@media(min-width:768px){
  .md\:flex{display:flex}
  .md\:flex-row{flex-direction:row}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:h-9{height:2.25rem}
  .md\:text-right{text-align:right}
  .md\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .md\:text-5xl{font-size:3rem;line-height:1}
  .md\:items-end{align-items:flex-end}
  .md\:p-12{padding:3rem}
}

/* ============================================================
   Responsive Overrides — sm (640px)
   ============================================================ */
@media(min-width:640px){
  .sm\:inline{display:inline}
  .sm\:text-6xl{font-size:3.75rem;line-height:1}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ============================================================
   Responsive Overrides — lg (1024px)
   ============================================================ */
@media(min-width:1024px){
  .lg\:flex{display:flex}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
  .lg\:col-span-5{grid-column:span 5/span 5}
  .lg\:col-span-7{grid-column:span 7/span 7}
}

