:root{--kyoren-blue:#37669d;--kyoren-navy:#173957;--kyoren-orange:#ff751f;--kyoren-paper:#f7f8f5;--kyoren-muted:#61707a}

/* Hero photograph with a quiet, readable overlay */
.merged-hero{position:relative;max-width:none;min-height:760px;padding-left:max(42px,calc((100vw - 1276px)/2));padding-right:max(42px,calc((100vw - 1276px)/2));color:#fff;background:#102d44 url('/images/kyoren-hero.webp') center/cover no-repeat;isolation:isolate}
.merged-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,29,44,.94) 0%,rgba(12,33,49,.82) 38%,rgba(14,36,51,.38) 67%,rgba(14,36,51,.18) 100%);z-index:-1}
.merged-hero>div:first-child{max-width:660px}.merged-hero h1,.merged-hero .hero-lede{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.18)}.merged-hero h1 em{color:#a9cee9}.merged-hero .eyebrow{color:#c8dfef}.merged-hero .text-link{color:#fff}.merged-hero .hero-visual{display:none}
.hero-overlay-card{position:absolute;z-index:2;right:max(42px,calc((100vw - 1276px)/2));bottom:52px;width:min(360px,30vw);height:auto;border-radius:12px;box-shadow:0 24px 70px rgba(3,20,33,.35);background:#fff}

/* App download and ecosystem */
.store-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:25px;align-items:center}.store-link{display:block;width:190px;transition:.25s ease}.store-link img{display:block;width:100%;height:auto;border-radius:8px}.store-link:hover{transform:translateY(-3px);filter:brightness(1.06)}
.ecosystem-panel{grid-column:1/-1;margin-top:-34px;padding:0}.ecosystem-panel img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.22)}

/* Image-led programs */
.program-grid.enhanced-program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}.enhanced-program-grid .program-card{position:relative;min-height:330px;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.12);isolation:isolate}.enhanced-program-grid .program-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,31,46,.05),rgba(10,27,41,.93));z-index:1}.program-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease;filter:saturate(.82) contrast(.97)}.enhanced-program-grid .program-card:hover{transform:none}.enhanced-program-grid .program-card:hover .program-card-image{transform:scale(1.04)}.program-card-content{position:relative;z-index:2;min-height:330px;padding:27px 28px;display:flex;flex-direction:column;align-items:flex-start}.enhanced-program-grid .program-meta{width:100%;color:#d4e2eb}.enhanced-program-grid .program-card h3{margin:118px 0 10px;color:#fff;font-size:29px}.enhanced-program-grid .program-card p{color:#d8e2e8;margin:0}.enhanced-program-grid .program-card b{margin-top:auto}

/* Human testimonial cards */
.testimonial-grid.enhanced-testimonials{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.enhanced-testimonials blockquote{padding:30px 30px 28px;overflow:hidden;background:#fff;border-radius:0;align-items:flex-start}.testimonial-photo{height:76px;width:76px;border-radius:50%;object-fit:cover;object-position:center;display:block;border:3px solid #eef3f6;box-shadow:0 8px 25px rgba(22,57,87,.12)}.testimonial-copy{padding:20px 0 0;display:flex;flex-direction:column;flex:1}.enhanced-testimonials .testimonial-copy>span{font-family:Georgia,serif;color:var(--kyoren-orange);font-size:43px;line-height:.7}.enhanced-testimonials .testimonial-copy p{font-size:16px;margin:13px 0 24px}.enhanced-testimonials .testimonial-copy cite{margin-top:auto}

/* FAQ */
.faq-section{padding:68px max(42px,calc((100vw - 1276px)/2)) 100px;background:#eef3f6}.faq-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:52px}.faq-head h2{font-size:clamp(48px,5.3vw,76px)}.faq-head>p{color:var(--kyoren-muted);font-size:16px;line-height:1.75}.faq-list{border-top:1px solid #cfd9de}.faq-item{border-bottom:1px solid #cfd9de}.faq-item button{width:100%;padding:23px 0;border:0;background:none;display:grid;grid-template-columns:50px 1fr auto;gap:18px;align-items:center;text-align:left;color:var(--kyoren-navy);cursor:pointer}.faq-number{font-family:Georgia,serif;font-size:22px;color:var(--kyoren-orange)}.faq-question{font-family:Georgia,serif;font-size:21px}.faq-icon{font-size:25px;font-weight:300;color:var(--kyoren-blue);transition:transform .25s}.faq-answer{max-height:0;overflow:hidden;padding:0 70px;color:var(--kyoren-muted);font-size:15px;line-height:1.75;transition:max-height .4s ease,padding .4s ease}.faq-item.open .faq-answer{max-height:220px;padding:0 70px 24px}.faq-item.open .faq-icon{transform:rotate(45deg)}

/* Scroll reveal */
.reveal-in{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal-in.is-visible{opacity:1;transform:none}

.instagram-link{display:inline-flex!important;align-items:center;gap:8px}.instagram-link svg{width:16px;height:16px;display:block;color:var(--kyoren-orange)}

@media(max-width:900px){.merged-hero{min-height:680px;padding-left:24px;padding-right:24px;background-position:64% center}.merged-hero:before{background:linear-gradient(90deg,rgba(10,29,44,.93),rgba(10,29,44,.55))}.hero-overlay-card{right:24px;bottom:36px;width:280px}.ecosystem-panel{margin-top:0}.testimonial-grid.enhanced-testimonials{grid-template-columns:1fr 1fr}.faq-head{grid-template-columns:1fr;gap:24px}.faq-section{padding:58px 24px 82px}}
@media(max-width:560px){.merged-hero{min-height:780px;padding:62px 20px 230px;background-position:67% center}.merged-hero:before{background:linear-gradient(180deg,rgba(9,28,43,.8),rgba(9,28,43,.92))}.merged-hero h1{font-size:52px}.hero-overlay-card{right:20px;left:20px;bottom:24px;width:calc(100% - 40px);max-height:190px;object-fit:cover;object-position:center}.store-links{flex-direction:row;gap:9px}.store-link{width:calc(50% - 5px)}.ecosystem-panel img{border-radius:12px}.program-grid.enhanced-program-grid{grid-template-columns:1fr}.enhanced-program-grid .program-card,.program-card-content{min-height:300px}.enhanced-program-grid .program-card h3{margin-top:102px}.testimonial-grid.enhanced-testimonials{grid-template-columns:1fr}.testimonial-photo{height:72px;width:72px}.faq-section{padding:50px 20px 72px}.faq-head h2{font-size:45px}.faq-item button{grid-template-columns:36px 1fr auto;gap:10px;padding:20px 0}.faq-question{font-size:18px}.faq-answer,.faq-item.open .faq-answer{padding-left:46px;padding-right:18px}}
.ecosystem-caption{max-width:900px;margin:25px auto 0;text-align:center;color:var(--kyoren-orange);font:italic 600 clamp(18px,2vw,24px)/1.45 Georgia,serif}
.faq-head{opacity:1!important;transform:none!important}.faq-head h2{color:var(--kyoren-navy)!important}
@media(max-width:560px){.merged-hero{min-height:900px;padding-bottom:380px}.hero-overlay-card{height:auto;max-height:none;object-fit:contain}.ecosystem-caption{margin-top:20px;font-size:18px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.reveal-in{opacity:1;transform:none;transition:none}.program-card-image,.store-link,.faq-answer,.faq-icon{transition:none}}
