:root{--green:#87b8b3;--green-dark:#629d98;--green-light:#a8ceca;--cream:#f0e6d0;--cream-dark:#e3d4b8;--cream-mid:#ecdfc8;--sand:#d9c9a8;--terra:#c07a5a;--terra-dark:#a06248;--terra-light:#d4956e;--text:#2a2320;--text-muted:#6b5f52;--border:#cfc3ac}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{letter-spacing:.06em;color:#39595b;background-color:var(--cream);font-family:Tenor Sans,sans-serif;line-height:1.7}body:before{content:"";opacity:.55;z-index:-1;background-image:url(/background.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}main,.page-body{background:0 0}h1,h2,h3,h4{color:var(--green-dark);font-family:Cormorant Garamond,Georgia,serif;font-weight:500;line-height:1.25}h1{margin-bottom:1rem;font-size:2.6rem}h2{margin-bottom:.75rem;font-size:1.9rem}h3{margin-bottom:.5rem;font-size:1.35rem}p{margin-bottom:1rem}a{color:var(--green);text-decoration:none}a:hover{color:var(--green-dark);text-decoration:underline}nav{border-bottom:1px solid var(--sand);z-index:100;background:#87b8b3;align-items:center;gap:0;min-height:64px;padding:0 2rem;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #00000014}.nav-brand{align-items:center;gap:.75rem;margin-right:auto;display:flex;text-decoration:none!important}.nav-logo{object-fit:cover;border-radius:50%;width:42px;height:42px}.nav-brand-name{letter-spacing:.04em;font-family:Cormorant Garamond,Georgia,serif;font-size:1.35rem;font-weight:500;color:#39595b!important}nav a{color:#fffaf5;letter-spacing:.2em;text-transform:uppercase;align-items:center;height:64px;padding:0 1.1rem;font-family:GFS Didot,sans-serif;font-size:.82rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:flex}nav a:hover{color:#39595b;background:#0000000a;text-decoration:none}.nav-active{border-bottom:2px solid #39595b;font-weight:600;color:#39595b!important}.nav-links{align-items:center;display:flex}.nav-hamburger,.nav-mobile-menu{display:none}.hamburger-icon,.hamburger-icon:before,.hamburger-icon:after{background:#fffaf5;border-radius:2px;width:22px;height:2px;transition:transform .2s,opacity .2s;display:block;position:relative}.hamburger-icon:before,.hamburger-icon:after{content:"";position:absolute;left:0}.hamburger-icon:before{top:-7px}.hamburger-icon:after{top:7px}.hamburger-icon.open{background:0 0}.hamburger-icon.open:before{top:0;transform:rotate(45deg)}.hamburger-icon.open:after{top:0;transform:rotate(-45deg)}.package-tile p,.package-tile li{letter-spacing:.06em;color:#39595b;font-family:Tenor Sans,sans-serif}.container{max-width:860px;margin:0 auto;padding:1rem 1.5rem}.hero{text-align:center;background:0 0;justify-content:center;align-items:center;min-height:460px;display:flex;position:relative;overflow:hidden}.hero-content{z-index:1;color:var(--cream);padding:3rem 1.5rem 5rem;position:relative}.hero-content h1{color:var(--green-dark);letter-spacing:.04em;text-transform:uppercase;text-shadow:0 2px 16px #fff6;margin-bottom:.4rem;font-family:Cormorant Garamond,Georgia,serif;font-size:3.8rem;font-weight:200}.hero-instructor{color:var(--green);text-shadow:0 2px 10px #ffffff4d;margin-bottom:1.1rem;font-family:Instrument Serif,serif;font-size:2.6rem;font-style:italic;font-weight:400}.hero-tagline{letter-spacing:.18em;text-transform:uppercase;color:#f0e6d0b8;margin-bottom:2rem;font-size:.88rem}.card{border:1px solid var(--border);background:#fff;border-radius:6px;margin-bottom:1.25rem;padding:1.25rem 1.5rem;box-shadow:0 1px 4px #0000000f}.card h3{margin-bottom:.4rem}.badge{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);background:var(--cream-dark);color:var(--text-muted);border-radius:3px;padding:.15rem .6rem;font-size:.78rem;font-weight:700;display:inline-block}.badge-soldout{border-color:var(--terra);color:var(--terra-dark);background:#fdf0ee}.badge-confirmed{border-color:var(--green);color:var(--green-dark);background:#edf5f1}.badge-pending{color:#8a6520;background:#fdf8ed;border-color:#c8963e}form label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem;font-size:.85rem;font-weight:700;display:block}form input,form select,form textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:40px;margin-bottom:1.1rem;padding:.6rem .75rem;font-family:Lato,sans-serif;font-size:1rem;transition:border-color .15s;display:block}form input:focus,form select:focus,form textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 2px #3d6b581f}button,.btn{background:var(--green);color:#fff;cursor:pointer;letter-spacing:.2em;text-transform:uppercase;border:none;border-radius:75px;padding:.6rem 1.4rem;font-family:GFS Didot,serif;font-size:.9rem;font-weight:200;text-decoration:none;transition:background .15s;display:inline-block}button:hover,.btn:hover{background:var(--green-dark);text-decoration:none}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{color:var(--green);border:1px solid var(--green);background:#fff}button.secondary:hover{background:var(--cream)}button.danger{background:var(--terra)}button.danger:hover{background:var(--terra-dark)}table{border-collapse:collapse;background:#fff;border-radius:6px;width:100%;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 1px 4px #0000000f}th{background:var(--green-dark);color:var(--cream);letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:.65rem .75rem;font-family:Lato,sans-serif;font-size:.78rem;font-weight:700}td{text-align:left;border-bottom:1px solid var(--cream-dark);padding:.65rem .75rem}tr:last-child td{border-bottom:none}tr:hover td{background:#fafaf7}.section-divider{border:none;border-top:1px solid var(--border);margin:2rem 0}.error{color:var(--terra-dark);border:1px solid var(--terra);background:#fdf0ee;border-radius:4px;margin-bottom:1rem;padding:.6rem .9rem;font-size:.95rem}.success{color:var(--green-dark);border:1px solid var(--green-light);background:#edf5f1;border-radius:4px;margin-bottom:1rem;padding:.6rem .9rem;font-size:.95rem}.class-images{flex-wrap:wrap;justify-content:center;gap:3.5rem;margin:2rem 0;display:flex}.class-images img{object-fit:cover;border:4px solid var(--sand);border-radius:50%;width:220px;height:220px;display:block;box-shadow:0 4px 16px #0000001f}.teal-band{background:var(--green-dark);text-align:center;padding:3.5rem 1.5rem;position:relative}.teal-band-flat:before{display:none}.teal-band:before{content:"";background:var(--cream);border-radius:0 0 50% 50%/0 0 100% 100%;width:160%;height:70px;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.teal-band h2{color:var(--cream);margin-bottom:.5rem;font-family:Great Vibes,cursive;font-size:3rem;font-weight:400}.teal-band p{color:#f0e6d0bf;letter-spacing:.06em;margin-bottom:1.5rem;font-size:calc(.9rem + 6pt)}.schedule-calendar{width:100vw;margin-bottom:1rem;margin-left:calc(50% - 50vw);padding-left:1rem;padding-right:1rem}.schedule-calendar .fc{font-family:var(--font-body);background:#fff;border:3px solid #629d98;border-radius:4px;overflow:hidden}.schedule-calendar .fc-col-header,.schedule-calendar .fc-col-header-cell,.schedule-calendar .fc-scrollgrid-section-header>td{background:#fff!important}.schedule-calendar .fc-timegrid-divider{display:none}.schedule-calendar .fc-toolbar-title{color:var(--green);letter-spacing:.06em;font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem}.schedule-calendar .fc-button{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important;text-transform:capitalize!important;box-shadow:none!important;border-radius:4px!important;padding:.3rem .7rem!important;font-family:Lato,sans-serif!important;font-size:.8rem!important}.schedule-calendar .fc-button:hover{background:var(--green-dark)!important;border-color:var(--green-dark)!important}.schedule-calendar .fc-button-active{background:var(--terra)!important;border-color:var(--terra)!important}.schedule-calendar .fc-daygrid-day-number,.schedule-calendar .fc-col-header-cell-cushion{color:var(--text);text-decoration:none}.schedule-calendar .fc-day-today{background:#2a7a6a12!important}.schedule-calendar .fc-event{cursor:pointer;border-radius:4px}.class-grid-desktop{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.5rem;display:grid}.class-grid-cell{flex-direction:column;display:flex}.class-grid-cell>.card{border:1.5px solid #629d98;flex:1;margin-bottom:0}.class-grid-mobile .card{border:1.5px solid #629d98}.class-grid-mobile{display:none}.class-grid-mobile .card{margin-bottom:1rem}@media (max-width:600px){.class-grid-desktop{display:none}.class-grid-mobile{display:block}}@media (max-width:640px){nav{padding:0 1rem;position:relative}.nav-brand-name{font-size:1.1rem;line-height:1.05}.nav-links{display:none}.nav-hamburger{cursor:pointer;width:40px;height:40px;min-width:unset;justify-content:center;align-items:center;margin-left:auto;padding:.5rem;display:flex;box-shadow:none!important;background:0 0!important;border:none!important}.nav-mobile-menu{border-top:1px solid var(--sand);border-bottom:1px solid var(--sand);z-index:99;background:#fdebe1;flex-direction:column;padding:.5rem 0;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 12px #0000001a}.nav-mobile-menu a{border-bottom:1px solid var(--sand);justify-content:flex-end;height:auto;padding:.75rem 1.25rem;font-size:.85rem;color:#87b8b3!important}.nav-mobile-menu a:last-child{border-bottom:none}.container{padding:1.5rem 1rem}.hide-on-mobile-center{text-align:center!important}h1{font-size:2rem}h2{font-size:1.5rem}.hero-content h1{font-size:2.4rem}.hero-instructor{font-size:1.8rem}table{font-size:.85rem}}
