:root{--color-primary-blue: #2563eb;--color-primary-dark: #1d4ed8;--color-primary-light: #93c5fd;--color-accent-yellow: #fbbf24;--color-text-primary: #1f2937;--color-text-heading: #111827;--color-text-secondary: #374151;--color-text-muted: #4b5563;--color-bg-page: #f8fafc;--color-bg-section: #f1f5f9;--color-bg-card: #ffffff;--color-bg-footer: #e5e7eb;--color-border-light: #e0e7ff}body{font-family:Inter,sans-serif;color:var(--color-text-primary);background-color:var(--color-bg-page);margin:0;overflow-x:hidden}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-family:Plus Jakarta Sans,sans-serif}a{text-decoration:none;color:inherit}.navbar{background:linear-gradient(135deg,var(--color-primary-blue),var(--color-primary-dark));color:#fff;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;position:sticky;top:0;z-index:1000;box-shadow:0 .25rem 1rem #0f172a26}.logo-link{text-decoration:none;color:inherit}.navbar h1{font-size:2rem;font-weight:800;letter-spacing:.02em}.navbar .nav-links{display:flex;align-items:center;gap:2rem;font-size:1.1rem}.navbar .nav-links a{font-weight:300;position:relative;padding:.45rem 0 .25rem;transition:color .2s}.navbar .nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:.125rem;background-color:var(--color-primary-light);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.navbar .nav-links a:hover{color:var(--color-primary-light)}.navbar .nav-links a:hover:after{transform:scaleX(1);transform-origin:left}.navbar .nav-links a.nav-cta{background-color:#fff;color:var(--color-primary-blue);font-weight:700;padding:.45rem 1.25rem;border-radius:2rem;transition:transform .2s,box-shadow .2s}.navbar .nav-links a.nav-cta:after{display:none}.navbar .nav-links a.nav-cta:hover{color:var(--color-primary-blue);transform:translateY(-.0625rem);box-shadow:0 .25rem .75rem #0003}.hamburger{display:none;flex-direction:column;gap:.375rem;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001;position:relative}.hamburger span{display:block;width:1.5rem;height:.125rem;background-color:#fff;transition:transform .3s,opacity .3s}@media (max-width: 48rem){.hamburger{display:flex}.navbar .nav-links{position:absolute;top:100%;left:0;right:0;background-color:var(--color-primary-blue);flex-direction:column;gap:0;width:100%;max-height:0;overflow:hidden;transition:max-height .3s ease;z-index:1000}.navbar .nav-links.active{max-height:20rem}.navbar .nav-links a{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1)}.navbar .nav-links a:hover{background-color:var(--color-primary-dark)}.navbar .nav-links a.nav-cta{border-radius:0;text-align:center}.navbar .nav-links a.nav-cta:hover{color:var(--color-primary-blue);transform:none;box-shadow:none;background-color:#fff}}.free-text{font-size:2.5rem;font-weight:800;color:var(--color-primary-blue);display:inline-block;padding:.5rem 1.5rem;border-radius:2rem}.cta-button,.donate-button,.signup-button{display:inline-block;padding:.85rem 2.2rem;font-weight:700;border-radius:.75rem;transition:transform .2s,box-shadow .2s;cursor:pointer}.cta-button{background-color:var(--color-accent-yellow);color:var(--color-text-primary);box-shadow:0 4px 6px #0000001a}.cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00000026}.hero{position:relative;background-color:#000;color:#fff;text-align:center;padding:0;height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-image{position:absolute;top:0;left:50%;transform:translate(-50%);height:100%;max-width:none;width:auto;object-fit:cover;object-position:center;z-index:0;mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%)}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#1d4ed81a,#2563eb4d);z-index:1;pointer-events:none}.hero-gradient{position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;pointer-events:none;background:linear-gradient(to bottom,transparent 97%,var(--color-bg-footer) 100%)}.hero-content{position:relative;z-index:3;padding:4rem 2rem}.hero h1{font-size:clamp(2.8rem,5vw,3.8rem);font-weight:800;margin-top:0rem;margin-bottom:1.2rem}.hero p{font-size:1.4rem;max-width:43.75rem;margin:0 auto 10rem;line-height:1.6}.mission-container{background:linear-gradient(to bottom,var(--color-bg-footer) 0%,var(--color-bg-footer) 90%,var(--color-bg-card) 100%)}.sensei-cycle-container{background:linear-gradient(to bottom,var(--color-bg-card) 0%,var(--color-bg-card) 90%,var(--color-border-light) 100%)}.mission{max-width:55rem;margin:0 auto;padding:2rem;text-align:center}.mission h2{font-size:2.6rem;margin-bottom:1.5rem}.mission p{font-size:1.15rem;line-height:1.7;margin-bottom:1.3rem;color:var(--color-text-secondary)}.mission .emphasis{font-size:1.5rem;font-weight:800;color:var(--color-text-heading);margin-top:1.5rem}.sensei-cycle-container .mission{max-width:70rem}.sensei-cycle-graphic{display:block;width:100%;max-width:50rem;height:auto;margin:0 auto 1.5rem}.process-page{padding-top:1.5rem}.mission+.cards-container{padding-top:0rem}.team-photo,.testimonial-avatar{border-radius:50%;object-fit:cover;outline:3px solid var(--color-primary-blue);outline-offset:2px;background-color:var(--color-bg-section);box-shadow:0 .5rem 1.375rem #2563eb59}.card,.resource-card{background:var(--color-bg-card);border-radius:1rem;padding:2.2rem;box-shadow:0 .375rem 1.25rem #0000000f;transition:transform .25s,box-shadow .25s}.card:hover,.resource-card:hover{transform:translateY(-.3125rem);box-shadow:0 .75rem 1.875rem #0000001a}.cards-container{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;padding:4rem 2rem}.card{width:min(100%,18.75rem);flex:1 1 18.75rem;max-width:25rem}.card h3{font-size:1.4rem;margin-bottom:1rem}.card ul{padding-left:1.2rem}.card li{margin-bottom:.6rem}.testimonials{background:linear-gradient(to bottom,var(--color-bg-section) 0%,var(--color-bg-footer) 10%,var(--color-bg-footer) 100%);padding:2.5rem 2rem 5.5rem}.testimonials h2{text-align:center;font-size:2.6rem;margin-bottom:3rem}.testimonial-grid{max-width:95rem;margin:0 auto;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18.75rem),1fr))}.testimonial-card{position:relative;background:var(--color-bg-card);padding:2.4rem;border-radius:1rem;border:2px solid var(--color-border-light);box-shadow:0 .625rem 1.875rem #2563eb26,0 .125rem .5rem #0f172a14;transition:transform .25s ease,box-shadow .25s ease}.testimonial-card p{font-style:italic;line-height:1.7;color:var(--color-text-secondary)}.testimonial-card .author{display:block;margin-top:1.4rem;font-weight:700;color:var(--color-primary-dark)}.testimonial-card .author strong{color:var(--color-text-heading);font-weight:800}.testimonial-card:hover{transform:translateY(-.25rem);box-shadow:0 1.125rem 2.8125rem #2563eb40,0 .375rem .9375rem #0f172a1f}.testimonial-card:after{content:"";display:block;clear:both}.testimonial-avatar{float:right;width:7.8125rem;height:7.8125rem;margin:0 0 .75rem 1rem}.donation{max-width:53.125rem;margin:0 auto;padding:5rem 2rem 6rem;text-align:center}.donation h2{font-size:2.4rem;margin-bottom:1.2rem}.donation p{font-size:1.15rem;line-height:1.7;color:var(--color-text-secondary)}.donate-button,.signup-button{margin-top:2rem;background:linear-gradient(135deg,var(--color-primary-blue),var(--color-primary-dark));color:#fff;font-size:1.05rem;border-radius:999px;box-shadow:0 8px 25px #2563eb59}.donate-button:hover,.signup-button:hover{transform:translateY(-2px);box-shadow:0 12px 35px #2563eb80}.team-header{text-align:center;padding:4rem 2rem 0;max-width:50rem;margin:0 auto}.team-header h1{font-size:2.8rem;font-weight:800;margin-bottom:1rem;color:var(--color-text-heading)}.team-header p{font-size:1.15rem;color:var(--color-text-secondary)}.team-container{display:grid;grid-template-columns:1fr;gap:2rem;padding:2rem;max-width:90rem;margin:0 auto}@media (min-width: 40rem){.team-container{grid-template-columns:repeat(2,1fr)}}@media (min-width: 60rem){.team-container{grid-template-columns:repeat(3,1fr)}}.team-card-link{text-decoration:none;color:inherit;display:block;background:var(--color-bg-card);border-radius:1rem;padding:1.5rem;box-shadow:0 .375rem 1.25rem #0000000f;transition:transform .25s,box-shadow .25s;text-align:center}.team-card-link:hover{transform:translateY(-.3125rem);box-shadow:0 .75rem 1.875rem #0000001a}.team-photo{width:11.25rem;height:11.25rem;margin-bottom:.5rem}.team-info{display:flex;flex-direction:column;gap:.1rem}.team-name{font-size:1.3rem;font-weight:700;color:var(--color-text-heading);margin:0}.team-role{font-size:.95rem;font-weight:500;color:var(--color-primary-blue);margin:0}.team-blurb{font-size:.88rem;color:var(--color-text-muted);line-height:1.2;margin:0}.team-section-title{text-align:center;font-size:1.9rem;font-weight:800;color:var(--color-text-heading);max-width:90rem;margin:2rem auto 0;padding:0 2rem}.team-name a{color:var(--color-primary-blue);transition:color .2s}.team-name a:hover{color:var(--color-primary-dark);text-decoration:underline}.faq-header{text-align:center;padding:4rem 2rem 0rem;max-width:50rem;margin:0 auto}.faq-header h1{font-size:2.8rem;font-weight:800;margin-bottom:1rem;color:var(--color-text-heading)}.faq-container{max-width:50rem;margin:0 auto;padding:2rem 2rem 4rem}.faq-container details{background:#fff;padding:1.5rem;margin-bottom:1rem;border-radius:.75rem;box-shadow:0 .25rem .9375rem #0000000d;transition:box-shadow .2s}.faq-container details[open]{box-shadow:0 .375rem 1.25rem #00000014}summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}summary::-webkit-details-marker{display:none}summary:after{content:"";flex-shrink:0;width:.625rem;height:.625rem;border-right:.1875rem solid var(--color-primary-blue);border-bottom:.1875rem solid var(--color-primary-blue);transform:rotate(45deg);transition:transform .2s ease;margin-top:-.25rem}.faq-container details[open] summary:after{transform:rotate(-135deg);margin-top:.25rem}footer{background:var(--color-bg-footer);text-align:center;padding:2rem;font-size:.9rem;color:var(--color-text-secondary)}.signup-page{padding-bottom:5rem;background:linear-gradient(to bottom,var(--color-bg-page) 0%,var(--color-bg-page) 90%,var(--color-bg-section) 100%)}.signup-header{text-align:center;padding:2rem 2rem 0rem;max-width:50rem;margin:0 auto}.signup-header h1{font-size:2.8rem;font-weight:800;margin-bottom:0rem;color:var(--color-text-heading)}.signup-header p{font-size:1.2rem;line-height:1.6;color:var(--color-text-secondary)}.signup-card{display:flex;flex-direction:column}.signup-card h2{font-size:1.5rem;margin-bottom:.75rem;color:var(--color-text-heading)}.signup-card p{margin-bottom:1.2rem;color:var(--color-text-secondary);font-size:1.05rem}.signup-card .checklist{list-style:none;padding-left:0;margin-bottom:1.8rem;flex-grow:1}.signup-card .checklist li{padding:.4rem 0;color:var(--color-text-primary);font-size:.95rem;line-height:1.5}.signup-button{align-self:stretch;padding:1rem 2rem;border-radius:.6rem;font-size:1.1rem;text-align:center}.signup-button.secondary{background:#fff;color:var(--color-primary-blue);border:2px solid var(--color-primary-blue);box-shadow:none}.signup-button.secondary:hover{background:var(--color-primary-blue);color:#fff}.resources-page{max-width:62.5rem;margin:0 auto;padding:4rem 2rem}.resources-header{text-align:center;margin-bottom:3rem}.resources-header h1{font-size:2.8rem;font-weight:800;color:var(--color-text-heading)}.resources-header p{font-size:1.2rem;color:var(--color-text-secondary)}.resources-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr));gap:2rem}.resource-card{color:inherit}.resource-card h3{margin-bottom:1rem;font-size:1.4rem}.resource-card p{font-size:1rem;line-height:1.5;color:var(--color-text-secondary)}.article-page{max-width:56.25rem;margin:0 auto;padding:4rem 2rem}.back-link{display:inline-block;margin-bottom:2rem;color:var(--color-primary-blue);font-weight:600;text-decoration:none}.back-link:hover{text-decoration:underline}.article-page h1{font-size:2.6rem;margin-bottom:2rem;font-weight:800;color:var(--color-text-heading)}.article-section{margin-bottom:2.5rem}.article-section h2{font-size:1.6rem;font-weight:700;margin-bottom:.8rem}.article-section p{font-size:1.1rem;line-height:1.7;color:var(--color-text-secondary)}.process-flow{max-width:100%;margin:0 auto;padding:2.5rem 2rem 5rem;background:linear-gradient(to bottom,var(--color-border-light) 0%,var(--color-border-light) 90%,var(--color-bg-page) 100%)}.process-flow h2{text-align:center;font-size:2.6rem;margin-bottom:1rem;color:var(--color-text-heading)}.process-flow>p{text-align:center;font-size:1.2rem;max-width:50rem;margin:0 auto 3.5rem;color:var(--color-text-secondary);line-height:1.6}.flow-sections-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,35rem),1fr));gap:8rem;max-width:100rem;margin:0 auto;padding:4rem}.flow-section{margin-bottom:0;padding-bottom:0}.flow-section h3{text-align:center;font-size:2rem;margin-bottom:2.5rem;color:var(--color-primary-blue);font-weight:700}.flow-circle{position:relative;width:100%;max-width:50rem;margin:0 auto;aspect-ratio:1;min-height:45rem}.circle-center-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.8rem;font-weight:700;color:#fff;background-color:var(--color-primary-blue);border:3px solid var(--color-primary-blue);border-radius:1rem;padding:1rem 2rem;text-align:center;pointer-events:none;z-index:0;box-shadow:0 4px 15px #2563eb4d}.bubble-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffffd9;z-index:5;pointer-events:none}.bubble-placeholder{position:absolute;width:3rem;height:3rem;border-radius:50%;border:2px solid var(--color-primary-blue);background:#fff;opacity:.5;z-index:1}.flow-bubble-wrapper{position:absolute;width:10rem;height:10rem;z-index:2;transition:all .3s ease}.flow-bubble-wrapper.expanded{width:20rem;height:auto;min-height:12rem;z-index:10}.flow-bubble{position:relative;background:#fff;color:var(--color-text-primary);border-radius:50%;border:3px solid var(--color-primary-blue);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 15px #2563eb33;width:100%;height:100%;padding:1rem;text-align:center;gap:.5rem}.flow-bubble:hover{transform:scale(1.05);box-shadow:0 8px 25px #2563eb73}.flow-bubble.expanded{border-radius:1.5rem;padding:2rem;flex-direction:column;align-items:flex-start;justify-content:flex-start;background:#fff;color:var(--color-text-primary);border:3px solid var(--color-primary-blue);box-shadow:0 12px 40px #2563eb4d}.arrow{position:absolute;width:0;height:0;border-left:.75rem solid transparent;border-right:.75rem solid transparent;border-top:1rem solid var(--color-primary-blue);opacity:.7;pointer-events:none}.bubble-icon{font-size:2rem;display:flex;align-items:center;justify-content:center;margin-bottom:0}.flow-bubble.expanded .bubble-icon{font-size:1.8rem;margin-bottom:0;margin-right:.75rem}.bubble-title{font-size:1.1rem;font-weight:700;line-height:1.3;word-break:break-word;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;flex-wrap:nowrap}.flow-bubble.expanded .bubble-title{font-size:1.5rem;margin-bottom:1rem;flex-direction:row;justify-content:flex-start}.bubble-connection line{animation:lineGrow .3s ease-out .1s both}.bubble-content{margin-top:.5rem;animation:fadeIn .3s ease-in .3s both}.bubble-content p{font-size:1rem;line-height:1.6;margin-bottom:1rem;color:var(--color-text-primary);text-align:left}.bubble-link{display:inline-block;color:var(--color-primary-blue);font-weight:600;text-decoration:none;margin-top:.5rem;transition:color .2s}.bubble-link:hover{color:var(--color-primary-dark);text-decoration:underline}@keyframes lineGrow{0%{stroke-dasharray:100;stroke-dashoffset:100}to{stroke-dasharray:100;stroke-dashoffset:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.flow-sections-vertical{display:flex;flex-direction:column;gap:3rem;max-width:40rem;margin:0 auto}.flow-section-vertical h3{text-align:center;font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-primary-blue);font-weight:700}.vertical-flow-list{display:flex;flex-direction:column;gap:0}.vertical-flow-step{width:100%;display:flex;flex-direction:column;align-items:center}.vertical-arrow{display:flex;justify-content:center;margin:.5rem 0}.vertical-bubble{background:#fff;border:3px solid var(--color-primary-blue);border-radius:1rem;padding:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2563eb33}.vertical-bubble:hover{box-shadow:0 8px 25px #2563eb59;transform:translateY(-2px)}.vertical-bubble.expanded{box-shadow:0 12px 35px #2563eb66}.vertical-bubble .bubble-title{display:flex;flex-direction:row;align-items:center;gap:.75rem;font-size:1.2rem;font-weight:700;color:var(--color-text-heading)}.vertical-bubble .bubble-icon{font-size:1.5rem;color:var(--color-primary-blue);flex-shrink:0}.vertical-bubble .bubble-content{margin-top:1rem;padding-top:1rem;border-top:2px solid var(--color-border-light);animation:fadeIn .3s ease-in}.vertical-bubble .bubble-content p{font-size:1rem;line-height:1.6;margin-bottom:1rem;color:var(--color-text-primary);text-align:left}@media (max-width: 48rem){.flow-circle{min-height:30rem;max-width:30rem}.flow-bubble-wrapper{width:7rem;height:7rem}.flow-bubble-wrapper.expanded{width:90%;max-width:18rem}.bubble-title{font-size:.95rem}.flow-bubble.expanded{padding:1.5rem}.flow-bubble.expanded .bubble-title{font-size:1.3rem}.bubble-content p{font-size:.95rem}.arrow{border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-top:.7rem solid var(--color-primary-blue)}}
