: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 a.active{color:var(--brown-3);text-underline-offset:4px;text-decoration:underline}.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)}}main{max-width:900px;margin:0 auto;padding:0 1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--brown-3);text-align:center;margin-bottom:.4rem;font-size:.75rem}h1{text-align:center;margin-bottom:.5rem;font-size:clamp(1.4rem,3vw,2rem);font-weight:400}h2.led-by{text-align:center;color:var(--brown-2);margin-bottom:.25rem;font-size:1.1rem;font-weight:400}.with-names{text-align:center;color:var(--brown-2);margin-bottom:.25rem;font-size:.95rem}.special-guests{text-align:center;color:var(--brown-3);margin-bottom:2rem;font-size:.9rem}.cta-row{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem;display:flex}.cta{color:#ead5aa;letter-spacing:.08em;border:1px solid #ead5aa;border-radius:9px;padding:.9rem 2.2rem;font-size:.85rem;text-decoration:none;transition:background .3s,color .3s;display:inline-block}.cta:hover{color:#5e2500;background:#ead5aa}.cta-dark{color:#5e2500;border-color:#5e2500}.cta-dark:hover{color:#ead5aa;background:#5e2500}section{margin-bottom:4rem}.gallery-wrap{margin-bottom:0}h3{color:var(--brown-2);text-align:center;margin-bottom:1rem;font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:400}p{margin-bottom:1rem}.highlight-block{background:var(--tan);color:var(--brown-2);border-radius:16px;margin:2rem 0;padding:2rem}.highlight-block p{margin-bottom:1rem}.highlight-block p:last-child{margin-bottom:0}.highlight-block strong{font-weight:600}.price-block{text-align:center;color:#ead5aa;background-image:url(/images/castro-room-yoga-teacher-training-manual.jpg);background-position:50%;background-size:cover;border-radius:0;margin:0 calc(50% - 50vw) 2rem;padding:4rem 2rem;position:relative;overflow:hidden}.price-block:before{content:"";z-index:0;background:#32190040;position:absolute;inset:0}.price-block>*{z-index:1;position:relative}.price-block .price{color:#ead5aa;margin-bottom:.5rem;font-size:clamp(2rem,5vw,2.8rem)}.price-block .plan{color:#ead5aa;margin-bottom:.25rem;font-size:.9rem}.price-block .plan a{color:var(--tan);text-decoration:underline}.price-block .plan-detail{color:#ead5aa;margin-bottom:1.5rem;font-size:.8rem}.price-block .plan-detail a{color:var(--tan);text-decoration:underline}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}}footer p{margin-bottom:.4rem}.photo-grid{grid-template-columns:repeat(6,1fr);gap:1rem;margin:0 calc(50% - 50vw) 2rem;padding:0 1.5rem;display:grid}.photo-grid img{object-fit:cover;opacity:0;border-radius:12px;width:100%;height:220px;transition:opacity .35s,transform .4s cubic-bezier(.34,1.2,.64,1);transform:scale(.92)}.photo-grid img.visible{opacity:1;transform:scale(1)}@media (width<=900px){.photo-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-grid img{height:160px}.offwhite-block{max-width:100%}}.faq{margin-top:2rem}.faq h3{text-align:center;margin-bottom:2rem}.faq-item{text-transform:none;border-bottom:1px solid #5e2f0033}.faq-item summary{cursor:pointer;color:var(--brown-2);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;font-size:1.05rem;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--brown-3);flex-shrink:0;font-size:1.4rem;line-height:1;transition:transform .3s}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{color:var(--brown-1);padding-bottom:1.5rem;font-size:.95rem}.testimonials-section{background-image:url(/images/yoga-class-students-folding-forward-castro-room.jpg);background-position:50%;background-size:cover;border-radius:0;justify-content:center;margin:4rem calc(50% - 50vw) 0;padding:5rem 1.5rem;display:flex}.testimonials-inner{background:var(--cream);border-radius:16px;width:100%;max-width:1000px;padding:3rem 2.5rem;box-shadow:0 20px 50px #32190059}.testimonials-inner h3{text-align:center;color:var(--brown-2);margin-bottom:3rem}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem;display:grid}.testimonial-quote{color:var(--brown-1);padding-top:1.5rem;font-size:.95rem;line-height:1.7;position:relative}.testimonial-quote:before{content:"“";color:var(--tan);font-family:Georgia,serif;font-size:3.5rem;line-height:1;position:absolute;top:-1rem;left:0}.testimonial-quote p{margin-bottom:1rem}@media (width<=900px){.testimonials-grid{grid-template-columns:1fr;gap:3rem}}.tt-hero{text-align:center;color:#ead5aa;background-image:url(/images/yoga-mats-bolster-notebook-sunlit-studio-floor.jpg);background-position:50%;background-size:cover;background-attachment:fixed;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;margin:0 calc(50% - 50vw) 2rem;padding:8rem 1.5rem 3rem;display:flex;position:relative}.tt-hero:before{content:"";z-index:0;background:#32190080;position:absolute;inset:0}.tt-hero>*{z-index:1;position:relative}.tt-hero h1{color:#ead5aa;opacity:0;font-size:clamp(1.8rem,4vw,2.6rem);transition:opacity .45s .1s}.tt-hero h2.led-by{color:var(--tan);opacity:0;transition:opacity .45s .15s}.tt-hero .with-names{color:#ead5aa;opacity:0;transition:opacity .45s .2s}.tt-hero .special-guests{color:var(--tan)}.tt-hero .cta-row{opacity:0;margin-bottom:0;transition:opacity .45s .3s}.tt-hero.visible h1,.tt-hero.visible h2.led-by,.tt-hero.visible .with-names,.tt-hero.visible .cta-row{opacity:1}.pillars-section{background-image:url(/images/vinyasa-yoga-class-triangle-pose-san-francisco.jpg);background-position:50%;background-size:cover;border-radius:0;justify-content:center;margin:0 calc(50% - 50vw) 2rem;padding:4rem 1.5rem;display:flex;position:relative}.pillars-box{max-width:620px;color:var(--brown-2);background:#ead5aa;border-radius:16px;padding:2.5rem}.pillars-box p{margin-bottom:1.25rem}.pillars-box p:last-child{margin-bottom:0}.pillars-box strong{margin-bottom:.25rem;font-weight:600;display:block}.offwhite-block{text-align:center;background:#fff;border-radius:16px;flex-direction:column;gap:1rem;max-width:620px;margin:0 auto 2rem;padding:3rem 2.5rem;display:flex}.offwhite-block>*{margin-bottom:0!important}.offwhite-block.visible{opacity:1}.tt-hero,.tt-hero *,.price-block,.price-block *{color:#ead5aa}.offwhite-block strong{color:var(--brown-2);margin-bottom:.5rem;font-weight:600;display:block}.tt-left{text-align:left}.schedule-heading{margin-bottom:1rem;font-weight:300}.schedule-times{text-align:center;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;font-size:.95rem;display:grid}.schedule-times strong{font-weight:600;display:inline}.schedule-dates{text-align:center;color:var(--brown-2);grid-template-columns:1fr 1fr;gap:.5rem 1rem;font-size:.95rem;display:grid}.schedule-dates .month{padding:.5rem 0}@media (width<=600px){.schedule-times,.schedule-dates{grid-template-columns:1fr}}@media (width<=640px){.tt-hero{background-attachment:scroll}}.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}.waitlist-overlay{z-index:600;background:#140a00bf;justify-content:center;align-items:center;padding:1.5rem;display:none;position:fixed;inset:0}.waitlist-overlay.open{display:flex}.waitlist-box{background:var(--cream);text-align:left;border-radius:16px;width:100%;max-width:440px;padding:2.5rem;position:relative}.waitlist-close{width:36px;height:36px;color:var(--brown-2);cursor:pointer;background:0 0;border:1px solid #5e2f004d;border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;line-height:1;display:flex;position:absolute;top:1rem;right:1rem}.waitlist-box h3{text-align:left;margin-bottom:1.5rem}.waitlist-box form{flex-direction:column;gap:1.1rem;display:flex}.waitlist-box label{text-transform:uppercase;letter-spacing:.08em;color:var(--brown-3);margin-bottom:.4rem;font-size:.8rem;display:block}.waitlist-box input,.waitlist-box textarea{text-transform:none;width:100%;color:var(--brown-1);background:#fff;border:1px solid #5e2f0040;border-radius:8px;padding:.75rem 1rem;font-family:inherit;font-size:1rem}.waitlist-box input:focus,.waitlist-box textarea:focus{border-color:var(--brown-2);outline:none}.waitlist-box textarea{resize:vertical;min-height:100px}button.cta{cursor:pointer;align-self:flex-start;font-family:inherit}.waitlist-submit,.cta-solid{color:#5e2500;text-transform:lowercase;background:#ead5aa;border-color:#ead5aa}.waitlist-submit:hover{color:#ead5aa;background:#5e2500;border-color:#5e2500}.cta-solid:hover{color:#ead5aa;background:0 0;border-color:#ead5aa}button.cta:disabled{opacity:.5;cursor:not-allowed}.waitlist-status{margin-top:.25rem;font-size:.9rem;display:none}.waitlist-status.success{color:#2d5a2d;display:block}.waitlist-status.error{color:#8a2d2d;display:block}.offwhite-block h3,.offwhite-block p,.offwhite-block strong,.offwhite-block .schedule-times,.pillars-box h3,.pillars-box p,.price-block .price,.price-block p,.price-block .cta-row,.testimonials-inner h3,.testimonials-inner .testimonials-grid,.faq-item{opacity:0;transition:opacity .45s}.offwhite-block.visible h3,.offwhite-block.visible p,.offwhite-block.visible strong,.offwhite-block.visible .schedule-times,.pillars-box.visible h3,.pillars-box.visible p,.price-block.visible .price,.price-block.visible p,.price-block.visible .cta-row,.testimonials-inner.visible h3,.testimonials-inner.visible .testimonials-grid,.faq.visible .faq-item{opacity:1}
