@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Lato:wght@300;400;700&display=swap";.pf{--cream:#faf7f2;--cream-dark:#f2ede5;--rose:#d4728c;--rose-soft:#e8a0b3;--rose-pale:#f8e8ed;--rose-deep:#b5556e;--text:#3d3330;--text-light:#7a706b;--white:#fff;color:var(--text);background:var(--cream);-webkit-font-smoothing:antialiased;font-family:Lato,-apple-system,sans-serif;overflow-x:hidden}.pf *,.pf :before,.pf :after{box-sizing:border-box;margin:0;padding:0}.pf h1,.pf h2,.pf h3{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;line-height:1.15}.pf-nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf7f2eb;border-bottom:1px solid #0000000d;position:fixed;top:0;left:0;right:0}.pf-nav-inner{justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto;padding:16px 24px;display:flex}.pf-nav-brand{color:var(--rose-deep);letter-spacing:.5px;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:600}.pf-nav-links{gap:28px;display:flex}.pf-nav-links a{color:var(--text-light);letter-spacing:.5px;font-size:.82rem;font-weight:400;text-decoration:none;transition:color .2s}.pf-nav-links a:hover{color:var(--rose)}.pf-hero{text-align:center;justify-content:center;align-items:center;min-height:60vh;padding:100px 24px 60px;display:flex;position:relative}.pf-hero-bg{background:var(--cream-dark);z-index:0;position:absolute;inset:0;overflow:hidden}.pf-hero-bg:after{content:"";background:#0006;position:absolute;inset:0}.pf-hero-img{object-fit:cover;object-position:center 30%;width:100%;height:100%}.pf-hero-photo-slot span,.pf-about-photo-slot span,.pf-photo-break-slot span{border:1.5px dashed var(--rose-soft);color:var(--rose-soft);letter-spacing:2px;text-transform:uppercase;border-radius:8px;padding:12px 24px;font-size:.75rem;font-weight:400}.pf-hero-content{z-index:1;position:relative}.pf-hero-eyebrow{letter-spacing:3px;text-transform:uppercase;color:var(--rose-soft);margin-bottom:20px;font-size:.75rem;font-weight:700}.pf-hero h1{color:var(--white);letter-spacing:-1px;margin-bottom:12px;font-size:clamp(2.4rem,6vw,4rem);font-weight:700;line-height:1.05}.pf-hero-tagline{letter-spacing:3px;text-transform:uppercase;color:#ffffffe6;margin-bottom:28px;font-size:.85rem;font-weight:600}.pf-btn{background:var(--rose);color:var(--white);letter-spacing:1.5px;text-transform:uppercase;border-radius:4px;padding:14px 36px;font-size:.8rem;font-weight:700;text-decoration:none;transition:background .2s;display:inline-block}.pf-btn:hover{background:var(--rose-deep)}.pf-about{background:var(--white);padding:100px 24px}.pf-about-inner{grid-template-columns:280px 1fr;align-items:center;gap:60px;max-width:900px;margin:0 auto;display:grid}.pf-about-photo-slot{background:var(--cream);border-radius:6px;width:280px;height:360px;overflow:hidden}.pf-about-img{object-fit:cover;object-position:center top;width:100%;height:100%}.pf-about-text h2{color:var(--text);margin-bottom:20px;font-size:2.4rem}.pf-about-text p{color:var(--text-light);margin-bottom:16px;font-size:.95rem;line-height:1.85}.pf-about-note{background:var(--cream);border-radius:4px;margin-top:8px;padding:10px 14px;font-style:italic;color:var(--rose-soft)!important;font-size:.78rem!important}.pf-split{background:var(--white);padding:100px 24px}.pf-split-inner{grid-template-columns:1fr 1fr;gap:0;max-width:1100px;margin:0 auto;display:grid}.pf-split-left{border-right:1px solid #0000000f;padding-right:48px}.pf-split-right{padding-left:48px}.pf-split-left h2,.pf-split-right h2{color:var(--text);margin-bottom:8px;font-size:2.2rem}.pf-split-sub{color:var(--text-light);margin-bottom:32px;font-size:.88rem;line-height:1.6}.pf-class-list{flex-direction:column;display:flex}.pf-class-item{border-bottom:1px solid #0000000f;padding:20px 0}.pf-class-item:last-child{border-bottom:none}.pf-class-item h3{color:var(--rose-deep);margin-bottom:4px;font-size:1.25rem;font-weight:500}.pf-class-item p{color:var(--text-light);font-size:.82rem;line-height:1.6}.pf-section-head{text-align:center;max-width:520px;margin:0 auto 50px}.pf-section-head h2{color:var(--text);margin-bottom:12px;font-size:clamp(2rem,4vw,2.8rem)}.pf-section-head p{color:var(--text-light);font-size:.92rem;line-height:1.7}.pf-schedule-dates{margin:0}.pf-schedule-dates h3{text-align:center;color:var(--text-light);letter-spacing:.5px;margin-bottom:20px;font-size:1.1rem;font-weight:400}.pf-date-list{flex-direction:column;gap:0;display:flex}.pf-date-row{border-bottom:1px solid #0000000d;align-items:center;gap:20px;padding:14px 0;display:flex}.pf-date-row:last-child{border-bottom:none}.pf-date-badge{color:var(--rose);min-width:70px;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:600}.pf-date-info{color:var(--text-light);flex:1;font-size:.82rem}.pf-date-class-name{color:var(--rose-deep);font-family:Cormorant Garamond,serif;font-size:.95rem;font-weight:600;line-height:1.2;display:block}.pf-date-spots{color:var(--text-light);white-space:nowrap;font-size:.72rem;font-weight:400}.pf-spots-low{color:var(--rose);font-weight:700}.pf-spots-full{color:var(--rose-deep);text-transform:uppercase;letter-spacing:1px;font-weight:700}.pf-date-full{opacity:.5}.pf-private{background:var(--cream);padding:100px 24px}.pf-private-inner{grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:0 auto;display:grid}.pf-private-card{background:var(--white);border:1px solid #0000000d;border-radius:6px;padding:40px 36px}.pf-private-card h3{color:var(--rose-deep);margin-bottom:12px;font-size:1.6rem;font-weight:500}.pf-private-card p{color:var(--text-light);margin-bottom:20px;font-size:.88rem;line-height:1.75}.pf-private-btn{background:var(--rose);color:var(--white);letter-spacing:1.5px;text-transform:uppercase;border-radius:4px;padding:10px 24px;font-size:.75rem;font-weight:700;text-decoration:none;transition:background .2s;display:inline-block}.pf-private-btn:hover{background:var(--rose-deep)}@media (width<=768px){.pf-private-inner{grid-template-columns:1fr}}.pf-details{background:var(--white);padding:100px 24px 40px}.pf-details-inner{max-width:600px;margin:0 auto}.pf-details-inner h2{text-align:center;color:var(--text);margin-bottom:48px;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,2.8rem)}.pf-details-grid{grid-template-columns:1fr 1fr;gap:0;display:grid}.pf-detail{border-bottom:1px solid #0000000f;flex-direction:column;padding:24px 20px;display:flex}.pf-detail:nth-child(odd){border-right:1px solid #0000000f}.pf-detail:nth-last-child(-n+2){border-bottom:none}.pf-detail strong{color:var(--text);margin-bottom:4px;font-size:.95rem;font-weight:700}.pf-detail span{color:var(--text-light);font-size:.82rem;line-height:1.5}.pf-photo-break{background:var(--white);padding:20px 24px 60px}.pf-photo-break-img{object-fit:cover;border-radius:6px;width:100%;max-width:500px;max-height:280px;margin:0 auto;display:block}.pf-cta{background:var(--rose-pale);padding:100px 24px}.pf-cta-inner{text-align:center;max-width:500px;margin:0 auto}.pf-cta-inner h2{color:var(--text);margin-bottom:12px;font-size:clamp(2rem,4vw,2.8rem);font-style:italic}.pf-cta-inner>p{color:var(--text-light);margin-bottom:28px;font-size:.92rem;line-height:1.7}.pf-cta-email{color:var(--text-light);letter-spacing:.5px;margin-top:12px;font-size:.85rem}.pf-footer{background:var(--text);text-align:center;padding:40px 24px}.pf-footer-brand{color:var(--rose-soft);margin-bottom:4px;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:500}.pf-footer p:last-child{color:#fff6;letter-spacing:.5px;font-size:.78rem}@media (width<=768px){.pf-nav-links{gap:16px}.pf-nav-links a{font-size:.75rem}.pf-about-inner{text-align:center;grid-template-columns:1fr;gap:32px}.pf-about-photo-slot{width:200px;height:260px;margin:0 auto}.pf-split-inner{grid-template-columns:1fr;gap:60px}.pf-split-left{border-bottom:1px solid #0000000f;border-right:none;padding-bottom:60px;padding-right:0}.pf-split-right{padding-left:0}.pf-details-grid{grid-template-columns:1fr}.pf-detail:nth-child(odd){border-right:none}.pf-detail:nth-last-child(2){border-bottom:1px solid #0000000f}}@media (width<=480px){.pf-hero h1{font-size:3.2rem}.pf-nav-links{display:none}}
