:root{--cream:#faf9f2;--tan:#ead5aa;--brown-1:#5e2f00;--brown-2:#5e2500;--brown-3:#612000}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--brown-1);text-transform:lowercase;font-family:proxima-nova,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:300;line-height:1.6}nav{z-index:100;backdrop-filter:blur(6px);letter-spacing:.08em;background:#faf9f2e6;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.5rem;font-size:.85rem;display:grid;position:fixed;top:0;left:0;right:0}nav>a:first-child{grid-column:1;justify-self:start}.nav-logo{width:auto;height:50px;display:block}.nav-links{grid-column:2}.nav-toggle{grid-column:3;justify-self:end}nav a{color:var(--brown-1);text-decoration:none;transition:color .3s}nav a:hover{color:var(--tan)}.nav-links{gap:2.5rem;display:flex}.nav-links a{white-space:nowrap}.nav-toggle{display:none}@media (width<=640px){nav{padding:1.1rem 1.25rem}.nav-links{display:none}.nav-links.open{background:var(--cream);z-index:150;opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;height:100dvh;padding:4rem 2rem 3rem;font-size:1.1rem;animation:.25s forwards navFadeIn;display:flex;position:fixed;inset:0}@keyframes navFadeIn{0%{opacity:0}to{opacity:1}}body.nav-open{overflow:hidden}.nav-toggle{cursor:pointer;z-index:200;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:26px;height:20px;padding:0;display:flex}.nav-toggle span{background:var(--brown-1);border-radius:2px;width:100%;height:2px;transition:transform .3s,opacity .3s;display:block}.nav-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}}section{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:8rem 1.5rem 4rem;scroll-margin-top:120px;display:flex}section h1{letter-spacing:.02em;opacity:0;margin-bottom:1rem;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:400;transition:opacity .45s .1s}section h2{color:var(--brown-2);opacity:0;margin-bottom:1.5rem;font-size:clamp(1.4rem,3vw,2rem);font-weight:400;transition:opacity .45s .15s}#schedule h1,#events h1,#teacher-training h1,#purchase h1{font-size:clamp(1.4rem,3vw,2rem)}section p{opacity:0;max-width:684px;margin-bottom:1rem;font-size:1.05rem;transition:opacity .45s .2s}section .eyebrow{letter-spacing:.15em;color:var(--brown-3);opacity:0;margin-bottom:.4rem;font-size:.75rem;transition:opacity .45s}section.visible h1,section.visible h2,section.visible p,section.visible .eyebrow,section.visible .cta{opacity:1}.cta{border:1px solid var(--brown-1);color:var(--brown-1);letter-spacing:.08em;opacity:0;border-radius:9px;margin-top:1.5rem;padding:.9rem 2.2rem;font-size:.85rem;text-decoration:none;transition:background .3s,color .3s,opacity .45s .3s;display:inline-block}.cta:hover{color:#5e2500;background:#ead5aa}.teacher-training-cta{color:#ead5aa;background:#5e2500;border-color:#5e2500}.teacher-training-cta:hover{color:#5e2500;background:#ead5aa;border-color:#5e2500}#home{opacity:1;min-height:0;padding:0;display:block;transform:none}.hero-block{text-align:center;color:#ead5aa;background-image:url(/images/san-francisco-yoga-studio-castro-room-interior.jpg);background-position:50%;background-size:cover;background-attachment:fixed;grid-template-rows:1fr auto 1fr;justify-items:center;min-height:100vh;padding:8rem 1.5rem 4rem;display:grid;position:relative}.hero-block:before{content:"";z-index:0;background:#5e2f0059;position:absolute;inset:0}.hero-block>*{z-index:1;position:relative}.hero-block .eyebrow{color:#ead5aa;margin-top:0;margin-bottom:-1.2rem}.hero-block h1{margin-bottom:-.5rem}.hero-block p{text-shadow:0 1px 6px #00000040;margin-bottom:.5rem}.hero-block .cta{color:#ead5aa;border-color:#ead5aa;margin-top:.6rem}.hero-block .cta:hover{color:#5e2500;background:#ead5aa}.hero-text{flex-direction:column;grid-row:2;align-items:center;display:flex}.hero-ctas{flex-direction:column;grid-row:3;align-self:start;align-items:center;margin-top:.75rem;display:flex}.hero-block .hero-cta{box-sizing:border-box;text-align:center;white-space:nowrap;width:200px;padding-left:.5rem;padding-right:.5rem}.hero-ctas .hero-cta{margin-top:0}.hero-block .hero-cta{color:#ead5aa;background:#5e2500;border-color:#5e2500}.hero-block .hero-cta:hover{color:#5e2500;background:#ead5aa;border-color:#ead5aa}#about .info-list p{margin-bottom:.5rem}#about{background:#ead5aa;min-height:0;padding:0;display:block}.ethos-section{min-height:0;padding:0;display:block}.about-block{text-align:left;flex-direction:column;justify-content:center;align-items:center;padding:1.25rem clamp(1.5rem,10vw,8rem);display:flex}.about-block p{width:100%;max-width:684px;margin-bottom:1rem}.info-block p{margin-bottom:0}.about-block h2{width:100%;max-width:684px}.info-list{width:100%;max-width:684px;margin-top:1rem;font-size:.9rem}.ethos-block{color:#5e2500;background:#ead5aa}.ethos-block .eyebrow{color:#5e2500;letter-spacing:normal;align-self:center;margin-top:1.5rem;font-size:clamp(1.4rem,3vw,2rem);font-weight:400;text-decoration:none}.info-block,.info-block h2{color:#5e2500}.about-side-layout{align-items:stretch;gap:4rem;max-width:1200px;margin:0 auto;padding:3rem clamp(1.5rem,6vw,4rem);display:flex}.about-side-layout .info-block{flex:1;padding:0}.about-side-image{box-sizing:border-box;object-fit:cover;border-radius:16px;flex:0 0 450px;width:450px}@media (width<=1100px){.about-side-layout{flex-direction:column}.about-side-image{flex:none;width:100%;height:320px}}.photo-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%;max-width:900px;margin:2.5rem auto 1.5rem;display:grid}.photo-grid img{opacity:0;border-radius:8px;width:100%;height:auto;transition:opacity .35s,transform .4s cubic-bezier(.34,1.2,.64,1);transform:scale(.92)}.photo-grid img.visible{opacity:1;transform:scale(1)}.photo-grid--teaser a{display:block}.photo-grid--teaser img{object-fit:cover;height:315px;display:block}@media (width>=601px){.photo-grid--teaser{gap:1.5rem}}@media (width<=600px){.photo-grid{grid-template-columns:1fr}.photo-grid--teaser img{aspect-ratio:3/2;height:auto}}.embed-placeholder{border:1px dashed var(--brown-3);width:100%;max-width:700px;min-height:300px;color:var(--brown-3);letter-spacing:.08em;justify-content:center;align-items:center;margin-top:2rem;padding:2rem;font-size:.85rem;display:flex}#events,#schedule,#purchase{background:#f3eedf}#schedule{min-height:0;padding-top:1.25rem;padding-bottom:3rem}#purchase{min-height:0;padding-top:1.25rem;padding-bottom:1.25rem}#teacher-training,#events{min-height:0;padding-top:1.25rem}#teacher-training{background:#ead5aa;padding-bottom:1.25rem}#events{padding-bottom:3rem}footer{color:#ead5aa;text-align:center;background:#5e2500;padding:3rem 1.5rem;font-size:.85rem;position:relative}footer a{color:var(--tan)}.footer-icon{width:auto;height:100px;position:absolute;top:50%;right:2rem;transform:translateY(-50%)}@media (width<=640px){.footer-icon{height:72px;margin:1.75rem auto 0;display:block;position:static;transform:none}.hero-block{background-attachment:scroll}.hero-block .eyebrow{margin-bottom:-.5rem}}.photo-grid img{cursor:pointer}.lightbox-overlay{z-index:500;background:#140a00eb;justify-content:center;align-items:center;padding:3rem 1.5rem;display:none;position:fixed;inset:0}.lightbox-overlay.open{display:flex}.lightbox-overlay img{object-fit:contain;border-radius:8px;max-width:90vw;max-height:88vh}.lightbox-close{color:#ead5aa;cursor:pointer;z-index:501;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;line-height:1;display:flex;position:fixed;top:1.5rem;right:1.5rem}.lightbox-close:hover{background:#fff3}.lightbox-nav{color:#ead5aa;cursor:pointer;z-index:501;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:2rem;line-height:1;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff3}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}@media (width<=640px){.lightbox-nav{width:42px;height:42px;font-size:1.5rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}}body.lightbox-open{overflow:hidden}main.standalone>#schedule,main.standalone>#events,main.standalone>#purchase{padding-top:9rem}main.standalone>#about{padding-top:6rem}.about-block h1{width:100%;max-width:684px}.info-block h1{color:#5e2500;letter-spacing:normal;margin-bottom:1.5rem;font-size:clamp(1.4rem,3vw,2rem);font-weight:400;transition-delay:.15s}@media (width<=768px){#schedule,#events{padding-left:2.25rem;padding-right:2.25rem}}.events-embed--mobile{display:none}@media (width<=768px){.events-embed--desktop{display:none}.events-embed--mobile{display:block}}.section-link{z-index:1;color:inherit;text-underline-offset:.18em;font:inherit;letter-spacing:inherit;margin:-.75rem -1.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:color .2s;display:inline-block;position:relative}.section-link:hover,.section-link:focus-visible{text-decoration:none}.section-link:after{content:"";transform-origin:bottom;opacity:0;background:currentColor;height:1px;position:absolute;bottom:calc(.75rem + .32em);left:1.5rem;right:1.5rem;transform:scaleY(.75)}.section-link:hover:after,.section-link:focus-visible:after{opacity:1}.purchase-embed{margin-top:-2.5rem}@media (width<=768px){.purchase-embed{margin-top:-1rem}.about-side-layout{gap:1.25rem}}.ethos-block p{text-wrap:pretty}.ethos-block p:last-child{margin-bottom:2rem}nav a.active{color:var(--brown-3);text-underline-offset:4px;text-decoration:underline}#teachers{min-height:0;padding-top:1.25rem;padding-bottom:4rem}#teachers h1{font-size:clamp(1.4rem,3vw,2rem)}main.standalone>#teachers{padding-top:9rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.teacher-grid{grid-template-columns:repeat(3,1fr);gap:2.25rem 1.5rem;width:100%;max-width:960px;margin:.5rem auto 0;padding:0;list-style:none;display:grid}.teacher-card{height:100%;color:var(--brown-2);flex-direction:column;text-decoration:none;display:flex}.teacher-grid .teacher-card-name{text-transform:none;letter-spacing:.02em;color:var(--brown-2);opacity:1;flex:1;justify-content:center;align-items:flex-end;margin:0 0 .6rem;font-size:1.15rem;font-weight:400;display:flex}.teacher-photo{border-radius:8px;display:block;overflow:hidden}.teacher-card img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.7,.2,1);display:block}@media (hover:hover) and (pointer:fine){.teacher-card:hover img{transform:scale(1.06)}}.teacher-card:focus-visible img{transform:scale(1.06)}@media (prefers-reduced-motion:reduce){.teacher-card img{transition:none}}.teacher-grid.reveal-ready .teacher-photo{opacity:0;transition:opacity .45s,transform .55s cubic-bezier(.34,1.2,.64,1);transform:scale(.92)}.teacher-grid.reveal-ready .teacher-photo.is-revealed{opacity:1;transform:scale(1)}@media (width<=600px){.teacher-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem .75rem}.teacher-grid .teacher-card-name{margin-bottom:.4rem;font-size:.95rem}}main.standalone>#teachers,#teacher-bio{text-transform:none}#teacher-bio h1,main.standalone>#teachers h1{text-transform:lowercase}#teacher-bio{background:var(--cream);justify-content:flex-start;padding:8.5rem 1.5rem 4rem}.back-link{text-align:left;width:100%;max-width:620px;color:var(--brown-2);letter-spacing:.08em;align-self:center;margin-bottom:1.5rem;font-size:.9rem;text-decoration:none}.back-link--bottom{margin:2rem 0 0}.back-link:hover,.back-link:focus-visible{text-underline-offset:4px;text-decoration:underline}#teacher-bio h1{color:var(--brown-2);margin-bottom:1.25rem;font-size:clamp(1.8rem,4vw,2.6rem)}.teacher-headshot{aspect-ratio:1;object-fit:cover;border-radius:12px;width:min(360px,100%);height:auto;margin:0 auto 2.5rem;display:block}.bio-box{text-align:left;background:#fff;border-radius:16px;flex-direction:column;gap:1rem;width:100%;max-width:620px;padding:3rem 2.5rem;display:flex}.bio-box p{max-width:none;margin-bottom:0;font-size:1rem}.bio-box strong{color:var(--brown-2);margin-bottom:.5rem;font-weight:600;display:block}.bio-box a{color:var(--brown-2);text-underline-offset:4px}@media (width<=640px){.tt-quotes br{display:none}.tt-quotes .tt-quote{display:block}.tt-quotes .tt-quote:not(:first-child){margin-top:.75em}}
