@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&display=swap");

@font-face{
  font-family:"Kerisha Current";
  src:url("fonts/kerisha-current-v2.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

:root{
  --ink:#040812;
  --ocean:#071828;
  --deep:#0c2630;
  --paper:#f7f5ff;
  --gold:#d4a35d;
  --turquoise:#20f5d0;
  --cyan:#47cfff;
  --violet:#7956ff;
  --magenta:#ff4b9f;
  --muted:#b8cbd2;
  --line:rgba(71,207,255,.2);
  --page-accent:var(--turquoise);
  --page-accent-rgb:32,245,208;
  --image-portal:polygon(50% 0,80% 8%,97% 31%,100% 58%,88% 86%,50% 100%,12% 86%,0 58%,3% 31%,20% 8%);
  --max:1180px;
  --display:"Kerisha Current","Century Gothic","Avenir Next",sans-serif;
  --body:"DM Sans",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  position:relative;
  min-height:100%;
  overflow-x:hidden;
  margin:0;
  color:var(--paper);
  background-color:var(--ink);
  background-image:
    linear-gradient(180deg,rgba(10,5,29,.22),rgba(4,8,18,.76)),
    radial-gradient(circle at 77% 14%,rgba(121,86,255,.44),transparent 36rem),
    radial-gradient(circle at 18% 48%,rgba(32,245,208,.16),transparent 42rem),
    radial-gradient(circle at 86% 78%,rgba(170,70,255,.2),transparent 40rem),
    url("ocean-geometry.svg");
  background-size:cover,cover,cover,cover,2480px 1400px;
  background-position:center,center,center,center,center top;
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat-y;
  background-attachment:fixed,fixed,fixed,fixed,fixed;
  font-family:var(--body);
  font-size:16px;
  font-weight:300;
  line-height:1.7;
}
body::before{
  content:"";
  position:fixed;
  z-index:0;
  inset:-18vh -15vw;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 28%,rgba(32,245,208,.2),transparent 26%),
    radial-gradient(ellipse at 72% 22%,rgba(71,207,255,.2),transparent 25%),
    radial-gradient(ellipse at 68% 72%,rgba(121,86,255,.34),transparent 30%),
    radial-gradient(ellipse at 30% 62%,rgba(131,62,255,.18),transparent 24%),
    radial-gradient(ellipse at 20% 80%,rgba(255,75,159,.1),transparent 22%);
  filter:blur(42px);
  transform:translate3d(0,0,0) scale(1.04);
  animation:aurora-drift 18s ease-in-out infinite alternate;
}
body::after{
  content:"";
  position:fixed;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:.15;
  background-image:radial-gradient(circle,rgba(247,245,255,.7) .7px,transparent .8px);
  background-size:22px 22px;
  -webkit-mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);
  mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);
}
@keyframes aurora-drift{to{transform:translate3d(4vw,-3vh,0) scale(1.12) rotate(2deg)}}
main,footer{position:relative;z-index:1}
body.dj-page{--page-accent:var(--violet);--page-accent-rgb:121,86,255}
body.production-page{--page-accent:var(--cyan);--page-accent-rgb:71,207,255}
body.meditations-page{--page-accent:var(--turquoise);--page-accent-rgb:32,245,208}
body.teaching-page{--page-accent:#69dcff;--page-accent-rgb:105,220,255}
body.drums-page{--page-accent:var(--gold);--page-accent-rgb:212,163,93}
body.contact-body{--page-accent:var(--magenta);--page-accent-rgb:255,75,159}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
.content-width{width:min(var(--max),86vw);margin:auto}
.kicker{margin:0 0 1.2rem;color:var(--page-accent);font-size:.8rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 0 18px rgba(var(--page-accent-rgb),.45)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--display);font-weight:400;line-height:1.08;letter-spacing:0;text-transform:uppercase;text-shadow:0 0 28px rgba(var(--page-accent-rgb),.13)}
h1{font-size:clamp(3.8rem,8vw,7.8rem);margin-bottom:1.5rem}
h1 em{font-style:normal;color:var(--page-accent);text-shadow:0 0 24px rgba(var(--page-accent-rgb),.5)}
h2{font-size:clamp(2rem,4vw,4rem)}
.lead{font-size:clamp(1.1rem,1.8vw,1.4rem);color:#e9faff;max-width:680px}

.button{display:inline-flex;align-items:center;justify-content:center;margin-top:1.3rem;padding:.9rem 1.35rem;border:1px solid var(--page-accent);border-radius:99px;color:var(--paper);background:rgba(var(--page-accent-rgb),.08);box-shadow:0 0 24px rgba(var(--page-accent-rgb),.12),inset 0 0 20px rgba(var(--page-accent-rgb),.04);font-size:.82rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .25s}
.button:hover,.button:focus-visible{background:var(--page-accent);color:var(--ink);box-shadow:0 0 34px rgba(var(--page-accent-rgb),.5);transform:translateY(-2px)}
.button.light{color:var(--ink);border-color:rgba(4,8,18,.66);background:rgba(247,245,255,.74)}
.button.light:hover,.button.light:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--paper);box-shadow:0 0 34px rgba(4,8,18,.45)}

.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:78px;padding:1rem 3.5vw;background:linear-gradient(102deg,rgba(39,17,78,.9),rgba(8,32,55,.86) 50%,rgba(67,17,92,.88));border-bottom:1px solid rgba(154,102,255,.46);box-shadow:0 8px 34px rgba(0,0,0,.18),0 1px 22px rgba(121,86,255,.2),inset 0 -1px 0 rgba(71,207,255,.13);backdrop-filter:blur(18px) saturate(155%)}
.logo{width:160px;height:38px}
.logo img{width:100%;height:100%;object-fit:contain}
.site-header nav{display:flex;align-items:center;gap:1.15rem}
.site-header nav a{position:relative;font-size:.72rem;letter-spacing:.09em;color:#c9d9de;white-space:nowrap;transition:color .2s,text-shadow .2s}
.site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-.45rem;height:1px;background:var(--page-accent);box-shadow:0 0 10px var(--page-accent);transition:right .25s}
.site-header nav a:hover,.site-header nav a[aria-current="page"]{color:var(--paper);text-shadow:0 0 14px rgba(var(--page-accent-rgb),.68)}
.site-header nav a:hover::after,.site-header nav a[aria-current="page"]::after{right:0}
.menu-button{display:none;background:none;border:1px solid var(--line);color:var(--paper);padding:.55rem .8rem;border-radius:99px}

.home-hero{position:relative;isolation:isolate;width:min(1360px,94vw);min-height:calc(100svh - 78px);margin:auto;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:6vw;padding:5rem 0}
.home-hero::before{content:"";position:absolute;z-index:-1;width:min(58vw,760px);aspect-ratio:1;left:-2vw;top:50%;transform:translateY(-50%);background:url("portal-geometry.svg") center/contain no-repeat;opacity:.78;filter:drop-shadow(0 0 26px rgba(32,245,208,.22));animation:portal-breathe 8s ease-in-out infinite}
.home-hero::after{content:"";position:absolute;z-index:-2;width:48vw;height:60%;right:-10vw;top:19%;background:radial-gradient(ellipse,rgba(121,86,255,.31),rgba(71,207,255,.13) 38%,transparent 70%);filter:blur(32px);transform:rotate(-10deg)}
@keyframes portal-breathe{50%{opacity:1;filter:drop-shadow(0 0 42px rgba(32,245,208,.34));transform:translateY(-50%) scale(1.025)}}
.hero-copy{position:relative;z-index:2;padding-left:3vw}
.hero-image{position:relative;margin:0;height:min(74vh,780px);overflow:visible;filter:drop-shadow(0 0 9px rgba(32,245,208,.9)) drop-shadow(0 0 27px rgba(121,86,255,.72)) drop-shadow(0 0 48px rgba(255,75,159,.3))}
.hero-image::before{content:none}
.hero-image::after{content:none}
.hero-image img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 42%;clip-path:var(--image-portal);border-radius:0}

.bio{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;padding:9rem 0}
.bio::before{content:"";position:absolute;z-index:-1;width:36vw;aspect-ratio:1;right:-16vw;top:12%;border-radius:50%;background:radial-gradient(circle,rgba(255,75,159,.16),rgba(121,86,255,.08) 46%,transparent 70%);filter:blur(16px)}
.bio h2{max-width:520px}
.bio-copy{font-size:1.08rem;color:#d5e2e5}
.bio-copy p:last-child{font-size:.9rem;color:var(--gold)}

.work{padding:3rem 0 9rem}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.service{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;min-height:190px;padding:2.4rem;border:1px solid rgba(71,207,255,.18);background:linear-gradient(135deg,rgba(9,29,43,.78),rgba(22,14,54,.58));box-shadow:inset 0 0 40px rgba(32,245,208,.025);transition:border-color .3s,transform .3s,box-shadow .3s}
.service::before{content:"";position:absolute;width:180px;aspect-ratio:1;right:-90px;top:-90px;border:1px dashed rgba(32,245,208,.24);border-radius:50%;box-shadow:0 0 34px rgba(121,86,255,.16)}
.service::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:linear-gradient(90deg,var(--turquoise),var(--cyan),var(--violet),var(--magenta));box-shadow:0 0 16px var(--cyan);transition:width .4s}
.service h2{font-size:clamp(1.7rem,3vw,2.85rem);margin:0 0 .35rem;transition:color .25s}
.service p{margin:0;color:var(--muted)}
.service b{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--turquoise)}
.service:hover{transform:translateY(-4px);border-color:rgba(32,245,208,.5);box-shadow:0 16px 54px rgba(0,0,0,.24),0 0 34px rgba(32,245,208,.08)}
.service:hover::after{width:100%}
.service:hover h2{color:var(--paper);text-shadow:0 0 22px rgba(32,245,208,.3)}
.service:last-child{grid-column:1/-1}

.simple-cta{position:relative;overflow:hidden;padding:9rem 7vw;text-align:center;background:linear-gradient(118deg,var(--turquoise),var(--cyan) 36%,var(--violet) 71%,var(--magenta));color:var(--ink)}
.simple-cta::before{content:"";position:absolute;inset:0;background:url("portal-geometry.svg") center/760px no-repeat;opacity:.2;mix-blend-mode:multiply}
.simple-cta>*{position:relative}
.simple-cta .kicker{color:#071828;text-shadow:none}
.simple-cta h2{margin-bottom:.8rem}
.simple-cta h2{text-shadow:none}
.simple-cta>p:not(.kicker){max-width:700px;margin:0 auto 1.5rem}

.page-hero{position:relative;isolation:isolate;width:min(var(--max),86vw);margin:auto;display:grid;grid-template-columns:1fr .78fr;gap:8vw;align-items:center;padding:7rem 0}
.page-hero::before{content:"";position:absolute;z-index:-2;width:640px;aspect-ratio:1;right:-220px;top:50%;transform:translateY(-50%);background:url("portal-geometry.svg") center/contain no-repeat;opacity:.38;filter:hue-rotate(20deg) drop-shadow(0 0 28px rgba(var(--page-accent-rgb),.2));animation:portal-breathe-page 10s ease-in-out infinite}
@keyframes portal-breathe-page{50%{opacity:.55;transform:translateY(-50%) scale(1.035) rotate(2deg)}}
.page-hero h1{font-size:clamp(3.3rem,7vw,6.8rem)}
.page-hero figure{position:relative;margin:0;width:100%;max-width:34rem;justify-self:end;height:auto;aspect-ratio:3/4;overflow:visible;filter:drop-shadow(0 0 9px rgba(var(--page-accent-rgb),.92)) drop-shadow(0 0 27px rgba(121,86,255,.68)) drop-shadow(0 0 48px rgba(255,75,159,.25))}
.page-hero figure::before{content:none}
.page-hero figure::after{content:none}
.page-hero figure img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;clip-path:var(--image-portal)}
.meditations-page .page-hero figure{height:auto;aspect-ratio:1093/1439}
.meditations-page .page-hero figure img{object-fit:contain;object-position:center}
.page-intro{max-width:720px;font-size:1.18rem;color:#d5e4e8}
.page-intro p{margin-top:0}
.page-intro p:last-child{margin-bottom:0}

.details{position:relative;overflow:hidden;background:linear-gradient(128deg,rgba(9,34,47,.94),rgba(20,18,59,.9) 58%,rgba(var(--page-accent-rgb),.13));padding:7rem 0;border-top:1px solid rgba(var(--page-accent-rgb),.26);border-bottom:1px solid rgba(var(--page-accent-rgb),.26);box-shadow:inset 0 0 80px rgba(var(--page-accent-rgb),.06);backdrop-filter:blur(8px)}
.details::after{content:"";position:absolute;width:520px;aspect-ratio:1;right:-190px;top:-230px;border:1px dashed rgba(var(--page-accent-rgb),.26);border-radius:50%;box-shadow:0 0 0 42px rgba(var(--page-accent-rgb),.018),0 0 0 88px rgba(121,86,255,.018)}
.details-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}
.details-grid>div>p:not(.kicker){color:#d5e4e8;max-width:520px}
.details ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.details li{padding:1rem 0;border-bottom:1px solid var(--line)}

.portfolio{padding:8rem 0}
.portfolio-head{display:flex;justify-content:space-between;align-items:end;gap:3rem}
.portfolio-head p:last-child{max-width:470px;color:var(--muted)}
.portfolio-empty{position:relative;overflow:hidden;margin-top:2.5rem;border:1px solid rgba(var(--page-accent-rgb),.24);padding:3rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;background:linear-gradient(120deg,rgba(7,29,43,.84),rgba(32,17,66,.72));box-shadow:0 16px 52px rgba(0,0,0,.18),inset 0 0 44px rgba(var(--page-accent-rgb),.035);backdrop-filter:blur(12px)}
.portfolio-empty::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--page-accent),var(--violet),transparent);box-shadow:0 0 14px var(--page-accent)}
.portfolio-empty h3{font-weight:400;font-size:1.4rem;margin-bottom:.4rem}
.portfolio-empty p{color:var(--muted);margin:0}
.text-link{color:var(--page-accent);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--page-accent);text-shadow:0 0 16px rgba(var(--page-accent-rgb),.38)}
.inline-link{color:var(--page-accent);border-bottom:1px solid rgba(var(--page-accent-rgb),.55)}

.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;margin-top:2.5rem}
.media-grid.single-feature{grid-template-columns:1fr}
.media-card{position:relative;overflow:hidden;border:1px solid rgba(var(--page-accent-rgb),.24);background:linear-gradient(135deg,rgba(7,29,43,.9),rgba(31,17,65,.75));box-shadow:0 16px 52px rgba(0,0,0,.18),inset 0 0 44px rgba(var(--page-accent-rgb),.035);backdrop-filter:blur(12px);transition:transform .3s,border-color .3s,box-shadow .3s}
.media-card:hover{transform:translateY(-3px);border-color:rgba(var(--page-accent-rgb),.48);box-shadow:0 20px 58px rgba(0,0,0,.26),0 0 30px rgba(var(--page-accent-rgb),.08)}
.media-card-wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:stretch}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#02050b}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.soundcloud-frame{display:flex;align-items:center;min-height:166px;background:linear-gradient(145deg,rgba(var(--page-accent-rgb),.09),rgba(4,8,18,.72));padding:1rem}
.soundcloud-frame iframe{width:100%;height:166px;border:0}
.soundcloud-frame.playlist-frame{min-height:360px}
.soundcloud-frame.playlist-frame iframe{height:360px}
.media-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:2rem}
.media-copy h3{margin-bottom:.65rem;font-family:var(--display);font-size:clamp(1.65rem,2.6vw,2.55rem);font-weight:400;line-height:1.12;text-transform:uppercase}
.media-copy>p:not(.media-type){color:var(--muted)}
.media-type{margin-bottom:.8rem;color:var(--page-accent);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.media-copy .text-link{margin-top:auto}
.media-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:auto}
.media-links .text-link{margin-top:0}
.portfolio-invitation{position:relative;overflow:hidden;margin-top:1.35rem;border:1px solid rgba(var(--page-accent-rgb),.24);padding:2.3rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;background:linear-gradient(120deg,rgba(7,29,43,.84),rgba(32,17,66,.72));box-shadow:inset 0 0 44px rgba(var(--page-accent-rgb),.035)}
.portfolio-invitation h3{font-size:1.4rem;font-weight:400;margin-bottom:.4rem}
.portfolio-invitation p{margin:0;color:var(--muted)}
.drum-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1.35rem;margin-top:2.5rem;margin-bottom:1.35rem}
.drum-gallery figure{margin:0;aspect-ratio:5/4;filter:drop-shadow(0 0 8px rgba(var(--page-accent-rgb),.7)) drop-shadow(0 0 24px rgba(121,86,255,.42))}
.drum-gallery img{width:100%;height:100%;object-fit:cover;clip-path:var(--image-portal)}
.drum-gallery figure:first-child img{object-position:center 44%}
.drum-gallery figure:last-child img{object-position:center 52%}
.drum-gallery-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(250px,22vw)}
.drum-gallery-mosaic figure{aspect-ratio:auto;min-height:0}
.drum-gallery-mosaic .drum-photo-primary{grid-row:span 2}
.drum-gallery-mosaic figure:nth-child(2) img{object-position:center 56%}
.drum-gallery-mosaic figure:nth-child(4) img{object-position:center}
.drum-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1.35rem}
.drum-paths article{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;border:1px solid rgba(var(--page-accent-rgb),.24);background:linear-gradient(135deg,rgba(7,29,43,.9),rgba(31,17,65,.72));box-shadow:inset 0 0 40px rgba(var(--page-accent-rgb),.035)}
.drum-paths h3{font-family:var(--display);font-size:clamp(1.55rem,2.2vw,2.2rem);font-weight:400;line-height:1.12;text-transform:uppercase}
.drum-paths article>p:not(.media-type){color:var(--muted)}
.drum-paths .text-link{margin-top:auto}

.next-workshop{padding:8rem 0 2rem}
.next-workshop-card{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:center;padding:clamp(2.4rem,5vw,5rem);border:1px solid rgba(var(--page-accent-rgb),.4);background:radial-gradient(circle at 82% 22%,rgba(255,75,159,.16),transparent 28%),linear-gradient(135deg,rgba(7,29,43,.94),rgba(43,20,76,.82));box-shadow:0 24px 80px rgba(0,0,0,.25),0 0 42px rgba(var(--page-accent-rgb),.1),inset 0 0 60px rgba(var(--page-accent-rgb),.045)}
.next-workshop-card::after{content:"";position:absolute;z-index:-1;width:430px;aspect-ratio:1;right:-160px;top:-165px;background:url("portal-geometry.svg") center/contain no-repeat;opacity:.24;filter:drop-shadow(0 0 22px rgba(var(--page-accent-rgb),.35))}
.next-workshop-copy>p:not(.kicker){max-width:660px;color:#d5e4e8}
.next-workshop-copy .button{margin-top:.8rem}
.workshop-facts{position:relative;z-index:1;margin:0;border-top:1px solid rgba(var(--page-accent-rgb),.28)}
.workshop-facts div{display:grid;grid-template-columns:5.5rem 1fr;gap:1.2rem;padding:1rem 0;border-bottom:1px solid rgba(var(--page-accent-rgb),.28)}
.workshop-facts dt{color:var(--page-accent);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.workshop-facts dd{margin:0;color:var(--paper)}

.offer-grid{width:min(var(--max),86vw);margin:auto;padding:8rem 0;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.offer-card{position:relative;overflow:hidden;padding:3rem;border:1px solid rgba(var(--page-accent-rgb),.22);background:linear-gradient(135deg,rgba(7,29,43,.9),rgba(31,17,65,.74));box-shadow:inset 0 0 50px rgba(var(--page-accent-rgb),.035);backdrop-filter:blur(10px);transition:transform .3s,border-color .3s,box-shadow .3s}
.offer-card:hover{transform:translateY(-4px);border-color:rgba(var(--page-accent-rgb),.48);box-shadow:0 18px 54px rgba(0,0,0,.22),0 0 28px rgba(var(--page-accent-rgb),.08)}
.offer-card h2{font-size:clamp(2rem,3.5vw,3.4rem);margin-bottom:1rem}
.offer-card>p:not(.kicker){color:#c9d5d2}
.offer-card ul{padding-left:1.1rem;color:var(--muted)}
.offer-card li{margin:.45rem 0}

.booking-section{padding:8rem 0}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.5rem}

.editorial{padding:8rem 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}
.editorial-copy{font-size:1.08rem;color:#c7d3d0}

.page-hero figure.full-image{height:auto;overflow:visible;clip-path:none}
.page-hero figure.full-image img{height:auto;object-fit:contain}
.teaching-page .page-hero{grid-template-columns:.85fr 1.15fr;gap:6vw}
.teaching-page .page-hero figure.mentoring-wide{height:auto;aspect-ratio:16/9}
.teaching-page .page-hero figure.mentoring-wide img{object-fit:cover;object-position:center}
.drums-page .page-hero figure img{object-position:center 52%}

.contact-page{width:min(1000px,86vw);margin:auto;padding:7rem 0 9rem}
.contact-page>p{max-width:680px}
.contact-form{margin-top:3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.field{display:flex;flex-direction:column;gap:.45rem}
.field.full{grid-column:1/-1}
.field label{font-size:.8rem;color:#c3cfcc}
.field input,.field select,.field textarea{width:100%;border:1px solid rgba(var(--page-accent-rgb),.25);border-radius:10px;background:rgba(7,24,40,.78);color:var(--paper);padding:.9rem 1rem;box-shadow:inset 0 0 24px rgba(var(--page-accent-rgb),.025);backdrop-filter:blur(10px)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--page-accent);box-shadow:0 0 24px rgba(var(--page-accent-rgb),.14)}
.field textarea{min-height:170px;resize:vertical}
.contact-note{grid-column:1/-1;color:var(--muted);font-size:.85rem}
.form-success{max-width:680px;margin:2rem 0 0;padding:1.2rem 1.4rem;border:1px solid rgba(var(--page-accent-rgb),.38);background:rgba(var(--page-accent-rgb),.08);color:var(--paper);box-shadow:0 0 30px rgba(var(--page-accent-rgb),.08)}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form .button{justify-self:start;cursor:pointer;background:transparent}
.contact-form .button:hover{background:var(--gold)}

footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem 3.5vw;border-top:1px solid rgba(var(--page-accent-rgb),.2);background:rgba(4,8,18,.62);color:var(--muted);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(12px)}
footer img{width:138px;height:34px;object-fit:contain}

@media(max-width:1040px){.site-header nav{gap:.75rem}.site-header nav a{font-size:.67rem}}
@media(max-width:820px){
  .site-header{min-height:68px;padding:1rem 1.2rem}.logo{width:138px}.menu-button{display:block}
  .site-header nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;padding:.6rem 1.2rem 1.2rem;background:linear-gradient(145deg,rgba(37,16,75,.98),rgba(5,19,37,.98));border-bottom:1px solid rgba(154,102,255,.42)}
  .site-header nav.open{display:flex}.site-header nav a{width:100%;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:.76rem}
  .home-hero{grid-template-columns:1fr;width:100%;padding:3rem 1.2rem}.hero-copy{padding:0;order:1}.hero-image{height:52vh;order:2;margin-top:1.6rem}
  .home-hero::before{width:94vw;left:-22vw;top:24%}
  .bio,.details-grid{grid-template-columns:1fr;gap:2rem;padding:6rem 0}.work{padding:2rem 0 6rem}
  .service-list{grid-template-columns:1fr}.service,.service:last-child{grid-column:auto}.service{grid-template-columns:1fr;gap:1rem;min-height:0;padding:2rem}.service b{display:none}
  .page-hero{grid-template-columns:1fr;padding:4rem 0}.page-hero figure{height:55vh;order:-1;justify-self:center}.details{padding:5rem 0}.portfolio{padding:6rem 0}
  .portfolio-head,.portfolio-empty,.portfolio-invitation{display:block}.portfolio-empty .text-link,.portfolio-invitation .text-link{display:inline-block;margin-top:1.5rem}
  .media-grid,.drum-gallery{grid-template-columns:1fr}.media-card-wide{grid-column:auto;display:block}.media-copy{padding:1.55rem}.soundcloud-frame.playlist-frame{min-height:300px}.soundcloud-frame.playlist-frame iframe{height:300px}.drum-gallery-mosaic{grid-auto-rows:auto}.drum-gallery-mosaic figure,.drum-gallery-mosaic .drum-photo-primary{grid-row:auto;aspect-ratio:4/5}
  .offer-grid,.booking-grid,.editorial,.next-workshop-card{grid-template-columns:1fr}.offer-grid,.editorial,.booking-section{padding:6rem 0}.next-workshop{padding:6rem 0 1rem}.next-workshop-card{gap:2.5rem}.offer-card{padding:2rem}
  .contact-form{grid-template-columns:1fr}.field.full,.contact-note{grid-column:1}.simple-cta{padding:6rem 1.2rem}
  footer{flex-direction:column;text-align:center}h1{font-size:clamp(3.1rem,15vw,5.3rem)}h2{letter-spacing:0}
}
@media(max-width:820px){body{background-attachment:scroll}.page-hero::before{width:110vw;right:-50vw;top:28%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body::before,.home-hero::before,.page-hero::before{animation:none}.button,.service,.offer-card{transition:none}}
@media(max-width:820px){.drum-paths{grid-template-columns:1fr}.teaching-page .page-hero{grid-template-columns:1fr}.teaching-page .page-hero figure.mentoring-wide{height:auto;aspect-ratio:16/9}}
