/* James Marketing — compiled design tokens + minimal utility layer
   Powered by Tailwind-style classes used by the theme templates.
   Loaded via wp_enqueue_style. ~Lightweight, no build step required. */

:root{
  --background:230 60% 5%;
  --foreground:0 0% 100%;
  --card:222 47% 11%;
  --card-foreground:0 0% 100%;
  --primary:330 85% 58%;
  --primary-foreground:0 0% 100%;
  --secondary:222 47% 11%;
  --muted:222 40% 14%;
  --muted-foreground:215 20% 65%;
  --accent:340 90% 65%;
  --border:322 30% 18%;
  --violet:290 80% 60%;
  --cta:142 71% 45%;
  --radius:.875rem;
  --gradient-primary:linear-gradient(135deg,hsl(330,85%,58%),hsl(290,80%,60%));
  --gradient-hero:radial-gradient(ellipse at top,hsl(330 85% 30% / .35) 0%,hsl(230 60% 5%) 55%),linear-gradient(180deg,hsl(230 60% 5%),hsl(322 47% 8%));
  --shadow-glow:0 0 60px -10px hsl(330 85% 58% / .45);
  --shadow-cta:0 0 40px -8px hsl(142 71% 45% / .55);
  --shadow-card:0 12px 40px -12px hsl(230 60% 2% / .6);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0 solid hsl(var(--border))}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;background:hsl(var(--background));color:hsl(var(--foreground));line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:'Space Grotesk',sans-serif;line-height:1.2}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button{cursor:pointer;background:none;font:inherit;color:inherit}
input,textarea,select{font:inherit;color:inherit}

/* Layout */
.container{width:100%;max-width:1200px;margin:0 auto}
.mx-auto{margin-left:auto;margin-right:auto}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-12{padding-top:3rem;padding-bottom:3rem}.py-20{padding-top:5rem;padding-bottom:5rem}
.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-32{padding-top:8rem}
.pb-6{padding-bottom:1.5rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}
.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}
.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}
.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}

.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.block{display:block}.hidden{display:none}
.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.flex-col{flex-direction:column}.flex-1{flex:1 1 0%}
.text-center{text-align:center}.text-left{text-align:left}
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}
.top-0{top:0}.left-0{left:0}.right-0{right:0}.bottom-6{bottom:1.5rem}.right-6{right:1.5rem}
.inset-0{inset:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}
.overflow-hidden{overflow:hidden}.min-h-screen{min-height:100vh}
.w-full{width:100%}.h-full{height:100%}.h-16{height:4rem}.w-8{width:2rem}.h-8{height:2rem}.w-9{width:2.25rem}.h-9{height:2.25rem}.w-14{width:3.5rem}.h-14{height:3.5rem}
.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}
.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[16\/10\]{aspect-ratio:16/10}

/* Typography */
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.4}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem;line-height:1.1}.text-6xl{font-size:3.75rem;line-height:1}
.font-sans{font-family:'Inter',sans-serif}.font-heading{font-family:'Space Grotesk',sans-serif}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}
.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.tracking-tight{letter-spacing:-.025em}.leading-relaxed{line-height:1.7}.leading-none{line-height:1}

/* Colors */
.text-foreground{color:hsl(var(--foreground))}
.text-muted-foreground{color:hsl(var(--muted-foreground))}
.text-primary-foreground{color:hsl(var(--primary-foreground))}
.text-accent{color:hsl(var(--accent))}
.text-cta{color:hsl(var(--cta))}
.text-white{color:#fff}
.bg-background{background-color:hsl(var(--background))}
.bg-card{background-color:hsl(var(--card))}
.bg-card\/30{background-color:hsl(var(--card)/.3)}
.bg-secondary\/60{background-color:hsl(var(--secondary)/.6)}
.bg-cta\/15{background-color:hsl(var(--cta)/.15)}
.bg-primary\/20{background-color:hsl(var(--primary)/.2)}
.bg-violet\/20{background-color:hsl(var(--violet)/.2)}
.bg-primary\/30{background-color:hsl(var(--primary)/.3)}
.border{border-width:1px}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}
.border-border{border-color:hsl(var(--border))}.border-primary\/40{border-color:hsl(var(--primary)/.4)}

.bg-gradient-primary{background-image:var(--gradient-primary)}
.bg-gradient-hero{background-image:var(--gradient-hero)}
.text-gradient{background-image:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Effects */
.shadow-glow{box-shadow:var(--shadow-glow)}
.shadow-cta{box-shadow:var(--shadow-cta)}
.shadow-card{box-shadow:var(--shadow-card)}
.blur-\[120px\]{filter:blur(120px)}.blur-\[140px\]{filter:blur(140px)}.blur-2xl{filter:blur(40px)}.blur-3xl{filter:blur(64px)}
.opacity-20{opacity:.2}
.backdrop-blur-xl{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}

.glass{background:linear-gradient(145deg,hsl(222 47% 13% / .55),hsl(222 47% 9% / .35));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid hsl(222 30% 25% / .4)}

/* Transitions / hover */
.transition-all{transition:all .3s ease}.transition-colors{transition:color .3s ease,background-color .3s ease,border-color .3s ease}.transition-opacity{transition:opacity .3s ease}.transition-transform{transition:transform .3s ease}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}
.hover\:opacity-90:hover{opacity:.9}.hover\:text-foreground:hover{color:hsl(var(--foreground))}
.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}.hover\:shadow-glow:hover{box-shadow:var(--shadow-glow)}.hover\:scale-105:hover{transform:scale(1.05)}

/* Form inputs */
input,textarea{outline:none;transition:box-shadow .2s ease,border-color .2s ease}
input:focus,textarea:focus{box-shadow:0 0 0 2px hsl(var(--primary))}
.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}

/* Reveal animation */
[data-jm-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
[data-jm-reveal].is-visible{opacity:1;transform:none}

/* Skip link */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:.5rem 1rem;margin:0;overflow:visible;clip:auto;background:hsl(var(--primary));color:#fff;border-radius:.5rem}

/* Grid utilities */
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.space-y-2 > * + *{margin-top:.5rem}.space-y-3 > * + *{margin-top:.75rem}.space-y-4 > * + *{margin-top:1rem}

/* Nav scrolled state */
[data-jm-nav].is-scrolled{background:hsl(var(--background)/.9);backdrop-filter:blur(20px);border-bottom:1px solid hsl(var(--border));box-shadow:var(--shadow-card)}

/* Responsive */
@media (min-width:640px){
  .sm\:flex-row{flex-direction:row}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:768px){
  .md\:flex{display:flex}.md\:hidden{display:none}.md\:h-20{height:5rem}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .md\:text-5xl{font-size:3rem;line-height:1.1}.md\:text-lg{font-size:1.125rem}.md\:p-6{padding:1.5rem}
  .md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:p-8{padding:2rem}
}
@media (min-width:1024px){
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:grid-cols-\[1\.1fr_1fr\]{grid-template-columns:1.1fr 1fr}
  .lg\:grid-cols-\[1fr_320px\]{grid-template-columns:1fr 320px}
  .lg\:gap-14{gap:3.5rem}.lg\:text-left{text-align:left}.lg\:justify-start{justify-content:flex-start}.lg\:items-start{align-items:flex-start}.lg\:mx-0{margin-left:0;margin-right:0}
  .lg\:text-\[3\.25rem\]{font-size:3.25rem;line-height:1.1}
}
@media (min-width:1280px){
  .xl\:text-6xl{font-size:3.75rem;line-height:1}
}

/* WP core blocks (gallery, captions, alignments) */
.alignwide{margin-left:-2rem;margin-right:-2rem}
.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw}
.wp-caption,.wp-caption-text{font-size:.85rem;color:hsl(var(--muted-foreground));text-align:center}

/* Prose for posts */
.prose-invert{color:hsl(var(--muted-foreground))}
.prose-invert h1,.prose-invert h2,.prose-invert h3,.prose-invert h4{color:hsl(var(--foreground));margin:1.5em 0 .5em;font-weight:700}
.prose-invert p{margin:1em 0}
.prose-invert a{color:hsl(var(--accent));text-decoration:underline}
.prose-invert ul,.prose-invert ol{margin:1em 0;padding-left:1.5em}
.prose-invert blockquote{border-left:3px solid hsl(var(--primary));padding-left:1em;color:hsl(var(--foreground));font-style:italic;margin:1.5em 0}
.prose-invert code{background:hsl(var(--secondary));padding:.15em .4em;border-radius:.3em;font-size:.9em}
.prose-invert img{border-radius:.75rem;margin:1.5em 0}
