.homepage-carousel{padding:26px 0 24px;background:linear-gradient(180deg,rgba(114,140,105,.08),rgba(114,140,105,0))}
.homepage-carousel .carousel-shell{position:relative;border-radius:38px;overflow:hidden;background:#f6f7ef;border:1px solid rgba(16,60,47,.08);box-shadow:0 26px 90px rgba(16,60,47,.08)}
.homepage-carousel .carousel-viewport{overflow:hidden}
.homepage-carousel .carousel-track{display:flex;transition:transform .65s ease}
.homepage-carousel .carousel-slide{min-width:100%;padding:22px 0 10px;position:relative}
.homepage-carousel .carousel-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:54px 0 68px}
.homepage-carousel .carousel-copy{padding-left:6px}
.homepage-carousel .carousel-copy .eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px}
.homepage-carousel .carousel-copy h2{font-size:clamp(2.85rem,6vw,6rem);line-height:.94;letter-spacing:-.065em;color:var(--jyoti-dark);margin:10px 0 22px;max-width:720px}
.homepage-carousel .carousel-copy h2 em{font-style:normal;color:var(--jyoti-sage)}
.homepage-carousel .carousel-copy p{font-size:clamp(1.05rem,1.8vw,1.25rem);color:var(--jyoti-muted);max-width:640px;margin:0}
.homepage-carousel .carousel-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}
.homepage-carousel .carousel-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.homepage-carousel .carousel-trust .trust-chip{background:rgba(255,255,255,.75)}
.homepage-carousel .visual-stage{position:relative;min-height:590px}
.homepage-carousel .visual-stage .phone{position:absolute;background:#14181b;padding:10px;border-radius:44px;box-shadow:0 28px 80px rgba(16,60,47,.22);overflow:hidden}
.homepage-carousel .visual-stage .phone img{display:block;width:100%;border-radius:35px}
.homepage-carousel .visual-stage .phone-main{right:64px;top:22px;width:min(330px,70vw);transform:rotate(2deg);z-index:2}
.homepage-carousel .visual-stage .phone-side{left:8px;bottom:28px;width:min(252px,56vw);transform:rotate(-5deg);z-index:1}
.homepage-carousel .visual-stage .portrait-bubble{position:absolute;width:180px;height:180px;border:10px solid var(--jyoti-cream);border-radius:50%;object-fit:cover;right:10px;bottom:16px;z-index:3;box-shadow:var(--shadow)}
.homepage-carousel .visual-stage .floating-note{position:absolute;left:28px;top:22px;background:var(--jyoti-gold);color:#183428;padding:14px 17px;border-radius:18px;font-weight:600;transform:rotate(-3deg);z-index:4;box-shadow:0 12px 40px rgba(0,0,0,.12)}
.homepage-carousel .carousel-slide.chair-slide .visual-stage{min-height:560px}
.homepage-carousel .rounded-feature-image{position:absolute;left:8px;bottom:32px;width:min(320px,64vw);background:#fff;border-radius:34px;padding:12px;box-shadow:0 22px 70px rgba(16,60,47,.16);z-index:1}
.homepage-carousel .rounded-feature-image img{display:block;width:100%;aspect-ratio:1.12/1;object-fit:cover;border-radius:24px}
.homepage-carousel .rounded-feature-image figcaption{padding:12px 10px 6px;color:var(--jyoti-muted);font-size:.92rem;font-weight:700}
.homepage-carousel .chair-slide .phone-main{right:54px;top:50px;width:min(300px,66vw);transform:rotate(4deg)}
.homepage-carousel .chair-slide .portrait-bubble{right:0;bottom:10px}
.homepage-carousel .situational-slide .phone-main{right:72px;top:40px;width:min(320px,68vw)}
.homepage-carousel .situational-slide .phone-side{left:18px;bottom:36px;width:min(225px,50vw);transform:rotate(-8deg)}
.homepage-carousel .situational-slide .floating-note{background:#f0cc54}
.homepage-carousel .carousel-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 34px 28px}
.homepage-carousel .carousel-progress{display:flex;gap:10px;align-items:center}
.homepage-carousel .carousel-dot{width:12px;height:12px;border-radius:50%;background:rgba(16,60,47,.18);border:none;padding:0;cursor:pointer;transition:transform .2s ease,background .2s ease}
.homepage-carousel .carousel-dot.is-active{background:var(--jyoti-sage);transform:scale(1.12)}
.homepage-carousel .carousel-nav{display:flex;gap:10px}
.homepage-carousel .carousel-arrow{width:48px;height:48px;border-radius:50%;border:1px solid rgba(16,60,47,.14);background:#fff;color:var(--jyoti-dark);display:grid;place-items:center;cursor:pointer;font-size:1.2rem;font-weight:800;box-shadow:0 10px 24px rgba(16,60,47,.08)}
.homepage-carousel .carousel-caption{color:var(--jyoti-muted);font-size:.96rem;font-weight:700}
.homepage-carousel .badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.homepage-carousel .mini-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#e8efe2;color:#1e4a38;font-size:.86rem;font-weight:800;border:1px solid rgba(16,60,47,.08)}
@media(max-width:1020px){.homepage-carousel .carousel-grid{grid-template-columns:1fr;padding-top:42px}.homepage-carousel .visual-stage,.homepage-carousel .carousel-slide.chair-slide .visual-stage{min-height:560px}.homepage-carousel .carousel-bottom{padding:0 24px 24px;flex-wrap:wrap}.homepage-carousel .carousel-copy{padding-left:0}}
@media(max-width:700px){.homepage-carousel{padding:18px 0 20px}.homepage-carousel .carousel-shell{border-radius:28px}.homepage-carousel .carousel-slide{padding-top:10px}.homepage-carousel .carousel-grid{gap:20px;padding:28px 0 42px}.homepage-carousel .carousel-copy h2{font-size:clamp(2.8rem,13vw,4.5rem)}.homepage-carousel .carousel-actions{display:grid}.homepage-carousel .carousel-actions .app-store-button,.homepage-carousel .carousel-actions .btn-secondary{width:100%;justify-content:center}.homepage-carousel .visual-stage,.homepage-carousel .carousel-slide.chair-slide .visual-stage{min-height:470px}.homepage-carousel .visual-stage .phone-main{right:6px;width:66vw}.homepage-carousel .visual-stage .phone-side{left:0;width:48vw}.homepage-carousel .visual-stage .portrait-bubble{width:128px;height:128px;border-width:7px;right:-4px;bottom:8px}.homepage-carousel .rounded-feature-image{left:0;bottom:18px;width:58vw;padding:8px;border-radius:24px}.homepage-carousel .rounded-feature-image img{border-radius:18px}.homepage-carousel .rounded-feature-image figcaption{font-size:.78rem;padding:8px 6px 2px}.homepage-carousel .visual-stage .floating-note{left:0;top:10px;font-size:.8rem;padding:10px 12px}.homepage-carousel .carousel-bottom{justify-content:center}.homepage-carousel .carousel-caption{width:100%;text-align:center}}

/* V28.2 — top-of-page, viewport-conscious carousel. Original hero removed. */
.homepage-carousel{padding:8px 0 12px}
.homepage-carousel .carousel-shell{border-radius:24px}
.homepage-carousel .carousel-slide{padding:0}
.homepage-carousel .carousel-grid{min-height:clamp(470px,calc(100svh - 225px),680px);padding:18px 0 14px;gap:28px}
.homepage-carousel .carousel-copy h1,.homepage-carousel .carousel-copy h2{font-size:clamp(2.65rem,5.3vw,5.2rem);line-height:.96;margin:8px 0 15px}
.homepage-carousel .carousel-copy .eyebrow{margin-bottom:8px}
.homepage-carousel .carousel-copy p{font-size:clamp(.98rem,1.45vw,1.13rem);line-height:1.46}
.homepage-carousel .carousel-actions{margin-top:17px;gap:10px}
.homepage-carousel .carousel-trust{margin-top:14px;gap:6px}
.homepage-carousel .carousel-trust .trust-chip{padding:6px 10px;font-size:.76rem}
.homepage-carousel .badge-row{margin-top:12px;gap:7px}
.homepage-carousel .mini-badge{padding:6px 9px;font-size:.77rem}
.homepage-carousel .visual-stage,.homepage-carousel .carousel-slide.chair-slide .visual-stage{min-height:450px}
.homepage-carousel .visual-stage .phone-main{width:min(265px,63%);right:38px;top:10px}
.homepage-carousel .visual-stage .phone-side{width:min(205px,47%);left:0;bottom:12px}
.homepage-carousel .visual-stage .portrait-bubble{width:135px;height:135px;border-width:7px;right:0;bottom:0}
.homepage-carousel .visual-stage .floating-note{top:4px;left:6px;padding:10px 12px;font-size:.83rem}
.homepage-carousel .chair-slide .rounded-feature-image{width:min(230px,52%);bottom:10px}
.homepage-carousel .chair-slide .visual-stage .phone-main{width:min(255px,61%);right:25px;top:20px}
.homepage-carousel .carousel-bottom{padding:0 22px 12px}
.homepage-carousel .carousel-arrow{width:38px;height:38px}
.homepage-carousel .carousel-caption{font-size:.79rem}
@media(max-width:1020px){
 .homepage-carousel .carousel-grid{grid-template-columns:1.08fr .92fr;gap:16px;min-height:clamp(460px,calc(100svh - 200px),650px);padding:16px 0}
 .homepage-carousel .carousel-copy h1,.homepage-carousel .carousel-copy h2{font-size:clamp(2.3rem,4.8vw,4rem)}
 .homepage-carousel .visual-stage,.homepage-carousel .carousel-slide.chair-slide .visual-stage{min-height:385px}
 .homepage-carousel .carousel-actions .app-store-button{min-height:49px;padding:8px 10px}
 .homepage-carousel .carousel-actions .app-store-button strong{font-size:.95rem}
}
@media(max-width:700px){
 .homepage-carousel{padding:4px 0 12px}
 .homepage-carousel .carousel-shell{border-radius:16px}
 .homepage-carousel .carousel-grid{display:flex;flex-direction:column;gap:6px;padding:15px 0 8px;min-height:0}
 .homepage-carousel .carousel-copy h1,.homepage-carousel .carousel-copy h2{font-size:clamp(2.05rem,8.2vw,3.05rem);line-height:.98;margin:5px 0 10px}
 .homepage-carousel .carousel-copy .eyebrow{font-size:.7rem;margin-bottom:5px}
 .homepage-carousel .carousel-copy p{font-size:.87rem;line-height:1.33}
 .homepage-carousel .badge-row{margin-top:9px}
 .homepage-carousel .mini-badge{font-size:.65rem;padding:5px 7px}
 .homepage-carousel .carousel-actions{display:flex;gap:7px;margin-top:12px}
 .homepage-carousel .carousel-actions .jyoti-store-pair{display:flex;width:100%;gap:7px}
 .homepage-carousel .carousel-actions .app-store-button{width:auto;min-width:0;flex:1 1 0;min-height:44px;padding:6px 8px;border-radius:9px;gap:7px}
 .homepage-carousel .carousel-actions .app-store-button svg{width:21px;height:21px;flex-shrink:0}
 .homepage-carousel .carousel-actions .app-store-button strong{font-size:.86rem}
 .homepage-carousel .carousel-actions .app-store-button small{font-size:.49rem}
 .homepage-carousel .carousel-actions .btn-secondary{display:none}
 .homepage-carousel .carousel-trust{margin-top:8px;gap:5px}
 .homepage-carousel .carousel-trust .trust-chip{font-size:.65rem;padding:5px 7px}
 .homepage-carousel .visual-stage,.homepage-carousel .carousel-slide.chair-slide .visual-stage{width:100%;min-height:clamp(190px,29svh,260px);overflow:hidden}
 .homepage-carousel .visual-stage .phone{border-radius:21px;padding:5px}
 .homepage-carousel .visual-stage .phone img{border-radius:17px}
 .homepage-carousel .visual-stage .phone-main{width:min(135px,39%);right:15%;top:3px}
 .homepage-carousel .visual-stage .phone-side{width:min(108px,31%);left:19%;bottom:-35px}
 .homepage-carousel .visual-stage .portrait-bubble{width:78px;height:78px;border-width:4px;right:10%;bottom:8px}
 .homepage-carousel .visual-stage .floating-note{left:3%;top:5px;padding:6px 8px;font-size:.63rem;max-width:38%;line-height:1.1}
 .homepage-carousel .rounded-feature-image{width:38%;left:12%;bottom:-10px;padding:5px;border-radius:12px}
 .homepage-carousel .rounded-feature-image img{border-radius:9px}
 .homepage-carousel .rounded-feature-image figcaption{display:none}
 .homepage-carousel .chair-slide .rounded-feature-image{width:38%;bottom:-10px}
 .homepage-carousel .chair-slide .visual-stage .phone-main{width:min(120px,36%);right:19%;top:3px}
 .homepage-carousel .carousel-bottom{padding:0 12px 10px;gap:8px}
 .homepage-carousel .carousel-caption{display:none}
 .homepage-carousel .carousel-dot{width:10px;height:10px}
 .homepage-carousel .carousel-arrow{width:34px;height:34px}
}
@media(max-width:700px) and (max-height:740px){
 .homepage-carousel .carousel-copy h1,.homepage-carousel .carousel-copy h2{font-size:clamp(1.8rem,7.5vw,2.4rem)}
 .homepage-carousel .carousel-copy p{font-size:.79rem}
 .homepage-carousel .carousel-trust{display:none}
 .homepage-carousel .visual-stage,.homepage-carousel .carousel-slide.chair-slide .visual-stage{min-height:170px}
}
@media(prefers-reduced-motion:reduce){.homepage-carousel .carousel-track{transition:none}}

.homepage-carousel .carousel-copy .carousel-unity{font-size:.95rem;font-weight:800;color:var(--jyoti-dark);margin:23px 0 -17px;max-width:none;letter-spacing:.01em}
@media(max-width:700px){.homepage-carousel .carousel-copy .carousel-unity{font-size:.82rem;margin:20px 0 -16px}}

/* V28.5 brand-consistent typography and uncropped app-preview devices */
.homepage-carousel .carousel-copy h1,.homepage-carousel .carousel-copy h2{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:600;letter-spacing:-.06em;color:#103c2f}
.homepage-carousel .carousel-copy h1 em,.homepage-carousel .carousel-copy h2 em{font-style:normal;color:#728c69}
.homepage-carousel .visual-stage,.homepage-carousel .carousel-slide.chair-slide .visual-stage{overflow:visible;min-width:0}
.homepage-carousel .visual-stage .phone{box-sizing:border-box;overflow:hidden;max-height:100%;}
.homepage-carousel .visual-stage .phone img{height:auto;max-height:100%;object-fit:contain}
.homepage-carousel .visual-stage .phone-main{width:min(205px,43%);right:16%;top:7px;transform:rotate(1deg)}
.homepage-carousel .visual-stage .phone-side{width:min(142px,31%);left:8%;bottom:12px;transform:rotate(-3deg)}
.homepage-carousel .chair-slide .visual-stage .phone-main{width:min(185px,41%);right:13%;top:7px}
.homepage-carousel .situational-slide .visual-stage .phone-main{width:min(205px,43%);right:16%;top:7px}
.homepage-carousel .situational-slide .visual-stage .phone-side{width:min(142px,31%);left:8%;bottom:12px}
@media(min-width:1021px){.homepage-carousel .visual-stage,.homepage-carousel .carousel-slide.chair-slide .visual-stage{min-height:505px}}
@media(max-width:1020px) and (min-width:701px){.homepage-carousel .visual-stage,.homepage-carousel .carousel-slide.chair-slide .visual-stage{min-height:425px}.homepage-carousel .visual-stage .phone-main{width:min(168px,41%);right:15%}.homepage-carousel .visual-stage .phone-side{width:min(115px,30%);left:9%}}
@media(max-width:700px){
 .homepage-carousel .visual-stage,.homepage-carousel .carousel-slide.chair-slide .visual-stage{min-height:clamp(285px,42svh,370px)}
 .homepage-carousel .visual-stage .phone-main{width:min(148px,34%);right:21%;top:7px}
 .homepage-carousel .visual-stage .phone-side{width:min(108px,25%);left:19%;bottom:10px}
 .homepage-carousel .chair-slide .visual-stage .phone-main{width:min(142px,33%);right:18%;top:7px}
 .homepage-carousel .rounded-feature-image,.homepage-carousel .chair-slide .rounded-feature-image{bottom:12px}
 .homepage-carousel .visual-stage .portrait-bubble{right:6%;bottom:8px}
}
/* Keep full tall device artwork inside the mobile carousel stage. */
@media(max-width:700px){
 .homepage-carousel .visual-stage .phone-main{width:min(123px,31%)}
 .homepage-carousel .chair-slide .visual-stage .phone-main{width:min(118px,30%)}
 .homepage-carousel .visual-stage .phone-side{width:min(95px,23%)}
}
@media(max-width:700px) and (max-height:740px){
 .homepage-carousel .visual-stage,.homepage-carousel .carousel-slide.chair-slide .visual-stage{min-height:230px}
 .homepage-carousel .visual-stage .phone-main{width:min(96px,27%)}
 .homepage-carousel .chair-slide .visual-stage .phone-main{width:min(94px,26%)}
 .homepage-carousel .visual-stage .phone-side{width:min(78px,21%)}
}


.homepage-carousel .situational-slide .rounded-feature-image{left:2%;bottom:12px;width:min(275px,42%);z-index:1}
.homepage-carousel .situational-slide .rounded-feature-image img{aspect-ratio:1.08/1;object-position:center}
.homepage-carousel .situational-slide .phone-main{z-index:2}
@media(max-width:700px){
 .homepage-carousel .situational-slide .rounded-feature-image{left:0;bottom:18px;width:52vw;padding:8px;border-radius:24px}
 .homepage-carousel .situational-slide .phone-main{right:4px;width:58vw;top:18px}
}

/* V28.7: balanced image and text stage spacing; never crop the artwork */
.homepage-carousel .carousel-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);column-gap:clamp(18px,3vw,40px);padding-inline:clamp(24px,4vw,55px)}
.homepage-carousel .carousel-grid.container{width:100%;max-width:none}
.homepage-carousel .carousel-copy{padding-left:0;min-width:0}
.homepage-carousel .visual-stage{width:100%;max-width:100%;min-width:0;margin-inline:auto}
.homepage-carousel .carousel-copy .carousel-unity{margin:12px 0 12px}
.homepage-carousel .carousel-actions{margin-top:14px}
.homepage-carousel .carousel-trust{margin-top:16px}
.homepage-carousel .carousel-copy h1,.homepage-carousel .carousel-copy h2{letter-spacing:-.045em}
@media(max-width:1020px){.homepage-carousel .carousel-grid{grid-template-columns:1fr;gap:20px;padding-inline:clamp(20px,4vw,32px)}.homepage-carousel .visual-stage{max-width:540px}}
@media(max-width:700px){.homepage-carousel .carousel-grid{padding-inline:18px;gap:10px}.homepage-carousel .carousel-copy .carousel-unity{margin:9px 0 8px}.homepage-carousel .carousel-actions{margin-top:8px}.homepage-carousel .carousel-trust{margin-top:8px}.homepage-carousel .visual-stage{min-height:310px}}
