*{box-sizing:border-box;margin:0;padding:0}body{color:#333;font-display:swap;background-color:#f8f9fa;font-family:Arial,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;font-weight:700;line-height:1.2}p{margin-bottom:1rem}.skip-nav{color:#fff;z-index:9999;background:#000;border-radius:4px;padding:8px;text-decoration:none;position:absolute;top:-40px;left:6px}.skip-nav:focus{top:6px}header{color:#fff;z-index:1000;background:linear-gradient(135deg,#1e3a5f 0%,#2c5282 100%);width:100%;padding:1rem 0;position:fixed;top:0;box-shadow:0 2px 10px #0000001a}nav{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex}.logo{color:#fff;align-items:center;gap:.5rem;font-size:1.8rem;font-weight:700;display:flex}.logo-icon{flex-shrink:0}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:#fff;border-radius:4px;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:color .3s}.nav-links a:hover,.nav-links a.active,.nav-links a:focus{color:#dc2626;background-color:#ffffff1a;outline:2px solid #0000}.mobile-menu-btn{color:#fff;cursor:pointer;background:0 0;border:none;font-size:1.5rem;display:none}.hero,.page-header{color:#fff;text-align:center;background-color:#0000;background-image:linear-gradient(#1e3a5fcc,#2c5282cc),url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1200 600\"><rect fill=\"%23f0f4f8\" width=\"1200\" height=\"600\"/><polygon fill=\"%23e2e8f0\" points=\"0,400 400,350 800,380 1200,320 1200,600 0,600\"/><polygon fill=\"%23cbd5e0\" points=\"0,450 300,420 600,440 900,400 1200,380 1200,600 0,600\"/></svg>");background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;margin-top:80px;padding:150px 2rem 100px}.hero h1,.page-header h1{text-shadow:2px 2px 4px #0000004d;margin-bottom:1rem;font-size:clamp(2rem,5vw,3.5rem)}.hero-subtitle,.page-header p{color:#e2e8f0;margin-bottom:2rem;font-size:clamp(1rem,3vw,1.3rem)}.cta-button{color:#fff;cursor:pointer;background:linear-gradient(45deg,#dc2626,#b91c1c);border:none;border-radius:8px;padding:15px 30px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block;box-shadow:0 4px 15px #dc26264d}.cta-button:hover,.cta-button:focus{background:linear-gradient(45deg,#b91c1c,#991b1b);outline:2px solid #0000;transform:translateY(-2px);box-shadow:0 6px 20px #dc262666}.service-card,.credential-card,.class-card{background:#fff;border-radius:12px;padding:2rem;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 5px 20px #0000001a}.service-card:hover,.credential-card:hover,.class-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.service-card:before,.class-card:before{content:"";background:linear-gradient(90deg,#dc2626,#1e3a5f);width:100%;height:4px;position:absolute;top:0;left:0}.services-grid,.credentials-grid,.classes-grid,.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem;display:grid}.testimonials{background:#f8f9fa;padding:80px 2rem}.testimonials-container{max-width:1200px;margin:0 auto}.testimonial-card{text-align:center;background:#fff;border-radius:12px;padding:2rem;position:relative;box-shadow:0 5px 20px #0000001a}.testimonial-card:before{content:"\"";color:#dc2626;opacity:.3;font-family:Georgia,serif;font-size:4rem;position:absolute;top:-10px;left:20px}.stars{color:#fbbf24;margin-bottom:1rem;font-size:1.2rem}.testimonial-card blockquote{color:#4b5563;margin-bottom:1.5rem;font-size:1.1rem;font-style:italic;line-height:1.6}.testimonial-card cite{color:#1e3a5f;font-style:normal;font-weight:700}.upcoming-classes{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin:2rem 0;display:grid}.class-listing{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#fffffff2;border:2px solid #ffffff4d;border-radius:10px;padding:1.5rem;box-shadow:0 4px 15px #0000001a}.class-listing h3{color:#1e3a5f;margin-bottom:1rem;font-size:1.3rem;font-weight:700}.class-listing .class-info{color:#4b5563;margin-bottom:0;line-height:1.8}.class-listing strong{color:#1e3a5f;background:#1e3a5f1a;border-radius:6px;margin-top:.5rem;padding:.5rem;font-size:1.2rem;font-weight:700;display:block}.section-title{text-align:center;color:#1e3a5f;margin-bottom:3rem;font-size:clamp(2rem,4vw,2.5rem);font-weight:700}.main-content,.services-container{max-width:1200px;margin:0 auto;padding:80px 2rem}footer{color:#fff;background:#1f2937;padding:40px 2rem 20px}.footer-container{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1200px;margin:0 auto;display:grid}.footer-section h3{color:#f87171;margin-bottom:1rem}.footer-section p,.footer-section a{color:#d1d5db;line-height:1.6;text-decoration:none}.footer-section a:hover,.footer-section a:focus{color:#fff;outline:2px solid #0000}.footer-bottom{text-align:center;color:#9ca3af;border-top:1px solid #374151;margin-top:2rem;padding-top:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{background:#fafbfc;border:1px solid #d1d5db;border-radius:10px;width:100%;padding:1rem 1.25rem;font-family:inherit;font-size:1rem;transition:all .25s;box-shadow:0 1px 2px #0000000a}.form-group input:hover:not(:disabled),.form-group textarea:hover:not(:disabled),.form-group select:hover:not(:disabled){border-color:#9ca3af}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{background:#fff;border-color:#10b981;outline:none;box-shadow:0 0 0 4px #10b98114,0 2px 4px #0000000f}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{cursor:not-allowed;opacity:.6;background-color:#f9fafb}.form-hint{color:#6b7280;margin-top:.5rem;font-size:.8rem;line-height:1.4;display:block}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-actions{justify-content:flex-end;margin-bottom:1rem;display:flex}.error-message{color:#991b1b;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:2px solid #ef4444;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:.9rem;font-weight:500;display:flex}.error-message:before{content:"⚠️";font-size:1.25rem}.text-center{text-align:center}.mb-2{margin-bottom:2rem}.mt-2{margin-top:2rem}.mt-4{margin-top:1.5rem}.full-width{width:100%}.text-sm{color:#6b7280;font-size:.875rem}.link-button{color:#10b981;cursor:pointer;font-size:inherit;background:0 0;border:none;font-weight:600;text-decoration:none;transition:color .2s}.link-button:hover{color:#059669;text-decoration:underline}:focus{outline-offset:2px;outline:2px solid #dc2626}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.6s ease-out fadeIn}@media (max-width:768px){.nav-links{opacity:0;visibility:hidden;background:#1e3a5f;flex-direction:column;gap:0;width:100%;padding:1rem 0;transition:all .3s;position:absolute;top:100%;left:0;transform:translateY(-100%)}.nav-links.active{opacity:1;visibility:visible;transform:translateY(0)}.nav-links li{width:100%}.nav-links a{text-align:left;width:100%;padding:1rem 2rem;display:block}.mobile-menu-btn{display:block}.hero,.page-header{padding:120px 1rem 80px}.services-grid,.credentials-grid,.classes-grid{grid-template-columns:1fr;gap:1.5rem}.main-content,.services-container{padding:60px 1rem}.upcoming-classes{grid-template-columns:1fr;gap:1.5rem}.class-listing{background:#fff;border:2px solid #e5e7eb;padding:2rem 1.5rem}.class-listing h3{color:#1e3a5f;font-size:1.4rem}.class-listing strong{color:#1e3a5f;background:#f0f4f8;border:1px solid #cbd5e0;margin-top:1rem;padding:1rem;font-size:1.3rem}.form-row{grid-template-columns:1fr}.form-group input,.form-group textarea,.form-group select{font-size:16px}}@media (max-width:480px){nav{padding:0 1rem}.service-card,.credential-card,.class-card{padding:1.5rem}}@media (prefers-contrast:high){.cta-button{border:2px solid #fff}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
:root{--paper:#f4f1e8;--paper-2:#eae5d6;--plate:#fcfbf7;--ink:#12223b;--ink-2:#3b4a63;--ink-3:#55617a;--red:#b3261e;--red-2:#8f1d17;--rule:#12223b38;--rule-strong:#12223b;--serif:"Newsreader", "Iowan Old Style", Georgia, serif;--sans:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--wrap:1200px;--pad:32px}body{background:var(--paper);color:var(--ink);font-family:var(--sans)}:focus-visible{outline:3px solid var(--red);outline-offset:3px}.fm-wrap{max-width:var(--wrap);padding:0 var(--pad);margin:0 auto}.fm-mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:12px}.fm-serif{font-family:var(--serif)}.fm-red{color:var(--red)}.fm-btn{min-height:52px;font-family:var(--sans);border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:10px;padding:0 26px;font-size:16px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.fm-btn:hover{background:var(--ink);color:var(--paper)}.fm-btn.primary{background:var(--red);border-color:var(--red);color:#fff}.fm-btn.primary:hover{background:var(--red-2);border-color:var(--red-2)}.fm-plate{background:var(--plate);border:1.5px solid var(--ink);padding:14px;position:relative}header.fm-site{background:var(--paper);color:var(--ink);border-bottom:2px solid var(--rule-strong);box-shadow:none;padding:0}.fm-site .fm-wrap{justify-content:space-between;align-items:center;gap:24px;min-height:72px;display:flex}.fm-site nav.fm-nav{align-items:center;gap:30px;max-width:none;margin:0;padding:0;font-size:15.5px;font-weight:500;display:flex}.fm-brand{color:inherit;align-items:baseline;gap:12px;text-decoration:none;display:flex}.fm-brand b{font-family:var(--serif);letter-spacing:-.01em;font-size:27px;font-weight:600}.fm-brand b i{color:var(--red);font-style:normal}.fm-brand span{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-left:1px solid var(--rule);padding-left:12px;font-size:11px}.fm-nav ul{align-items:center;gap:30px;margin:0;padding:0;list-style:none;display:flex}.fm-nav li{margin:0}.fm-nav a{color:var(--ink);border-bottom:2px solid #0000;padding:6px 0;text-decoration:none}.fm-nav a:hover,.fm-nav a.active{border-bottom-color:var(--red)}.fm-nav a.fm-signin{border:1.5px solid var(--ink);padding:9px 18px}.fm-nav a.fm-signin:hover{background:var(--ink);color:var(--paper)}.fm-menu-btn{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;padding:10px 14px;font-size:12px;display:none}footer.fm-footer{background:var(--ink);color:#c3ccdb;text-align:left;margin-top:0;padding:64px 0 28px;font-size:15px}.fm-footer .fm-cols{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;display:grid}.fm-footer h3{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#f0867f;margin-bottom:14px;font-size:11.5px;font-weight:500}.fm-footer .fm-brand b{color:#fff}.fm-footer .fm-brand b i{color:#f0867f}.fm-footer ul{margin:0;padding:0;list-style:none}.fm-footer li{margin:7px 0}.fm-footer a{color:inherit;text-decoration:none}.fm-footer a:hover{color:#fff;text-decoration:underline}.fm-footer .fm-fine{font-family:var(--mono);letter-spacing:.04em;color:#9aa7bc;border-top:1px solid #ffffff2e;margin-top:44px;padding-top:18px;font-size:11.5px}.fm-footer .fm-fine p{margin:0}@media (max-width:980px){:root{--pad:22px}.fm-site .fm-wrap{min-height:62px;position:relative}.fm-brand span{display:none}.fm-menu-btn{margin-left:auto;display:block}.fm-site nav.fm-nav{display:block}.fm-nav ul{right:var(--pad);background:var(--plate);border:1.5px solid var(--ink);min-width:220px;box-shadow:6px 6px 0 var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:8px 0;display:none;position:absolute;top:calc(100% + 10px)}.fm-nav ul.active{display:flex}.fm-nav ul a,.fm-nav ul a.fm-signin{border:0;padding:12px 18px;display:block}.fm-nav ul a:hover{background:var(--paper-2);color:var(--ink)}.fm-footer .fm-cols{grid-template-columns:1fr 1fr;gap:32px}}@media (max-width:560px){.fm-footer .fm-cols{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
