/* DJ Ambi theme tokens (Paul's palette). Never white text on --neon-red; ink text on cyan. */
@font-face{font-family:"Barlow Condensed";src:url(/fonts/barlow-condensed-latin-800-italic.woff2) format("woff2");font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(/fonts/barlow-condensed-latin-700-italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Archivo";src:url(/fonts/archivo-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url(/fonts/archivo-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url(/fonts/archivo-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{
  --ink:#07070A; --surface-c:#111318; --line-c:#262A33; --neon-red:#FF2A3D; --red-deep:#D11A2A;
  --cyan:#19F0F0; --teal:#3CC8B4; --white:#F5F7FA; --muted-c:#A7ADBA;
  --bg:var(--ink); --surface:var(--surface-c); --band:var(--surface-c); --line:var(--line-c);
  --text:var(--white); --muted:var(--muted-c); --heading:var(--white);
  --accent:var(--red-deep); --accent-text:#fff; --accent-2:var(--cyan);
  --link:var(--cyan); --focus:var(--cyan); --popular:var(--cyan); --popular-text:var(--ink);
  --font-display:"Barlow Condensed","Arial Narrow","Roboto Condensed",sans-serif-condensed,Impact,sans-serif;
  --font-body:"Archivo","Helvetica Neue",Arial,system-ui,sans-serif;
  --display-weight:800; --display-style:italic; --display-transform:uppercase; --display-tracking:.01em;
  --fs-h1:clamp(3.5rem,13vw,8rem); --fs-h2:clamp(2.25rem,6vw,4rem); --fs-body:1.0625rem;
  --radius:16px; --radius-sm:10px; --radius-pill:999px;
  --space:clamp(4rem,9vw,7rem); --gap:clamp(1rem,2.5vw,1.75rem); --wrap:1180px;
  --shadow:0 0 24px rgba(255,42,61,.35);
}

/* ==== Spruce base components. Uses only theme tokens; put client-specific design in site.css. ==== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--text);font:400 var(--fs-body)/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
picture{display:block}
a{color:var(--link)}
a:focus-visible,summary:focus-visible,.btn:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight);font-style:var(--display-style);text-transform:var(--display-transform);letter-spacing:var(--display-tracking);color:var(--heading);line-height:1.05;margin:0 0 .5em}
h1{font-size:var(--fs-h1)} h2{font-size:var(--fs-h2)} h3{font-size:1.35rem}
p{margin:0 0 1em}
ul{padding:0;margin:0;list-style:none}
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.narrow{max-width:780px}
.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}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-text);padding:.6rem 1rem;z-index:99}
.skip:focus{left:1rem;top:1rem}
.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;color:var(--accent-2);margin-bottom:.6rem}
.lead{font-size:1.15rem;color:var(--muted);max-width:62ch}
.section{padding-block:var(--space)}
/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.4rem;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-text);font-weight:600;text-decoration:none;border:2px solid var(--accent);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-ghost{background:transparent;color:var(--link);border-color:currentColor}
.btn-link{background:none;border:0;color:var(--link);padding-inline:0;text-decoration:underline}
.btn-sm{min-height:40px;padding:.45rem 1rem;font-size:.95rem}
/* header */
.site-header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.header-in{display:flex;align-items:center;gap:1.5rem;min-height:68px}
.brand{display:flex;align-items:center;text-decoration:none;color:var(--heading);font-weight:700;margin-right:auto}
.brand img{height:36px;width:auto}
.nav ul{display:flex;gap:1.4rem}
.nav a{color:var(--text);text-decoration:none;font-weight:500}
.nav a:hover{color:var(--link)}
@media (max-width:860px){.nav{display:none}}
/* hero */
.hero{padding-block:clamp(2.5rem,7vw,6rem)}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap);align-items:center}
.hero-note{margin-top:1rem;color:var(--muted);font-size:.95rem}
@media (max-width:860px){.hero-in{grid-template-columns:1fr}}
/* cards */
.cards{display:grid;gap:var(--gap);margin-top:2rem}
.cols-2{grid-template-columns:repeat(2,1fr)} .cols-3{grid-template-columns:repeat(3,1fr)} .cols-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.cols-3,.cols-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.cards{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}
.card-img{border-radius:var(--radius-sm);margin-bottom:1rem}
/* pricing */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--gap);margin-top:2.5rem;align-items:start}
.plan{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.6rem;display:flex;flex-direction:column}
.plan.is-popular{border:2px solid var(--popular)}
.plan-flag{position:absolute;top:-.85rem;left:50%;transform:translateX(-50%);background:var(--popular);color:var(--popular-text);border-radius:var(--radius-pill);padding:.2rem .9rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;margin:0}
.plan-name{margin-bottom:.25rem}
.price{font-family:var(--font-display);font-size:2.6rem;line-height:1;margin:.2rem 0 .4rem;color:var(--heading)}
.price .unit{font-size:1rem;font-family:var(--font-body);color:var(--muted)}
.feat{margin:1.2rem 0 1.6rem;display:grid;gap:.45rem}
.feat li{padding-left:1.6rem;position:relative}
.feat .yes::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.feat .no{color:var(--muted);text-decoration:line-through}
.feat .no::before{content:"✕";position:absolute;left:0}
.plan-cta{margin-top:auto}
.fine{margin-top:2rem;color:var(--muted);font-size:.95rem;display:grid;gap:.3rem}
/* gallery */
.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(150px,22vw,280px);grid-auto-flow:dense;gap:.75rem;margin-top:2rem}
.tile figure{margin:0;height:100%;position:relative;overflow:hidden;border-radius:var(--radius-sm)}
.tile picture,.tile img{width:100%;height:100%;object-fit:cover}
.tile.tall{grid-row:span 2} .tile.wide{grid-column:span 2}
.tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:.6rem .8rem;font-size:.85rem}
@media (max-width:700px){.grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:42vw}}
/* about */
.about-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,5vw,4rem);align-items:center}
.about-media img{border-radius:var(--radius)}
.ticks li{padding-left:1.5rem;position:relative;margin-bottom:.4rem}
.ticks li::before{content:"✓";position:absolute;left:0;color:var(--accent-2);font-weight:700}
@media (max-width:860px){.about-in{grid-template-columns:1fr}}
/* faq */
.qa{display:grid;gap:.6rem;margin-top:1.5rem}
.qa details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}
.qa summary{cursor:pointer;padding:1rem 1.2rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--accent-2)}
.qa details[open] summary::after{content:"–"}
.qa .a{padding:0 1.2rem 1rem;color:var(--muted)}
/* band */
.band{position:relative;overflow:hidden;background:var(--band);padding-block:var(--space)}
.band-bg{position:absolute;inset:0;opacity:.25}
.band-bg img{width:100%;height:100%;object-fit:cover}
.band-in{position:relative}
/* contact */
.contact-in{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--gap);align-items:start}
.contact-card h3{font-size:1.05rem;margin-top:1rem}
.contact-card h3:first-child{margin-top:0}
.hours li{display:flex;justify-content:space-between;gap:1rem}
.socials{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.socials a{display:inline-block;padding:.45rem .9rem;border:1px solid var(--line);border-radius:var(--radius-pill);text-decoration:none}
.socials span{color:var(--muted)}
@media (max-width:860px){.contact-in{grid-template-columns:1fr}}
/* footer */
.site-footer{border-top:1px solid var(--line);padding-block:2.5rem 1.5rem;font-size:.95rem}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem}
.foot-name{font-weight:700;margin-bottom:.2rem}
.foot-tag{color:var(--muted)}
.foot-links{display:flex;flex-wrap:wrap;gap:1rem}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}
.foot-base p{margin:0}
.credit a{color:inherit}
/* sticky mobile CTA bar */
.cta-bar{display:none}
@media (max-width:700px){
  .cta-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom));gap:.5rem}
  .cta-bar a{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;color:var(--link);border:1px solid var(--line)}
  .cta-bar a.is-primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}
  body{padding-bottom:76px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Spruce Website Co. social icon row. Uses the sprite social-icons.svg (fill="currentColor"). */
.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;            /* 44x44 minimum tap target (WCAG 2.5.5 / Apple HIG) */
  height: 44px;
  border-radius: 50%;
  color: inherit;         /* icon color = text color; override per site */
  text-decoration: none;
  transition: color .15s ease, background-color .15s ease, transform .15s ease;
}
.social-links svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}
.social-links a:hover {
  background-color: rgba(127, 127, 127, .15);
  transform: translateY(-1px);
}
.social-links a:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 2px;
}
/* Optional: brand color on hover. Keep X, TikTok, Threads mono (black/white only). */
.social-links a.is-brand-hover:hover[data-network="facebook"]  { color: #0866FF; }
.social-links a.is-brand-hover:hover[data-network="youtube"]   { color: #FF0000; }
.social-links a.is-brand-hover:hover[data-network="linkedin"]  { color: #0A66C2; }
.social-links a.is-brand-hover:hover[data-network="pinterest"] { color: #BD081C; }
.social-links a.is-brand-hover:hover[data-network="spotify"]   { color: #1ED760; }
.social-links a.is-brand-hover:hover[data-network="soundcloud"]{ color: #FF5500; }
.social-links a.is-brand-hover:hover[data-network="discord"]   { color: #5865F2; }
.social-links a.is-brand-hover:hover[data-network="whatsapp"]  { color: #25D366; }
.social-links a.is-brand-hover:hover[data-network="linktree"]  { color: #43E55E; }
.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
@media (prefers-reduced-motion: reduce) {
  .social-links a { transition: none; }
  .social-links a:hover { transform: none; }
}

/* ===== DJ Ambi design layer ===== */
h1,h2,h3{line-height:.9}
h3{font-weight:700}
a:focus-visible,summary:focus-visible,.btn:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.eyebrow{font:700 italic 1.05rem/1 var(--font-display);letter-spacing:.08em;color:var(--cyan)}
.lead{color:#C9CED8}
/* header */
.site-header{background:rgba(7,7,10,.86);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.brand img{height:34px;width:auto}
.nav a{font:700 italic 1.15rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--white)}
.nav a:hover{color:var(--cyan)}
/* buttons */
.btn{font:700 italic 1.2rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.06em;background:var(--red-deep);border-color:var(--red-deep);color:#fff;box-shadow:0 0 0 rgba(255,42,61,0)}
.btn:hover{box-shadow:0 0 22px rgba(255,42,61,.55)}
.btn-ghost{background:transparent;color:var(--cyan);border-color:var(--cyan)}
.btn-ghost:hover{box-shadow:0 0 22px rgba(25,240,240,.35)}
.btn-primary::after{content:"→";margin-left:.5rem;font-style:normal}
/* hero */
.dj-hero{position:relative;overflow:hidden;padding-block:clamp(2rem,6vw,5.5rem) clamp(2.5rem,5vw,4rem)}
.dj-hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:70vw;height:70vw;max-width:900px;max-height:900px;background:radial-gradient(closest-side,rgba(255,42,61,.18),transparent);pointer-events:none}
.dj-hero .hero-in{grid-template-columns:1.05fr .95fr;position:relative}
.hero-ring{order:2;display:flex;justify-content:center}
.badge{display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-pill);padding:.4rem .9rem;font-size:.9rem;font-weight:600;margin-bottom:1.2rem}
.badge .dot{width:9px;height:9px;border-radius:50%;background:var(--neon-red);box-shadow:0 0 10px var(--neon-red);animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}
.hero-mark{margin:0 0 .6rem;font-size:var(--fs-h1)}
.hero-mark img{width:min(100%,560px);height:auto}
.mobile-name{display:none}
.kicker{font:700 italic clamp(1.3rem,2.6vw,1.75rem)/1 var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--cyan);margin:0 0 1rem}
.dj-hero .lead{font-size:clamp(1.05rem,1.6vw,1.2rem)}
/* ring */
@property --a{syntax:"<angle>";inherits:false;initial-value:200deg}
.ring{position:relative;box-sizing:border-box;flex:none;align-self:center;width:min(78vw,440px);height:auto;aspect-ratio:1/1;border-radius:50%;padding:6%;
  background:conic-gradient(from var(--a),var(--neon-red) 0 70%,var(--cyan) 70% 88%,var(--neon-red) 88%);
  box-shadow:0 0 18px rgba(255,42,61,.75),0 0 60px rgba(255,42,61,.45),0 0 120px rgba(25,240,240,.18);
  animation:spin 12s linear infinite}
.ring::before{content:"";position:absolute;inset:3%;border-radius:50%;background:var(--ink)}
.ring::after{content:"";position:absolute;inset:-4%;border-radius:50%;box-shadow:0 0 50px 12px rgba(255,42,61,.45),0 0 90px 20px rgba(25,240,240,.15);opacity:.5;animation:breathe 3s ease-in-out infinite alternate;pointer-events:none}
.ring picture{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:1/1}
.ring img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 50%;border-radius:50%;box-shadow:inset 0 0 0 3px #fff,0 0 24px rgba(255,255,255,.35);outline:3px solid #fff;outline-offset:-3px}
@keyframes spin{to{--a:560deg}}
@keyframes breathe{from{opacity:.25}to{opacity:.85}}
@media (max-width:860px){
  .dj-hero .hero-in{grid-template-columns:1fr;text-align:center;justify-items:center}
  .hero-ring{order:0;margin-bottom:1.2rem}
  .dj-hero .btns{justify-content:center}
  .dj-hero .lead{margin-inline:auto}
}
@media (max-width:720px){
  .hero-mark img{display:none}       /* header already shows the logo on mobile */
  .mobile-name{display:inline}
  .hero-mark{margin:0}
  .badge{font-size:.82rem}
  .dj-hero .btns .btn{flex:1 1 100%}
}
/* equalizer strip */
.eq-strip{border-block:1px solid var(--line);background:linear-gradient(180deg,var(--ink),var(--surface));padding:1.6rem 0 1.4rem;text-align:center}
.eq{display:flex;justify-content:center;align-items:flex-end;gap:3px;height:72px;margin:0 auto 1rem}
.eq span{width:4px;height:100%;border-radius:3px 3px 0 0;background:linear-gradient(to top,var(--neon-red),var(--cyan));box-shadow:0 0 8px rgba(255,42,61,.55);transform-origin:bottom;transform:scaleY(var(--static,.5));animation:eq1 1.2s ease-in-out infinite alternate}
.eq.is-paused span{animation-play-state:paused}
.eq span:nth-child(5n+1){animation-name:eq1;animation-duration:1.1s;--static:.45}
.eq span:nth-child(5n+2){animation-name:eq2;animation-duration:.9s;--static:.75}
.eq span:nth-child(5n+3){animation-name:eq3;animation-duration:1.4s;--static:.9}
.eq span:nth-child(5n+4){animation-name:eq4;animation-duration:1.25s;--static:.6}
.eq span:nth-child(5n){animation-name:eq5;animation-duration:1.6s;--static:.3}
.eq span:nth-child(3n){animation-delay:-.35s}
.eq span:nth-child(3n+1){animation-delay:-.7s}
.eq span:nth-child(4n){animation-delay:-1.05s}
.eq span:nth-child(7n){--static:.82}
.eq span:nth-child(-n+3),.eq span:nth-last-child(-n+3){opacity:.55}
@keyframes eq1{0%{transform:scaleY(.2)}50%{transform:scaleY(.85)}100%{transform:scaleY(.4)}}
@keyframes eq2{0%{transform:scaleY(.6)}40%{transform:scaleY(.25)}100%{transform:scaleY(1)}}
@keyframes eq3{0%{transform:scaleY(.35)}60%{transform:scaleY(.95)}100%{transform:scaleY(.55)}}
@keyframes eq4{0%{transform:scaleY(.8)}50%{transform:scaleY(.3)}100%{transform:scaleY(.7)}}
@keyframes eq5{0%{transform:scaleY(.15)}70%{transform:scaleY(.65)}100%{transform:scaleY(.9)}}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.4rem;font:700 italic 1.15rem/1.2 var(--font-display);text-transform:uppercase;letter-spacing:.06em}
.trust li+li::before{content:"·";color:var(--neon-red);margin-right:1.4rem;margin-left:-.1rem}
@media (max-width:700px){.eq{height:48px}.eq span{width:3px}.trust{font-size:1rem;gap:.3rem .9rem}.trust li+li::before{margin-right:.9rem}}
/* pricing */
.pricing .plans{gap:clamp(1rem,2vw,1.5rem);align-items:stretch}
.plan{border:1px solid var(--teal);background:linear-gradient(180deg,#14161c,var(--surface))}
.plan.is-popular{border:2px solid var(--cyan);transform:translateY(-8px);box-shadow:0 0 0 1px rgba(25,240,240,.25),0 0 32px rgba(25,240,240,.28)}
.plan.is-popular.pulse{animation:pulse 1.6s ease-out 1}
@keyframes pulse{0%{box-shadow:0 0 0 1px rgba(25,240,240,.25),0 0 20px rgba(25,240,240,.2)}40%{box-shadow:0 0 0 1px rgba(25,240,240,.6),0 0 70px rgba(25,240,240,.6)}100%{box-shadow:0 0 0 1px rgba(25,240,240,.25),0 0 32px rgba(25,240,240,.28)}}
.plan-flag{font:800 italic .95rem/1 var(--font-display);letter-spacing:.1em;padding:.4rem 1rem;box-shadow:0 0 16px rgba(25,240,240,.6)}
.plan-name{font-size:2.2rem}
.price{color:var(--neon-red);font-size:clamp(3rem,6vw,3.8rem);font-weight:800;font-style:italic;text-shadow:0 0 18px rgba(255,42,61,.45)}
.plan-sum{font:700 italic 1.25rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--white)}
.feat .yes::before{color:var(--teal)}
.feat .no{color:#7d8391}
.plan-cta{width:100%}
.fine{border-top:1px solid var(--line);padding-top:1.2rem;color:var(--muted)}
.fine strong{color:var(--white)}
@media (max-width:860px){.plan.is-popular{transform:none}}
/* school band */
.school-band{border-top:2px solid var(--neon-red);box-shadow:0 -1px 18px rgba(255,42,61,.35);text-align:center}
.school-band .band-bg{opacity:.25}
.school-band .band-in{max-width:760px}
.school-band h2{text-shadow:-3px 0 var(--cyan),3px 0 var(--neon-red)}
.school-band .btns{justify-content:center}
/* gallery */
.gallery .grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(160px,24vw,300px)}
.tile figure{border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s}
.tile figure:hover,.tile figure:focus-within{border-color:var(--cyan);box-shadow:0 0 18px rgba(25,240,240,.35)}
.tile img{filter:saturate(1.1) contrast(1.05)}
.tile figure::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,7,10,.85),transparent 55%);pointer-events:none}
.tile figcaption{z-index:1;font:700 italic 1.1rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.06em;padding:.8rem 1rem}
@media (max-width:700px){.gallery .grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:44vw}.gallery .tile.tall{grid-row:auto}}
/* about */
.about-media img{border:1px solid var(--line);box-shadow:0 0 40px rgba(255,42,61,.2)}
.about .quote{display:block;border-left:3px solid var(--neon-red);padding-left:1rem;font:700 italic 1.6rem/1.1 var(--font-display);text-transform:uppercase;color:var(--white)}
.ticks li::before{color:var(--teal)}
/* faq */
.qa summary{font-weight:600}
.qa summary::after{color:var(--cyan)}
.qa .a{color:#C9CED8}
/* booking */
.booking{text-align:center;background:radial-gradient(60% 70% at 50% 40%,rgba(255,42,61,.14),transparent)}
.booking-in{max-width:820px}
.booking-mark{width:min(88%,520px);margin:0 auto 1.6rem}
.booking .lead{margin-inline:auto}
.booking .btns{justify-content:center}
.booking-email{margin-top:1.2rem;font-weight:600}
.booking .socials{justify-content:center}
.socials a{color:var(--white);border-color:var(--line)}
.socials a:hover{border-color:var(--cyan)}
.area{margin-top:1.4rem;color:var(--muted)}
/* footer + bar */
.site-footer{background:#0b0c10}
.foot-name{font:800 italic 1.6rem/1 var(--font-display);text-transform:uppercase}
.foot-links a{color:var(--white)}
.cta-bar{background:rgba(17,19,24,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cta-bar a{font:700 italic 1.1rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--cyan)}
.cta-bar a.is-primary{background:var(--red-deep);border-color:var(--red-deep);color:#fff}
/* scroll-in heads: motion.js adds .reveal to <body> and .in to each head as it enters (no JS = always visible) */
.reveal .section h2,.reveal .band h2{transition:opacity .6s ease,transform .6s ease}
.reveal .section h2:not(.in),.reveal .band h2:not(.in){opacity:0;transform:translateY(16px)}
.notfound{text-align:center;min-height:50vh}
.notfound .btns{justify-content:center}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .eq span{transform:scaleY(var(--static,.5))}
  .ring::after{opacity:.6}
}
/* ===== Ambi Music Studio v3 additions (same palette, fonts, motion) ===== */
.brand img{height:44px;width:auto}
.header-in{gap:1.2rem}
.nav ul{gap:1.15rem}
.nav a{font-size:1.08rem}
.nav a[aria-current=page]{color:var(--cyan);text-shadow:0 0 12px rgba(25,240,240,.5)}
.header-cta{margin-left:auto}
.nav{margin-left:auto}
.nav + .header-cta{margin-left:0}
.menu{display:none;position:static}
.menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:.4rem .9rem;border:1px solid var(--line);border-radius:var(--radius-pill);font:700 italic 1.1rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.06em}
.menu summary::-webkit-details-marker{display:none}
.menu-ico{width:16px;height:2px;background:var(--cyan);box-shadow:0 -5px 0 var(--cyan),0 5px 0 var(--cyan)}
.menu[open] summary{border-color:var(--cyan)}
.menu nav{position:absolute;left:0;right:0;top:100%;background:rgba(7,7,10,.97);border-bottom:1px solid var(--line);padding:.6rem 1.25rem 1.2rem}
.menu ul{display:grid;gap:.2rem;width:min(100%,var(--wrap));margin-inline:auto}
.menu a{display:block;padding:.75rem 0;border-bottom:1px solid var(--line);color:var(--white);text-decoration:none;font:700 italic 1.45rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.05em}
.menu a[aria-current=page]{color:var(--cyan)}
@media (max-width:1120px){.nav{display:none}.menu{display:block}.header-cta{margin-left:auto}}
@media (max-width:600px){.header-cta{display:none}.menu{margin-left:auto}.brand img{height:40px}}
.site-header{position:sticky}
/* hero (umbrella) */
.hero-mark img{width:min(100%,540px)}
.home .hero-mark img{width:min(100%,500px)}
.mobile-only{display:none}
.subline{font:700 italic clamp(1.15rem,2.2vw,1.45rem)/1.2 var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--white);margin:0 0 1rem}
.subline .sep{color:var(--neon-red)}
@media (max-width:720px){.mobile-only{display:block}}
/* studio statement under the hero */
.statement{font:800 italic clamp(1.5rem,3.6vw,2.6rem)/1.05 var(--font-display);text-transform:uppercase;letter-spacing:.01em;max-width:30ch;margin-inline:auto;text-shadow:-2px 0 rgba(25,240,240,.55),2px 0 rgba(255,42,61,.55)}
/* three paths */
.path-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);margin-top:2rem}
.path-card{display:flex;flex-direction:column;gap:.8rem;border:1px solid var(--teal);border-radius:var(--radius);padding:1.6rem;background:linear-gradient(180deg,#14161c,var(--surface))}
.path-card.is-live{border:2px solid var(--neon-red);box-shadow:0 0 28px rgba(255,42,61,.28)}
.path-card h3{font-size:clamp(1.9rem,3vw,2.4rem)}
.path-card p{color:#C9CED8}
.path-status{align-self:flex-start;font:800 italic .95rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.1em;padding:.35rem .8rem;border-radius:var(--radius-pill);border:1px solid var(--cyan);color:var(--cyan)}
.is-live .path-status{background:var(--red-deep);border-color:var(--red-deep);color:#fff}
.path-cta{margin-top:auto;width:100%}
.path-more{margin-top:1.4rem;text-align:center}
.path-more a{color:var(--cyan);font-weight:600}
@media (max-width:900px){.path-cards{grid-template-columns:1fr}}
/* end band */
.end-band{text-align:center;border-top:1px solid var(--line);background:radial-gradient(60% 80% at 50% 50%,rgba(25,240,240,.08),transparent)}
.end-band .band-in{max-width:760px}
.end-band .btns{justify-content:center}
/* sub-page head */
.pagehead{position:relative;overflow:hidden;padding-block:clamp(2.5rem,7vw,5.5rem) 0;text-align:center;border-bottom:1px solid var(--line)}
.pagehead::before{content:"";position:absolute;inset:-30% 20% auto;height:80%;background:radial-gradient(closest-side,rgba(255,42,61,.16),transparent);pointer-events:none}
.pagehead .wrap{position:relative}
.pagehead h1{font-size:clamp(2.8rem,8vw,5.6rem);text-shadow:-3px 0 var(--cyan),3px 0 var(--neon-red);margin-bottom:1rem}
.pagehead .lead{margin-inline:auto}
.badge.soon .dot{background:var(--cyan);box-shadow:0 0 10px var(--cyan)}
.eq-mini{height:44px;margin:2.2rem auto 0}
/* inquiry form */
.inquiry h2{margin-bottom:1.4rem}
.inquiry-form{display:grid;gap:1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.2rem,3vw,2rem)}
.field label{display:block;font-weight:600;margin-bottom:.35rem}
.req{color:var(--neon-red)}
.hint{color:var(--muted);font-size:.92rem;margin:-.1rem 0 .4rem}
.inquiry-form input,.inquiry-form textarea{width:100%;font:inherit;color:var(--white);background:var(--ink);border:1px solid #3a3f4b;border-radius:var(--radius-sm);padding:.75rem .9rem;min-height:48px}
.inquiry-form textarea{resize:vertical;min-height:130px}
.inquiry-form input:focus,.inquiry-form textarea:focus{outline:3px solid var(--cyan);outline-offset:1px;border-color:var(--cyan)}
.inquiry-form button{justify-self:start;cursor:pointer}
.inquiry-form button[disabled]{opacity:.6;cursor:wait}
.cf-turnstile{min-height:65px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status:empty{display:none}
.form-status{border-radius:var(--radius-sm);padding:1rem;border:1px solid var(--line);display:grid;gap:.8rem;justify-items:start}
.form-status.is-ok{border-color:var(--teal)}
.form-status.is-err{border-color:var(--neon-red)}
.form-alt{margin-top:1.2rem;color:var(--muted)}
.form-alt a{color:var(--cyan)}
/* legal drafts */
.draft-banner{border:2px dashed var(--neon-red);border-radius:var(--radius-sm);padding:.9rem 1.1rem;margin-bottom:1.6rem;background:rgba(255,42,61,.08)}
.legal h1{font-size:clamp(2.6rem,7vw,4.5rem);margin-bottom:.6rem}
.legal h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:2rem 0 .7rem}
.legal ul{list-style:disc;padding-left:1.3rem;display:grid;gap:.5rem}
.legal p,.legal li{color:#C9CED8}
.legal a{color:var(--cyan)}
.updated{color:var(--muted);font-size:.95rem}
/* videos */
.video-list{display:grid;gap:.6rem;margin-bottom:1rem}
.video-list a{color:var(--cyan)}
/* footer */
.foot-mark{width:150px;height:auto;margin-bottom:.8rem}
.foot-name{font-size:1.3rem}
.foot-cols{display:flex;gap:3rem;flex-wrap:wrap}
.foot-cols .foot-links{display:grid;gap:.5rem}
.foot-base a{color:var(--cyan)}
/* footer social icons (Paul's Spruce set, mono currentColor; marks never recolored) */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.foot-social .foot-h{margin:0 0 .5rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--white);opacity:.75}
.foot-social .social-links{gap:6px;margin-left:-10px}
.foot-social .social-links a{color:#fff} /* pure white: TikTok/X/Threads may only be black or white */
.foot-social .social-links a:hover{background-color:rgba(255,255,255,.12)}
.contactinfo .lead a{color:var(--cyan)}
