@font-face{font-family:Magic Alphabet;src:url(/fonts/Magic%20Alphabet.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--teal: #398384;--teal-dark: #2a6263;--teal-light: #8ab8b9;--teal-pale: #c5dbdb;--gold: #f6d695;--gold-dark: #c4a45e;--gold-light: #fbe8c0;--white: #ffffff;--cream: #faf5eb;--warm-brown: #8a6e4e;--burgundy: #7a3b3b;--charcoal: #2d2d2d;--text: #3a3a3a;--text-light: #6b6b6b;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 6rem;--max-width: 1100px;--radius: 8px;--radius-lg: 16px}.skip-link{position:absolute;top:-100%;left:0;background:var(--teal-dark);color:var(--white);padding:.75rem 1.5rem;z-index:9999;font-weight:600;text-decoration:underline;border-radius:0 0 var(--radius) 0}.skip-link:focus{top:0;outline:3px solid var(--gold);outline-offset:2px}:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:2px}.site-footer :focus-visible,.cta-section :focus-visible,.page-hero :focus-visible,.hero :focus-visible{outline-color:var(--gold)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--cream);line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--teal-dark);text-decoration:none;transition:color .2s}a:hover{color:var(--teal)}h1,h2,h3,h4{font-family:Magic Alphabet,Georgia,serif;color:var(--teal-dark);line-height:1.3;font-weight:400;letter-spacing:.1em}h1{font-size:2.8rem}h2{font-size:2.4rem}h3{font-size:2rem}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{background:var(--white);border-bottom:3px solid var(--gold);padding:var(--space-sm) 0;position:sticky;top:0;z-index:100}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}.site-logo{display:flex;align-items:center;gap:12px;text-decoration:none}.site-logo img{height:66px;width:auto}.site-name{display:flex;flex-direction:column;line-height:1.1;margin-left:-32px;margin-top:36px}.site-name-main{font-family:Magic Alphabet,Georgia,serif;font-size:1.5rem;letter-spacing:.1em;color:var(--teal);word-spacing:-.2rem}.site-name-sub{font-family:Magic Alphabet,Georgia,serif;font-size:1.08rem;letter-spacing:.1em;color:var(--gold);margin-left:2.8rem}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-xs)}.nav-toggle span{display:block;width:28px;height:3px;background:var(--teal);margin:5px 0;border-radius:2px;transition:.3s}.main-nav ul{display:flex;list-style:none;gap:var(--space-md);align-items:center}.main-nav a{color:var(--text);font-weight:500;font-size:1rem;padding:var(--space-xs) 0;position:relative}.main-nav a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gold);transition:width .3s}.main-nav a:hover:after,.main-nav a.active:after{width:100%}.main-nav a:hover{color:var(--teal)}.nav-cta{background:var(--teal-dark);color:var(--white)!important;padding:.6rem 1.4rem!important;border-radius:var(--radius);font-weight:600}.nav-cta:after{display:none!important}.nav-cta:hover{background:var(--teal-dark);color:var(--white)!important;filter:brightness(.88)}@media(max-width:768px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);border-bottom:3px solid var(--gold);padding:var(--space-sm) var(--space-md)}.main-nav.open{display:block}.main-nav ul{flex-direction:column;gap:0}.main-nav li{border-bottom:1px solid var(--gold-light)}.main-nav li:last-child{border-bottom:none;margin-top:var(--space-sm)}.main-nav a{display:block;padding:.8rem 0}.nav-cta{display:inline-block;text-align:center}}.btn{display:inline-block;padding:.9rem 2rem;border-radius:var(--radius);font-weight:600;font-size:1.05rem;text-align:center;cursor:pointer;border:none;transition:all .2s}.btn-primary{background:var(--teal-dark);color:var(--white)}.btn-primary:hover{background:var(--teal-dark);color:var(--white);filter:brightness(.88)}.btn-secondary{background:var(--gold);color:var(--charcoal)}.btn-secondary:hover{background:var(--gold-dark);color:var(--white)}.btn-outline{background:transparent;color:var(--teal-dark);border:2px solid var(--teal-dark)}.btn-outline:hover{background:var(--teal-dark);color:var(--white)}.site-footer{background:var(--teal-dark);color:var(--teal-pale);padding:var(--space-lg) 0 var(--space-md)}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.footer-brand img{height:50px;margin-bottom:var(--space-sm)}.footer-brand p{font-size:.95rem;line-height:1.6;max-width:340px}.footer-links h4{color:var(--gold);font-size:1.1rem;margin-bottom:var(--space-sm)}.footer-links ul{list-style:none}.footer-links li{margin-bottom:var(--space-xs)}.footer-links a{color:var(--gold);font-size:.95rem}.footer-links a:hover{color:var(--gold)}.footer-bottom{max-width:var(--max-width);margin:var(--space-md) auto 0;padding:var(--space-sm) var(--space-md) 0;border-top:1px solid var(--teal);text-align:center;font-size:.85rem}.footer-charity{margin-top:var(--space-xs);font-style:italic;color:var(--gold);font-size:.9rem}@media(max-width:768px){.footer-inner{grid-template-columns:1fr;gap:var(--space-md)}}.hero{background:var(--teal-dark);color:var(--white);padding:var(--space-xl) 0;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:54%;left:2%;transform:translateY(-50%);width:269px;height:269px;background-image:url(/images/logo.png);background-size:contain;background-repeat:no-repeat;opacity:.07;pointer-events:none}.hero-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:center}.hero-content{padding-left:0}.hero-badge,.hero-tagline{margin-left:3rem}.hero h1{color:var(--white);margin-bottom:var(--space-sm)}.hero-tagline{font-size:1.25rem;color:var(--gold);margin-bottom:var(--space-md);line-height:1.6}.hero-image{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 32px #0000004d}.hero-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}@media(max-width:768px){.hero{padding:var(--space-lg) 0}.hero-inner{grid-template-columns:1fr;gap:var(--space-md)}h1{font-size:2.2rem}.hero-image{order:-1}}.page-hero{background:var(--teal-dark);color:var(--white);padding:var(--space-lg) 0;text-align:center}.page-hero h1{color:var(--white);margin-bottom:var(--space-xs)}.page-hero p{font-size:1.15rem;color:var(--gold);max-width:600px;margin:0 auto}.section{padding:var(--space-xl) 0;border-top:4px solid var(--teal-pale)}.section-alt{background:var(--white)}.section-header{text-align:center;margin-bottom:var(--space-md)}.section-header h2{margin-bottom:.25rem}.section-header p{color:var(--text-light);font-size:1.1rem;max-width:600px;margin:0 auto}.card{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:0 2px 12px #0000000f;border:1px solid var(--gold-light)}.card-highlight{border:2px solid var(--teal);position:relative}.card-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--teal);color:var(--white);padding:.3rem 1.2rem;border-radius:20px;font-size:.85rem;font-weight:600;white-space:nowrap}.workshop-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);max-width:900px;margin:0 auto}.workshop-card{padding:var(--space-md) var(--space-md) var(--space-sm)}.workshop-card h3{margin-bottom:var(--space-xs)}.workshop-price{font-size:2rem;font-weight:700;color:var(--teal);margin:var(--space-sm) 0}.workshop-price span{font-size:1rem;color:var(--text-light);font-weight:400}.workshop-details{list-style:none;margin:var(--space-sm) 0}.workshop-details li{padding:.4rem 0 .4rem 1.5rem;position:relative;font-size:.95rem}.workshop-details li:before{content:"✦";position:absolute;left:0;color:var(--gold-dark)}.workshop-card .btn{width:100%;margin-top:var(--space-sm)}@media(max-width:768px){.workshop-cards{grid-template-columns:1fr}}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);max-width:900px;margin:0 auto}.step{text-align:center}.step-number{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:var(--gold);color:var(--charcoal);font-weight:700;font-size:1.3rem;font-family:Georgia,serif;margin-bottom:var(--space-sm)}.step h3{font-size:1.5rem;margin-bottom:var(--space-xs)}.step p{font-size:.9rem;color:var(--text-light)}@media(max-width:768px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:480px){.steps{grid-template-columns:1fr}}.step-label{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--white);background:var(--teal-dark);display:inline-block;padding:.25em .75em;border-radius:2em;margin-bottom:.5rem}.magic-stars{display:block;margin:0 auto .5rem;width:120px;height:56px}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.magic-stars text:nth-child(1){animation:twinkle 2.4s ease-in-out infinite 0s}.magic-stars text:nth-child(2){animation:twinkle 2.4s ease-in-out infinite .6s}.magic-stars text:nth-child(3){animation:twinkle 2.4s ease-in-out infinite 1.2s}.magic-stars text:nth-child(4){animation:twinkle 2.4s ease-in-out infinite 1.8s}.magic-stars text:nth-child(5){animation:twinkle 2.4s ease-in-out infinite 2.2s}.proud{display:block;font-style:normal;font-family:Magic Alphabet,Georgia,serif;font-size:1.3rem;color:var(--teal-dark);letter-spacing:.1em;margin-top:.4rem}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-lg);align-items:center}.about-image{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 20px #0000001a}.about-image img{width:100%;object-fit:contain;aspect-ratio:4/3;background:var(--cream)}.about-text h2{margin-bottom:var(--space-sm)}.about-text p{margin-bottom:var(--space-sm);font-size:1.05rem}@media(max-width:768px){.about-grid{grid-template-columns:1fr}.about-image{max-width:400px;margin:0 auto}}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.gallery-item{border-radius:var(--radius);overflow:hidden;aspect-ratio:1}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-item:hover img{transform:scale(1.05)}@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.info-card{text-align:center}.info-card img{border-radius:var(--radius);margin-bottom:var(--space-sm);box-shadow:0 2px 8px #00000014}.info-card h3{font-size:1.15rem;margin-bottom:var(--space-xs)}.info-card p{font-size:.9rem;color:var(--text-light)}@media(max-width:768px){.info-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}}.charity-callout{background:var(--gold-light);border-left:4px solid var(--gold-dark);padding:var(--space-md);border-radius:0 var(--radius) var(--radius) 0;max-width:700px;margin:var(--space-md) auto}.charity-callout p{font-size:1.05rem;color:var(--charcoal)}.charity-callout strong{color:var(--teal-dark)}.cta-section{background:var(--teal);color:var(--white);padding:var(--space-lg) 0;text-align:center}.cta-section h2{color:var(--white);margin-bottom:var(--space-xs)}.cta-section p{font-size:1.1rem;color:var(--white);margin-bottom:var(--space-md);max-width:500px;margin-left:auto;margin-right:auto}.cta-section .btn-secondary{font-size:1.15rem;padding:1rem 2.5rem}.faq-list{max-width:700px;margin:0 auto}.faq-item{border-bottom:1px solid var(--gold-light);padding:var(--space-sm) 0}.faq-item summary{font-weight:600;font-size:1.05rem;cursor:pointer;padding:var(--space-xs) 0;color:var(--teal-dark);list-style:none}.faq-item summary:before{content:"+";display:inline-block;width:1.5rem;font-size:1.3rem;color:var(--gold-dark);transition:transform .2s}.faq-item[open] summary:before{content:"−"}.faq-item p{padding:var(--space-xs) 0 var(--space-xs) 1.5rem;color:var(--text-light)}.placeholder-section{text-align:center;padding:var(--space-xl) var(--space-md)}.placeholder-section p{font-size:1.1rem;color:var(--text-light);max-width:500px;margin:var(--space-sm) auto}
