:root{color:#172033;background:#fffaf2;font-family:DM Sans,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 0 0,#ffb84d33,#0000 30rem),linear-gradient(#fffaf2 0%,#fff 46%,#fff7ea 100%)}button,input,select,textarea{font:inherit}.page{min-height:100vh;padding:68px 0 80px}.site-nav{z-index:900;-webkit-backdrop-filter:blur(12px);background:#fffaf2d9;border-bottom:1px solid #0000;transition:border-color .2s,box-shadow .2s,background .2s;position:fixed;top:0;left:0;right:0}.site-nav--scrolled{background:#fffaf2f7;border-bottom-color:#17203314;box-shadow:0 4px 20px #1720330f}.nav-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1100px;height:68px;margin:0 auto;padding:0 24px;display:flex}.nav-brand{text-transform:uppercase;letter-spacing:.1em;color:#f28c28;white-space:nowrap;flex-shrink:0;font-size:.8rem;font-weight:900;text-decoration:none;transition:color .2s}.nav-brand:hover{color:#e07d1a}.nav-links{align-items:center;gap:4px;display:flex}.nav-links a{color:#172033;border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s}.nav-links a:hover{color:#172033;background:#1720330f}.nav-cta{margin-left:8px;color:#fff!important;background:#172033!important;border-radius:999px!important;padding:9px 20px!important;font-size:.88rem!important;font-weight:800!important;transition:transform .15s,box-shadow .15s,background .15s!important}.nav-cta:hover{transform:translateY(-1px);background:#f28c28!important;box-shadow:0 8px 20px #f28c2847!important}.nav-hamburger{cursor:pointer;color:#172033;background:0 0;border:none;border-radius:8px;padding:6px;line-height:0;transition:background .15s;display:none}.nav-hamburger:hover{background:#1720330f}.nav-mobile-menu{background:#fffaf2fa;border-top:1px solid #17203312;flex-direction:column;gap:4px;padding:12px 24px 20px;display:flex}.nav-mobile-menu a{color:#172033;border-radius:12px;padding:12px 16px;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .15s}.nav-mobile-menu a:hover{background:#1720330d}.nav-cta--mobile{text-align:center;margin-top:8px;color:#fff!important;background:#172033!important;border-radius:12px!important;padding:14px 16px!important}.nav-cta--mobile:hover{background:#f28c28!important}.hero{max-width:1100px;margin:0 auto;padding:72px 24px 56px}.eyebrow{text-align:center;color:#f28c28;text-transform:uppercase;letter-spacing:.12em;margin:0 0 40px;font-size:.95rem;font-weight:800;display:block}.hero-body{width:100%}h1,h2,h3,p{margin-top:0}.hero-headline{letter-spacing:-.06em;text-align:justify;margin-bottom:28px;font-size:clamp(2.8rem,8vw,5rem);font-weight:900;line-height:.95}.hero-sub{color:#5c6678;text-align:justify;max-width:100%;margin:0 0 16px;font-size:1rem;line-height:1.7}.hero-cta{justify-content:center;margin-top:36px;display:flex}.hero-cta-btn{color:#fff;letter-spacing:-.01em;background:#f28c28;border-radius:999px;justify-content:center;align-items:center;min-width:240px;padding:10px 32px;font-size:1rem;font-weight:800;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 6px 20px #f28c2847}.hero-cta-btn:hover{background:#e07d1a;transform:translateY(-2px);box-shadow:0 14px 32px #f28c2861}.trust-strip{flex-wrap:wrap;justify-content:center;gap:12px;margin:16px 0;display:flex}.trust-pill{color:#172033;background:#ffffffb3;border:1px solid #1720331a;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:.875rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.trust-pill:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1720331a}.site-footer{text-align:center;border-top:1px solid #17203312;padding:48px 24px 40px}.footer-brand{color:#f28c28;text-transform:uppercase;letter-spacing:.12em;margin:0 0 20px;font-size:.75rem;font-weight:800}.footer-copy{color:#8a94a6;margin:16px 0 0;font-size:.8rem}.section-label{color:#c86f11;text-transform:uppercase;letter-spacing:.12em;background:#fff0d9;border-radius:999px;margin-bottom:18px;padding:6px 14px;font-size:.72rem;font-weight:800;display:inline-block}.section-title{letter-spacing:-.05em;margin-bottom:16px;font-size:clamp(1.9rem,4vw,3rem);font-weight:900;line-height:1}.section-sub{color:#5c6678;text-align:justify;max-width:100%;margin:0 0 40px;font-size:1rem;line-height:1.65}.curriculum-section{border-top:1px solid #17203312;max-width:1100px;margin:0 auto;padding:72px 24px}.skills-block{flex-direction:column;gap:52px;display:flex}.skills-group-header{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;display:flex}.skills-badge{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:800}.skills-badge.hard{color:#1a6fa8;background:#e8f4fd}.skills-badge.soft{color:#a8341a;background:#fdecea}.skills-meta{color:#8a94a6;font-size:.85rem;font-weight:600}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.skill-card{background:#fff;border:1px solid #17203314;border-radius:24px;flex-direction:column;padding:28px 24px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 20px #1720330a}.skill-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #17203317}.skill-card--booked{opacity:.72;background:#f9f9f9;border-color:#1720330f}.skill-card--booked:hover{transform:none;box-shadow:0 4px 20px #1720330a}.skill-icon{margin-bottom:14px;font-size:2rem;display:block}.skill-title{letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;font-size:1.05rem;font-weight:800;display:flex}.skill-desc{color:#5c6678;text-align:justify;margin:0;font-size:.9rem;line-height:1.6}.schedule-table-wrapper{border:1px solid #17203314;border-radius:20px;width:100%;overflow-x:auto;box-shadow:0 4px 24px #17203312}.schedule-table{border-collapse:collapse;background:#fff;border-radius:20px;width:100%;font-size:.95rem;overflow:hidden}.schedule-th{color:#fff;text-transform:uppercase;letter-spacing:.08em;text-align:left;background:#172033;padding:16px 24px;font-size:.85rem;font-weight:800}.schedule-th--time{color:#ffffffb3;width:160px}.schedule-row:nth-child(2n){background:#fffaf2}.schedule-row:nth-child(odd){background:#fff}.schedule-td{vertical-align:middle;border-bottom:1px solid #1720330f;padding:14px 24px;font-size:.92rem}.schedule-row:last-child .schedule-td{border-bottom:none}.schedule-td--time{color:#5c6678;white-space:nowrap;font-size:.85rem;font-weight:700}.schedule-td--subject{color:#c86f11;font-weight:700}.schedule-td--break{color:#8a94a6;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-style:italic;font-weight:600}.register-section{border-top:1px solid #17203312;max-width:1100px;margin:0 auto;padding:72px 24px}.program-selection{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px;display:grid}.program-card{background:#fff8ef;border:1px solid #17203314;border-radius:28px;flex-direction:column;padding:32px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 12px 40px #1720330f}.program-card:hover{transform:translateY(-3px);box-shadow:0 20px 50px #1720331a}.program-card--alt{background:#fff4ea}.program-card h2{letter-spacing:-.04em;margin-bottom:12px;font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:900;line-height:1.1}.program-card p{color:#5c6678;text-align:justify;margin-bottom:4px;font-size:.95rem;line-height:1.65}.program-age-label{color:#c86f11;letter-spacing:0;background:#fff0d9;border-radius:999px;padding:4px 12px;font-size:.82rem;font-weight:700;display:inline-block;margin:-4px 0 14px!important}.tag{color:#c86f11;text-transform:uppercase;letter-spacing:.06em;background:#fff0d9;border-radius:999px;width:fit-content;margin-bottom:20px;padding:6px 12px;font-size:.75rem;font-weight:800}.detail-grid{flex-direction:column;gap:10px;margin:18px 0;display:flex}.detail-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.detail-row span{background:#fffc;border:1px solid #17203314;border-radius:999px;padding:7px 14px;font-size:.82rem;font-weight:700}.detail-sep{color:#8a94a6!important;background:0 0!important;border:none!important;padding:0!important;font-size:.9rem!important;font-weight:600!important}.detail-pill-booked{color:#172033;background:#fffc;border:1px solid #17203314;border-radius:999px;align-items:center;gap:0;padding:7px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.detail-pill-booked em{color:#c0392b;font-style:normal;font-weight:700}.primary-button{color:#fff;cursor:pointer;background:#172033;border:0;border-radius:999px;justify-content:center;align-items:center;margin-top:auto;padding:15px 24px;font-size:.95rem;font-weight:800;transition:all .2s;display:inline-flex}.primary-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px #17203333}.card-button{width:fit-content}.fully-booked-badge{color:#c0392b;white-space:nowrap;letter-spacing:.03em;background:#fdecea;border:1px solid #f5c6c2;border-radius:999px;align-items:center;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.skill-booked-badge{padding:2px 9px;font-size:.65rem}.specialty-card-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.specialty-card-header strong{margin-bottom:0;display:inline}.specialty-card--booked{opacity:.72;box-shadow:none!important;background:#f9f9f9!important;border:1px dashed #d5d5d5!important}.specialty-card--booked:hover{border-color:#d5d5d5!important;transform:none!important}.fully-booked-notice{color:#c0392b;margin-top:8px;font-size:.78rem;font-weight:600;line-height:1.5}.fully-booked-notice a{color:#c0392b;font-weight:700;text-decoration:underline}.fully-booked-notice a:hover{color:#96281b}.modal-backdrop{z-index:1000;background:#1720339e;padding:48px 20px;position:fixed;inset:0;overflow-y:auto}.registration-modal{max-width:1100px;margin:0 auto}.registration-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);align-items:start;gap:24px;display:grid}.registration-form,.payment-summary{background:#fff;border:1px solid #17203314;border-radius:28px;padding:32px;box-shadow:0 20px 60px #1720331a}.registration-form{position:relative}.modal-close{color:#172033;cursor:pointer;background:#fff0d9;border:0;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.4rem;font-weight:900;display:flex;position:absolute;top:18px;right:18px}.payment-summary{position:sticky;top:24px}.payment-summary h2{letter-spacing:-.04em;margin-bottom:6px;font-size:2.2rem}.form-grid,.week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.specialty-list{gap:12px;display:grid}label{color:#172033;gap:8px;font-size:.9rem;font-weight:700;display:grid}input,select,textarea{color:#172033;background:#fff;border:1px solid #17203324;border-radius:12px;width:100%;padding:12px 14px;font-size:.95rem}textarea{resize:vertical;min-height:100px}input:focus,select:focus,textarea:focus{border-color:#f28c28;outline:none;box-shadow:0 0 0 3px #f28c281f}.full-span{grid-column:1/-1}.form-section{border-top:1px solid #17203314;margin-top:28px;padding-top:24px}.form-section h3{letter-spacing:-.02em;margin-bottom:14px;font-size:1.05rem;font-weight:800}.week-card,.specialty-card{color:#172033;text-align:left;cursor:pointer;background:#fffaf2;border:1px solid #1720331f;border-radius:16px;padding:16px;transition:all .15s}.week-card:hover,.specialty-card:hover{border-color:#f28c2866}.week-card.selected,.specialty-card.selected{background:#fff0d9;border-color:#f28c28;box-shadow:0 0 0 3px #f28c281f}.week-card strong,.specialty-card strong{margin-bottom:6px;font-size:.9rem;display:block}.week-meta{flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;display:flex}.week-meta span{color:#5c6678}.week-meta small{color:#172033;font-weight:800}.checkbox-row{cursor:pointer;align-items:center;gap:10px;margin-top:18px;font-size:.9rem;font-weight:700;display:flex}.checkbox-row input{width:auto}.sibling-fields,.session-select{margin-top:18px}.summary-line{border-top:1px solid #17203314;border-bottom:1px solid #17203314;justify-content:space-between;gap:16px;margin:16px 0;padding:16px 0;font-size:.95rem;display:flex}.muted{color:#8a94a6;margin:0 0 6px;font-size:.88rem;line-height:1.5}.summary-note{color:#8a94a6;text-align:center;margin-top:14px;font-size:.82rem;line-height:1.5}.full-button{width:100%}.error-text{color:#c2410c;margin:0;font-size:.85rem;font-weight:700}.map-wrapper{border:1px solid #17203314;border-radius:24px;width:100%;height:420px;overflow:hidden;box-shadow:0 4px 20px #1720330f}.map-caption{text-align:right;margin:12px 0 0}.map-link{color:#f28c28;font-size:.85rem;font-weight:700;text-decoration:none;transition:color .2s}.map-link:hover{color:#e07d1a;text-decoration:underline}@media (width<=900px){html,body,#root{height:auto;min-height:auto}body{background:radial-gradient(circle at 0 0,#ffb84d38,#0000 18rem),linear-gradient(#fffaf2 0%,#fff7ea 100%)}.page{padding-top:60px;padding-bottom:48px}.nav-links{display:none}.nav-hamburger{justify-content:center;align-items:center;display:flex}.nav-inner{height:60px;padding:0 16px}.nav-brand{font-size:.72rem}.hero{padding:40px 20px}.eyebrow{margin-bottom:24px}.hero-headline{font-size:clamp(2.4rem,10vw,3.5rem)}.hero-sub{font-size:.92rem}.trust-strip{justify-content:center}.trust-pill{padding:9px 14px;font-size:.82rem}.curriculum-section,.register-section{padding:48px 20px}.section-title{font-size:clamp(1.7rem,7vw,2.2rem)}.skills-grid{grid-template-columns:1fr;gap:14px}.skill-card{border-radius:18px;padding:22px 18px}.program-selection{grid-template-columns:1fr;gap:16px}.program-card{border-radius:22px;padding:22px 18px}.program-card h2{margin-bottom:10px;font-size:1.5rem}.card-button{width:100%;margin-top:16px}.registration-layout,.form-grid,.week-grid{grid-template-columns:1fr}.registration-form,.payment-summary{border-radius:20px;padding:20px 16px}.payment-summary{position:static}.modal-backdrop{padding:12px 10px}.modal-close{top:14px;right:14px}.schedule-table-wrapper{border-radius:14px}.schedule-th,.schedule-td{padding:12px 14px;font-size:.82rem}.schedule-th--time{width:110px}}
