PageSourceSearch

https://www.3bmovement.com/_next/static/chunks/app/page-72cd6c1279a157e1.js

js 3bmovement.com collected 2026-10-04 12:00:16 UTC 27,600 bytes, 21 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{3971:function(e,t,a){Promise.resolve().then(a.bind(a,1339)),Promise.resolve().then(a.bind(a,9152)),Promise.resolve().then(a.bind(a,735)),Promise.resolve().then(a.bind(a,7555)),Promise.resolve().then(a.bind(a,9397)),Promise.resolve().then(a.bind(a,7276)),Promise.resolve().then(a.t.bind(a,8173,23)),Promise.resolve().then(a.t.bind(a,231,23))},1339:function(e,t,a){"use strict";a.d(t,{default:function(){return m}});var r=a(7437),s=a(6648),n=a(7138),l=a(7276),i=a(7865),o=a(8030);/**
2 * @license lucide-react v0.378.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */let c=(0,o.Z)("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]),d=[{icon:c,title:"Trauma-Informed",desc:"Invitational language and safe sensory environments"},{icon:(0,o.Z)("FlaskConical",[["path",{d:"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2",key:"pzvekw"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h10",key:"wp8him"}]]),title:"Science-Based",desc:"Regulation and presence over aesthetic performance"},{icon:(0,o.Z)("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]),title:"All Welcome",desc:"Every body, identity, and experience level"},{icon:(0,o.Z)("GraduationCap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),title:"Expert Teachers",desc:"Well-trained, caring, accessible instructors"}];function m(){return(0,r.jsx)("section",{className:"py-28 px-6 md:px-14",style:{background:"var(--white-warm)"},"aria-label":"About us teaser",children:(0,r.jsxs)("div",{className:"max-w-[1200px] mx-auto grid grid-cols-1 lg:grid-cols-2 gap-20 items-center",children:[(0,r.jsx)(l.default,{children:(0,r.jsx)("div",{className:"img-offset-border",children:(0,r.jsx)("div",{className:"relative w-full overflow-hidden",style:{height:520},children:(0,r.jsx)(s.default,{src:"/images/_44A5544.JPG",alt:"Yoga practitioner in triangle pose against wood wall",fill:!0,style:{objectFit:"cover",objectPosition:"center"},sizes:"(max-width: 1024px) 100vw, 50vw"})})})}),(0,r.jsxs)("div",{children:[(0,r.jsx)(l.default,{delay:.1,children:(0,r.jsx)(i.Z,{text:"About Us"})}),(0,r.jsx)(l.default,{delay:.2,children:(0,r.jsx)("h2",{className:"font-seasons mt-5 leading-[1.1]",style:{fontSize:"clamp(2rem, 3.5vw, 3.5rem)",color:"var(--deep-brown)"},children:"Science meets compassion."})}),(0,r.jsx)(l.default,{delay:.3,children:(0,r.jsx)("p",{className:"font-cormorant mt-6 leading-[1.9]",style:{fontSize:"1.05rem",color:"var(--text-muted)"},children:"3B Movement is a trauma-informed yoga and somatic movement studio in Provo, Utah, founded with a deep commitment to making movement accessible, healing, and joyful for every body. We blend evidence-based science with compassionate teaching to create a space where you can truly arrive — exactly as you are."})}),(0,r.jsx)(l.default,{delay:.35,children:(0,r.jsx)(n.default,{href:"/about",className:"inline-block mt-5 font-public-sans text-[0.75rem] uppercase tracking-[0.12em] transition-colors duration-200",style:{color:"var(--sage)"},onMouseEnter:e=>e.currentTarget.style.color="var(--deep-brown)",onMouseLeave:e=>e.currentTarget.style.color="var(--sage)",children:"Read Our Story →"})}),(0,r.jsx)(l.default,{delay:.45,children:(0,r.jsx)("div",{className:"grid grid-cols-2 gap-3 mt-10",children:d.map(e=>{let{icon:t,title:a,desc:s}=e;return(0,r.jsxs)("div",{className:"group p-6 border transition-all duration-300 cursor-default",style:{border:"1px solid var(--sand)",background:"var(--cream)"},onMouseEnter:e=>{let t=e.currentTarget;t.style.borderColor="var(--sage)",t.style.transform="translateY(-3px)"},onMouseLeave:e=>{let t=e.currentTarget;t.style.borderColor="var(--sand)",t.style.transform="translateY(0)"},children:[(0,r.jsx)(t,{size:16,style:{color:"var(--sage)"},className:"mb-3"}),(0,r.jsx)("p",{className:"font-cormorant text-[1.1rem] mb-1",style:{color:"var(--deep-brown)"},children:a}),(0,r.jsx)("p",{className:"font-public-sans text-[0.78rem] leading-relaxed",style:{color:"var(--text-muted)"},children:s})]},a)})})})]})]})})}},9152:function(e,t,a){"use strict";a.d(t,{default:function(){return m}});var r=a(7437),s=a(2265),n=a(6648),l=a(7138),i=a(7276),o=a(7865);let c=[{num:"01",category:"Mind + Body",title:"Yoga",desc:"Mindful movement rooted in breath and presence. Every class offers accessible modifications so you can meet yourself exactly where you are.",image:"/images/_44A5544.JPG",imageAlt:"Student in full-body triangle yoga pose against studio rope wall",href:"/book-a-class",linkLabel:"Book a Class"},{num:"02",category:"Strength + Core",title:"Mat Pilates",desc:"Build functional strength from the inside out. Our trauma-informed approach prioritizes nervous system regulation alongside physical conditioning.",image:"/images/_44A5575.JPG",imageAlt:"Instructor standing over and assisting student with mat movement",href:"/book-a-class",linkLabel:"Book a Class"},{num:"03",category:"Somatic + Healing",title:"Breathwork & Sound",desc:"Breathwork, meditation, and sound healing sessions designed to bring you back to your body — gently, safely, and at your own pace.",image:"/images/DTS_practice_Daniel_Far\xf2_Photos_ID4848.jpg",imageAlt:"Person in seated meditation with eyes closed and hands in namaste",href:"/book-a-class",linkLabel:"Book a Class"},{num:"04",category:"Rest + Recover",title:"Frequency Lounge",desc:"Private 30-minute sound bed sessions — vibration, sound, and stillness for nervous-system rest. No class experience needed.",image:"/images/frequency-lounge.png",imageAlt:"Woman resting on the Frequency Lounge sound bed under a projected starfield at 3B Movement",imagePosition:"center 85%",href:"/frequency-lounge",linkLabel:"Book a Session"}];function d(e){let{num:t,category:a,title:i,desc:o,image:c,imageAlt:d,imagePosition:m,href:u,linkLabel:p}
6=e,[g,h]=(0,s.useState)(!1);return(0,r.jsxs)("div",{className:"cursor-pointer transition-colors duration-[400ms] overflow-hidden flex flex-col",style:{background:g?"var(--deep-brown)":"var(--white-warm)",borderBottom:"3px solid ".concat(g?"var(--sage)":"transparent")},onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),children:[(0,r.jsxs)("div",{className:"relative overflow-hidden",style:{height:260},children:[(0,r.jsx)(n.default,{src:c,alt:d,fill:!0,style:{objectFit:"cover",objectPosition:null!=m?m:"center",transition:"transform 0.6s ease, filter 0.4s ease",transform:g?"scale(1.04)":"scale(1)",filter:g?"brightness(0.7)":"brightness(0.92)"},sizes:"(max-width: 768px) 100vw, 33vw"}),(0,r.jsx)("div",{className:"absolute inset-0 transition-opacity duration-400",style:{background:g?"rgba(58,49,44,0.35)":"rgba(238,231,221,0.08)",opacity:1},"aria-hidden":"true"})]}),(0,r.jsxs)("div",{className:"p-8 md:p-10 flex flex-col flex-1",children:[(0,r.jsx)("p",{className:"font-seasons leading-none mb-4","aria-hidden":"true",style:{fontSize:"2.8rem",opacity:.1,color:g?"var(--sand)":"var(--deep-brown)",lineHeight:1},children:t}),(0,r.jsx)("span",{className:"inline-block font-public-sans text-[0.6rem] tracking-[0.2em] uppercase px-3 py-1 mb-4 self-start",style:{background:g?"rgba(238,231,221,0.12)":"rgba(95,107,92,0.1)",color:g?"var(--sand)":"var(--sage)"},children:a}),(0,r.jsx)("h3",{className:"font-seasons text-2xl mb-3",style:{color:g?"var(--white-warm)":"var(--deep-brown)"},children:i}),(0,r.jsx)("p",{className:"font-cormorant leading-[1.8] text-[0.95rem] mb-6 flex-1",style:{color:g?"rgba(238,231,221,0.65)":"var(--text-muted)"},children:o}),(0,r.jsxs)(l.default,{href:u,className:"font-public-sans text-[0.7rem] uppercase tracking-[0.12em] transition-colors duration-200 self-start",style:{color:g?"var(--sand)":"var(--sage)"},children:[p," →"]})]})]})}function m(){return(0,r.jsx)("section",{className:"py-28 px-6 md:px-14",style:{background:"var(--cream)"},"aria-label":"Classes",children:(0,r.jsxs)("div",{className:"max-w-[1400px] mx-auto",children:[(0,r.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end justify-between gap-6 mb-12",children:[(0,r.jsx)(i.default,{children:(0,r.jsxs)("div",{children:[(0,r.jsx)(o.Z,{text:"Our Offerings"}),(0,r.jsx)("h2",{className:"font-seasons mt-4 leading-[1.1]",style:{fontSize:"clamp(2rem, 4vw, 4rem)",color:"var(--deep-brown)"},children:"Find your practice."})]})}),(0,r.jsx)(i.default,{delay:.1,children:(0,r.jsx)(l.default,{href:"/book-a-class",className:"font-public-sans text-[0.75rem] uppercase tracking-[0.12em] transition-colors duration-200",style:{color:"var(--sage)"},children:"View Schedule →"})})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4",style:{gap:"1.5px",background:"var(--sand)"},children:c.map((e,t)=>(0,r.jsx)(i.default,{delay:.1*t,children:(0,r.jsx)(d,{...e})},e.num))})]})})}},735:function(e,t,a){"use strict";a.d(t,{default:function(){return i}});var r=a(7437),s=a(6648),n=a(7138),l=a(7276);function i(){return Date.now()>new Date("2026-10-17T21:00:00-06:00").getTime()?null:(0,r.jsx)("section",{className:"px-6 md:px-14 py-20",style:{background:"var(--deep-brown)"},"aria-label":"Date Night \xb7 ABC's of Connection",children:(0,r.jsxs)("div",{className:"max-w-[1100px] mx-auto grid grid-cols-1 lg:grid-cols-2 gap-14 items-center",children:[(0,r.jsx)(l.default,{children:(0,r.jsx)("div",{className:"relative mx-auto overflow-hidden",style:{maxWidth:460,aspectRatio:"4 / 5",boxShadow:"0 32px 80px rgba(0,0,0,0.55)"},children:(0,r.jsx)(s.default,{src:"/images/partner-flow/2.png",alt:"Partner Yoga at 3B Movement",fill:!0,style:{objectFit:"cover"},sizes:"(max-width: 1024px) 100vw, 460px",priority:!0})})}),(0,r.jsx)(l.default,{delay:.15,children:(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"font-public-sans text-[0.65rem] uppercase tracking-[0.28em] mb-5",style:{color:"var(--sage)"},children:"Special Event \xb7 Saturday, October 17"}),(0,r.jsxs)("h2",{className:"font-seasons leading-[1.05] mb-6",style:{fontSize:"clamp(2.2rem, 4vw, 3.6rem)",color:"var(--cream)"},children:["Date Night",(0,r.jsx)("em",{className:"block",style:{color:"var(--sage)",fontStyle:"italic"},children:"ABC's of Connection"})]}),(0,r.jsx)("p",{className:"font-cormorant leading-[1.9] mb-4",style:{fontSize:"1.1rem",color:"rgba(238,231,221,0.75)"},children:"A workshop to explore deeper attunement, boundaries, connection, and desires with yourself and another. Come with a partner or a friend."}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 mb-8",children:[["$55","Connection workshop \xb7 3 hours"],["18 SPOTS","Space is limited"]].map(e=>
6{let[t,a]=e;return(0,r.jsxs)("li",{className:"flex items-start gap-3",children:[(0,r.jsx)("span",{className:"font-public-sans text-[0.62rem] uppercase tracking-wider mt-0.5 px-2 py-0.5 flex-shrink-0",style:{background:"var(--sage)",color:"var(--white-warm)"},children:t}),(0,r.jsx)("span",{className:"font-cormorant leading-snug",style:{fontSize:"1rem",color:"rgba(238,231,221,0.85)"},children:a})]},t)})}),(0,r.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 items-start",children:[(0,r.jsx)(n.default,{href:"/date-night",className:"font-public-sans text-[0.72rem] uppercase tracking-[0.16em] px-9 py-4 transition-all duration-200",style:{background:"var(--sage)",color:"var(--white-warm)"},onMouseEnter:e=>e.currentTarget.style.background="var(--sage-hover)",onMouseLeave:e=>e.currentTarget.style.background="var(--sage)",children:"Reserve Your Evening →"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"font-public-sans text-[0.65rem] uppercase tracking-wider",style:{color:"rgba(238,231,221,0.5)"},children:"Saturday, October 17th"}),(0,r.jsx)("p",{className:"font-cormorant italic",style:{fontSize:"1rem",color:"rgba(238,231,221,0.7)"},children:"6:00 – 9:00 PM"})]})]})]})})]})})}},7555:function(e,t,a){"use strict";a.d(t,{default:function(){return d}});var r=a(7437),s=a(1513),n=a(6648),l=a(7138);let i={hidden:{opacity:0},show:{opacity:1,transition:{staggerChildren:.18,delayChildren:.4}}},o={hidden:{opacity:0,y:28},show:{opacity:1,y:0,transition:{duration:.8,ease:[.25,.46,.45,.94]}}},c=[{src:"/images/studio/pilates.jpg",alt:"Pilates at 3B Movement",label:"Pilates",style:{top:"8%",left:"-10%",width:136,height:182,rotate:"-3deg"},floatDelay:0,floatDuration:5.2,entryDelay:.9},{src:"/images/studio/sound-bath.jpg",alt:"Sound Bath at 3B Movement",label:"Sound Bath",style:{bottom:"20%",left:"2%",width:124,height:166,rotate:"2.5deg"},floatDelay:1.4,floatDuration:6.1,entryDelay:1.2},{src:"/images/ytt-class-1.jpg",alt:"Yoga Teacher Training at 3B Movement",label:"Teacher Training",style:{top:"40%",right:"5%",width:130,height:174,rotate:"-1.5deg"},floatDelay:.7,floatDuration:4.8,entryDelay:1.5},{src:"/images/studio/studio-inner.jpg",alt:"Studio space at 3B Movement",label:"The Studio",style:{top:"6%",right:"8%",width:118,height:158,rotate:"2deg"},floatDelay:2.1,floatDuration:5.7,entryDelay:1.8},{src:"/images/ytt-who-2.jpg",alt:"Yoga practice at 3B Movement",label:"Yoga",style:{bottom:"8%",right:"12%",width:112,height:150,rotate:"-2deg"},floatDelay:.4,floatDuration:5.5,entryDelay:2}];function d(){return(0,r.jsxs)("section",{className:"min-h-screen flex flex-col lg:flex-row","aria-label":"Hero",children:[(0,r.jsxs)(s.E.div,{variants:i,initial:"hidden",animate:"show",className:"flex-1 lg:w-[55%] flex flex-col justify-center px-8 md:px-14 lg:px-20 xl:px-28",style:{background:"var(--cream)",paddingTop:"calc(80px + 4rem)",paddingBottom:"4rem"},children:[(0,r.jsxs)(s.E.div,{variants:o,className:"flex flex-col gap-4 mb-8",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsxs)("span",{className:"font-public-sans inline-flex items-center gap-2",style:{fontSize:"0.82rem",letterSpacing:"0.22em",textTransform:"uppercase",color:"var(--deep-brown)",background:"var(--cream-light)",border:"2px solid var(--warm-tan)",padding:"10px 18px",fontWeight:700},children:[(0,r.jsx)("span",{style:{color:"var(--warm-tan)",fontSize:"1rem"},"aria-hidden":"true",children:"★"}),"#1 Yoga Studio in Provo"]}),(0,r.jsx)("span",{className:"font-public-sans hidden md:inline",style:{fontSize:"0.6rem",letterSpacing:"0.16em",textTransform:"uppercase",color:"var(--text-muted)"},children:"BusinessRate"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("span",{className:"h-px w-10 flex-shrink-0",style:{background:"var(--sage)"},"aria-hidden":"true"}),(0,r.jsx)("span",{className:"font-public-sans text-[0.62rem] tracking-[0.3em] uppercase",style:{color:"var(--sage)"},children:"Provo, Utah \xb7 Trauma-Informed Movement"})]})]}),(0,r.jsx)(s.E.h1,{variants:o,className:"font-seasons leading-[1.02]",style:{fontSize:"clamp(3.4rem, 7vw, 7.5rem)",color:"var(--deep-brown)",letterSpacing:"-0.02em"},children:"Movement is a"}),(0,r.jsx)(s.E.h1,{variants:o,className:"font-seasons italic leading-[1.02]",style:{fontSize:"clamp(3.4rem, 7vw, 7.5rem)",color:"var(--sage)",letterSpacing:"-0.02em"},children:"ritual of return."}),(0,r.jsx)(s.E.p,{variants:o,className:"font-cormorant mt-8 leading-[1.85] max-w-md",style:{fontSize:"clamp(1rem, 1.6vw, 1.15rem)",color:"var(--text-muted)"},children:"We meet you where you are, honor where you've been, and make space for who you're becoming."}),(0,r.jsxs)(s.E.div,{variants:o,className:"flex flex-wrap items-center gap-4 mt-10",children:[(0,r.jsx)("a",{href:"https://momence.com/m/899575",target:"_blank",rel:"noopener noreferrer",className:"font-public-sans text-[0.7rem] tracking-[0.15em] uppercase px-8 py-4 transition-colors duration-200",style:{background:"var(--sage)",color:"var(--white-warm)"},onMouseEnter:e=>e.currentTarget.style.background="var(--sage-hover)",onMouseLeave:e=>e.currentTarget.style.background="var(--sage)",children:"Claim Your Free First Class"}),(0,r.jsx)(l.default,{href:"/schedule",className:"font-public-sans text-[0.7rem] tracking-[0.15em] uppercase px-8 py-4 transition-all duration-200",style:{border:"1px solid var(--sand)",color:"var(--text-muted)",background:"transparent"},onMouseEnter:e=>{e.currentTarget.style.borderColor="var(--deep-brown)",e.currentTarget.style.color="var(--deep-brown)"},onMouseLeave:e=>{e.currentTarget.style.borderColor="var(--sand)",e.currentTarget.style.color="var(--text-muted)"},children:"View Schedule"})]}),(0,r.jsx)(s.E.p,{variants:o,className:"font-cormorant italic mt-4",style:{fontSize:"0.95rem",color:"var(--text-muted)"},children:"Free for local residents who haven't visited 3B before — claim your pass, then choose any class."}),(0,r.jsxs)(s.E.p,{variants:o,className:"font-seasons italic mt-12",style:{fontSize:"clamp(1.7rem, 2.6vw, 2.5rem)",color:"var(--sage)",letterSpacing:"0.04em",lineHeight:1.15},children:["Breathe ",(0,r.jsx)("span",{style:{color:"var(--warm-tan)",margin:"0 6px"},children:"\xb7"})," Bend ",(0,r.jsx)("span",{style:{color:"var(--warm-tan)",margin:"0 6px"},children:"\xb7"})," Be"]})]}),(0,r.jsxs)(s.E.div,{className:"relative lg:w-[45%] min-h-[60vw] lg:min-h-0 overflow-visible",initial:{opacity:0}
6,animate:{opacity:1},transition:{duration:1.2,delay:.2,ease:[.25,.46,.45,.94]},children:[(0,r.jsx)(n.default,{src:"/images/_44A5606.JPG",alt:"Yoga practitioner in dancer pose with beautiful natural light",fill:!0,style:{objectFit:"cover",objectPosition:"center top"},priority:!0,sizes:"(max-width: 1024px) 100vw, 45vw"}),(0,r.jsx)("div",{className:"absolute inset-0",style:{background:"linear-gradient(to right, rgba(238,231,221,0.25) 0%, transparent 20%, rgba(58,49,44,0.15) 100%)"},"aria-hidden":"true"}),c.map(e=>(0,r.jsx)(s.E.div,{className:"absolute hidden lg:flex flex-col items-center",style:{top:e.style.top,bottom:e.style.bottom,left:e.style.left,right:e.style.right,zIndex:10},initial:{opacity:0,scale:.85,y:24},animate:{opacity:1,scale:1,y:0},transition:{duration:1,delay:e.entryDelay,ease:[.16,1,.3,1]},children:(0,r.jsxs)(s.E.div,{animate:{y:[0,-10,0]},transition:{repeat:1/0,duration:e.floatDuration,delay:e.floatDelay,ease:"easeInOut"},style:{rotate:e.style.rotate},children:[(0,r.jsx)("div",{style:{width:e.style.width,height:e.style.height,position:"relative",boxShadow:"0 16px 48px rgba(42,31,20,0.38), 0 0 0 2px rgba(253,250,246,0.55)",borderRadius:3,overflow:"hidden"},children:(0,r.jsx)(n.default,{src:e.src,alt:e.alt,fill:!0,style:{objectFit:"cover"},sizes:"160px"})}),(0,r.jsx)("div",{style:{marginTop:7,textAlign:"center",background:"rgba(253,250,246,0.9)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",padding:"4px 10px",borderRadius:2},children:(0,r.jsx)("span",{style:{fontFamily:"var(--font-public-sans, sans-serif)",fontSize:"7.5px",letterSpacing:"0.22em",textTransform:"uppercase",color:"var(--sage)"},children:e.label})})]})},e.label)),(0,r.jsxs)("div",{className:"absolute bottom-10 right-8 flex flex-col items-center gap-2","aria-hidden":"true",children:[(0,r.jsx)("span",{className:"font-public-sans text-[0.58rem] tracking-[0.25em] uppercase",style:{color:"rgba(253,250,246,0.5)",writingMode:"vertical-rl"},children:"Scroll"}),(0,r.jsx)("div",{className:"scroll-indicator w-px h-10 origin-top",style:{background:"rgba(253,250,246,0.4)"}})]})]})]})}},9397:function(e,t,a){"use strict";a.d(t,{default:function(){return d}});var r=a(7437),s=a(2265),n=a(1513),l=a(7865);function i(e){return e.toISOString().slice(0,10)}let o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function d(){let[e,t]=(0,s.useState)([]),[a,n]=(0,s.useState)(!0),[o,c]=(0,s.useState)(!1);return((0,s.useEffect)(()=>{let e=new Date,a=new Date(e);a.setDate(e.getDate()+6),fetch("/api/schedule?min_date=".concat(i(e),"&max_date=").concat(i(a))).then(e=>e.json()).then(e=>{if("no_api_key"===e.error)c(!0);else{let a=new Date;t(e.classes.filter(e=>new Date(e.startDatetime)>=a).sort((e,t)=>e.startDatetime.localeCompare(t.startDatetime)).slice(0,6))}}).catch(()=>{}).finally(()=>n(!1))},[]),(a||!o)&&(a||0!==e.length))?(0,r.jsx)("section",{className:"py-20 px-6 md:px-14",style:{background:"var(--white-warm)"},"aria-label":"Upcoming classes",children:(0,r.jsxs)("div",{className:"max-w-[1200px] mx-auto",children:[(0,r.jsxs)("div",{className:"flex items-end justify-between mb-10",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)(l.Z,{text:"This Week"}),(0,r.jsx)("h2",{className:"font-seasons mt-4 leading-tight",style:{fontSize:"clamp(2rem, 3.5vw, 3rem)",color:"var(--deep-brown)"},children:"Upcoming Classes"})]}),(0,r.jsxs)("a",{href:"/schedule",className:"hidden md:flex items-center gap-2 font-public-sans text-xs uppercase tracking-widest transition-opacity hover:opacity-60",style:{color:"var(--sage)",letterSpacing:"0.14em",fontSize:"0.72rem"},children:["Full schedule",(0,r.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:(0,r.jsx)("path",{d:"M2 7h10M8 3l4 4-4 4",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})]})]}),a?(0,r.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:[...Array(6)].map((e,t)=>(0,r.jsx)("div",{className:"h-32 rounded-2xl animate-pulse",style:{background:"var(--sand)",opacity:.5}},t))}):(0,r.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:e.map((e,t)=>(0,r.jsx)(m,{session:e,index:t},e.id))}),(0,r.jsx)("div",{className:"mt-8 text-center md:hidden",children:(0,r.jsx)("a",{href:"/schedule",className:"inline-block font-public-sans text-xs uppercase tracking-widest px-8 py-3 transition-colors",style:{background:"var(--deep-brown)",color:"var(--white-warm)",letterSpacing:"0.14em",fontSize:"0.72rem"},children:"View Full Schedule"})})]})}):null}function m(e){let{session:t,index:a}
6=e,[l,d]=(0,s.useState)(!1),m=t.availableSpots,u=null!==m&&0===m,p=null!==m&&m>0&&m<=3;return(0,r.jsxs)(n.E.a,{href:t.bookingUrl,target:"_blank",rel:"noopener noreferrer",initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{delay:.07*a,duration:.35},onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),className:"block rounded-2xl p-6 transition-all duration-300 cursor-pointer",style:{background:l?"var(--deep-brown)":"var(--cream)",border:"1px solid ".concat(l?"transparent":"var(--sand)"),textDecoration:"none"},children:[(0,r.jsxs)("p",{className:"font-public-sans text-[0.65rem] uppercase tracking-widest mb-3",style:{color:l?"var(--warm-tan)":"var(--sage)",letterSpacing:"0.14em"},children:[function(e){let t=new Date(e+"T00:00:00"),a=new Date;a.setHours(0,0,0,0);let r=new Date(a);return(r.setDate(a.getDate()+1),i(t)===i(a))?"Today":i(t)===i(r)?"Tomorrow":"".concat(o[t.getDay()],", ").concat(c[t.getMonth()]," ").concat(t.getDate())}(t.startDate)," \xb7 ",function(e){let[t,a]=e.split(":").map(Number);return"".concat(t%12||12,":").concat(String(a).padStart(2,"0")," ").concat(t>=12?"pm":"am")}(t.startTime)]}),(0,r.jsx)("p",{className:"font-seasons text-xl leading-tight mb-1",style:{color:l?"var(--white-warm)":"var(--deep-brown)"},children:t.name}),t.instructors.length>0&&(0,r.jsxs)("p",{className:"font-cormorant italic",style:{fontSize:"0.95rem",color:l?"rgba(255,255,255,0.6)":"var(--text-muted)"},children:["with ",t.instructors.join(", ")]}),(0,r.jsxs)("div",{className:"flex items-center justify-between mt-4",children:[t.durationMinutes?(0,r.jsxs)("span",{className:"text-[0.62rem] uppercase tracking-wider",style:{color:l?"rgba(255,255,255,0.4)":"var(--text-muted)",letterSpacing:"0.1em"},children:[t.durationMinutes," min"]}):(0,r.jsx)("span",{}),null!==m&&(0,r.jsx)("span",{className:"text-[0.62rem] uppercase tracking-wider",style:{letterSpacing:"0.1em",color:u?l?"#f87171":"var(--burgundy)":p?l?"#fbbf24":"#a85c00":l?"rgba(255,255,255,0.45)":"var(--text-muted)"},children:u?"Class Full":p?"".concat(m," spots left"):"".concat(m," open")})]})]})}},7276:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return n}});var r=a(7437),s=a(1513);function n(e){let{children:t,delay:a=0,duration:n=.7,y:l=28,className:i}=e;return(0,r.jsx)(s.E.div,{className:i,initial:{opacity:0,y:l},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-80px"},transition:{duration:n,delay:a,ease:[.25,.46,.45,.94]},children:t})}},7865:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});var r=a(7437);function s(e){let{text:t,light:a=!1,className:s=""}=e;return(0,r.jsxs)("div",{className:"flex items-center gap-3 ".concat(s),"aria-label":t,children:[(0,r.jsx)("span",{className:"inline-block h-px w-8 flex-shrink-0",style:{background:a?"var(--warm-tan)":"var(--sage)"}}),(0,r.jsx)("span",{className:"font-public-sans text-[0.68rem] tracking-[0.3em] uppercase",style:{color:a?"var(--warm-tan)":"var(--sage)"},children:t})]})}},8030:function(e,t,a){"use strict";a.d(t,{Z:function(){return o}});var r=a(2265);/**
7 * @license lucide-react v0.378.0 - ISC
8 *
9 * This source code is licensed under the ISC license.
10 * See the LICENSE file in the root directory of this source tree.
11 */let s=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),n=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return t.filter((e,t,a)=>!!e&&a.indexOf(e)===t).join(" ")};/**
12 * @license lucide-react v0.378.0 - ISC
13 *
14 * This source code is licensed under the ISC license.
15 * See the LICENSE file in the root directory of this source tree.
16 */var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
17 * @license lucide-react v0.378.0 - ISC
18 *
19 * This source code is licensed under the ISC license.
20 * See the LICENSE file in the root directory of this source tree.
21 */let i=(0,r.forwardRef)((e,t)=>{let{color:a="currentColor",size:s=24,strokeWidth:i=2,absoluteStrokeWidth:o,className:c="",children:d,iconNode:m,...u}=e;return(0,r.createElement)("svg",{ref:t,...l,width:s,height:s,stroke:a,strokeWidth:o?24*Number(i)/Number(s):i,className:n("lucide",c),...u},[...m.map(e=>
21{let[t,a]=e;return(0,r.createElement)(t,a)}),...Array.isArray(d)?d:[d]])}),o=(e,t)=>{let a=(0,r.forwardRef)((a,l)=>{let{className:o,...c}=a;return(0,r.createElement)(i,{ref:l,iconNode:t,className:n("lucide-".concat(s(e)),o),...c})});return a.displayName="".concat(e),a}},6648:function(e,t,a){"use strict";a.d(t,{default:function(){return s.a}});var r=a(5601),s=a.n(r)},7138:function(e,t,a){"use strict";a.d(t,{default:function(){return s.a}});var r=a(231),s=a.n(r)},5601:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(t,{default:function(){return o},getImageProps:function(){return i}});let r=a(9920),s=a(497),n=a(8173),l=r._(a(1241));function i(e){let{props:t}=(0,s.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,a]of Object.entries(t))void 0===a&&delete t[e];return{props:t}}let o=n.Image}},function(e){e.O(0,[513,173,231,971,23,744],function(){return e(e.s=3971)}),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.