:root{--navy:#0a1f44;--blue:#1554f5;--blue-light:#eaf0ff;--bg:#fff;--text:#1c1f2a;--muted:#5b6472;--border:#e5e4e7;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{overflow-x:hidden}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0}img{max-width:100%}.container{width:100%;max-width:1100px;margin-inline:auto;padding-inline:20px}.site-header{text-align:center;border-bottom:1px solid var(--border);padding:28px 0}.logo{letter-spacing:1.5px;color:var(--navy);margin:0;font-size:20px;font-weight:800}.tagline{color:var(--muted);margin:6px 0 0;font-size:14px}.hero{text-align:center;flex-direction:column;align-items:center;gap:40px;min-width:0;padding:48px 20px;display:flex}.hero-content,.hero-illustration{width:100%;min-width:0}.hero-content h1{color:var(--navy);letter-spacing:-.5px;margin:0 0 18px;font-size:40px;font-weight:800;line-height:1.1}.hero-subtitle{color:var(--muted);max-width:480px;margin:0 0 32px;font-size:18px}.cta-button{background:var(--blue);color:#fff;letter-spacing:.5px;border-radius:999px;padding:16px 36px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block;box-shadow:0 12px 24px #1554f540}.cta-button:hover{transform:translateY(-2px);box-shadow:0 16px 28px #1554f552}.hero-illustration img{width:100%;max-width:420px;height:auto;margin-inline:auto;display:block}.quick-cards{grid-template-columns:1fr;gap:16px;padding-bottom:56px;display:grid}.info-card{background:var(--blue-light);text-align:center;border:1px solid #0a1f4414;border-radius:16px;padding:28px 20px;position:relative}.info-card h2{letter-spacing:.5px;color:var(--navy);margin:0;font-size:18px;font-weight:700}.info-card-trigger{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block;position:relative}.info-card-trigger:focus{outline:none}.info-card-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:-4px;border-radius:8px}.info-card-toggle{color:var(--blue);font-size:18px;font-weight:700;position:absolute;top:14px;right:16px}.info-card-content{opacity:0;max-height:0;transition:max-height .25s,opacity .2s,padding-top .25s;overflow:hidden}.info-card-content p{color:var(--muted);margin:0;font-size:16px}.info-card.is-open .info-card-content{opacity:1;max-height:100px;padding-top:16px}.course-price-content{text-align:center;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.info-card.is-open .course-price-content{max-height:100px;padding-top:20px;padding-bottom:4px}.info-card.is-open .location-content{max-height:140px;padding-top:20px;padding-bottom:4px}.location-name{color:var(--navy);margin:0;font-weight:700}.info-card-content address{color:var(--muted);margin-top:4px;font-size:16px;font-style:normal}.course-price-label,.course-price{margin:0}.course-price-label{color:var(--navy);font-size:14px;font-weight:700}.course-price{color:var(--blue);margin-top:4px;font-size:20px;font-weight:800}.course-information{padding-bottom:56px}.course-information h2{color:var(--navy);margin:0 0 24px;font-size:28px;line-height:1.1}.course-information-links{gap:12px;margin:0;padding:0;list-style:none;display:grid}.course-information-links a{color:var(--navy);background:var(--blue-light);border:1px solid #0a1f4414;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;font-weight:700;text-decoration:none;display:flex}.course-information-links a span{color:var(--blue);flex:none;font-size:20px}.course-information-links a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.contact-block{text-align:center;padding-bottom:64px}.contact-block h2{color:var(--navy);margin:0 0 24px;font-size:28px;line-height:1.1}.contact-link:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.contact-link{justify-content:center;align-items:center;gap:10px;font-size:18px;display:inline-flex}.contact-link-icon{fill:currentColor;flex:none;width:1.25em;height:1.25em}@media (width<=767px){.hero{gap:32px;padding-bottom:32px}.hero-illustration img{width:calc(100% + 32px);max-width:none;margin-left:-16px;margin-right:-16px}}@media (width>=640px){.quick-cards{grid-template-columns:repeat(3,1fr)}}@media (width>=768px){.hero{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;padding:72px 20px}.hero-content{max-width:520px}.hero-content h1{font-size:56px}.hero-illustration{flex:none;max-width:460px}}
