/* Vuzzie cinematic reference is preserved in vuzzie.css. These additions belong only to the Ravi surface. */
html{scrollbar-color:var(--line) var(--bg);scroll-padding-top:24px}
body{caret-color:var(--accent)}
.hero{padding-top:61px}
.hero h1{font-size:clamp(38px,4.65vw,64px)}
.hero>p{max-width:740px}
.hero::before{background:none}
.ravi-showcase{margin:38px auto 0;max-width:1060px;overflow:hidden;padding:12px 8px 5px}
.ravi-stage{height:465px;position:relative;perspective:1100px;touch-action:pan-y;isolation:isolate}
.ravi-phone{position:absolute;width:210px;left:calc(50% - 105px);top:17px;padding:0;border:0;background:transparent;color:var(--ink);transform-style:preserve-3d;will-change:transform;transform:translateX(calc((var(--initial) - 2)*155px)) scale(.86);border-radius:31px;transform-origin:center;backface-visibility:hidden}
.ravi-phone:first-child{transform:translateX(0);z-index:5}
.ravi-phone .iphone{box-shadow:inset 0 0 0 1px rgba(244,244,238,.28),0 20px 40px rgba(0,0,0,.5)}
.ravi-phone .iphone-screen{position:relative;background:#151515}
.ravi-phone video{width:100%;height:100%;object-fit:contain}
.phone-play{display:flex;align-items:center;gap:8px;position:absolute;left:50%;bottom:17px;transform:translateX(-50%);padding:9px 13px;border-radius:7px;background:rgba(7,7,7,.88);color:var(--ink);font-size:12px}
.phone-play .icon{height:16px;width:16px}
.ravi-phone:hover .phone-play,.ravi-phone:focus-visible .phone-play{background:var(--accent);color:var(--bg)}
.phone-title{display:block;font-size:13px;margin-top:15px;line-height:1.5;white-space:normal;opacity:0}
.ravi-phone.is-current .phone-title{opacity:1}
.ravi-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:3px}
.round-control{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--ink)}
.round-control:hover,.rotation-toggle:hover{border-color:var(--accent)}
.rotation-toggle{display:flex;align-items:center;gap:9px;min-width:167px;justify-content:center;padding:9px 12px;min-height:44px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-size:12px}
.rotation-toggle .icon{width:17px;height:17px}
.carousel-caption{font-size:12px;margin:17px auto 0;max-width:650px}
.profile-link{margin-top:20px!important;font-size:14px!important}
.profile-link a{display:inline-flex;align-items:center;gap:10px;text-underline-offset:5px;border-bottom:1px solid var(--line)}
.profile-link a:hover{color:var(--accent)}
.profile-link .icon{width:16px;height:16px}
.course-strip{display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;gap:18px;padding:24px 0;border-block:1px solid var(--line);margin-top:35px;font-size:13px;color:var(--muted)}
.ravi-photo-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.ravi-photo-story figure{overflow:hidden;border-radius:12px;background:var(--surface)}
.ravi-photo-story figure:nth-child(2){margin-top:40px}
.ravi-photo-story figure:nth-child(3){margin-top:80px}
.ravi-photo-story img{width:100%;aspect-ratio:9/16;object-fit:cover}
.ravi-photo-story figcaption{font-size:12px;text-align:center;line-height:1.5;padding:12px 8px}
.curriculum-section{display:grid;grid-template-columns:.9fr 1.4fr;gap:75px;align-items:start}
.curriculum-section .section-title{position:sticky;top:24px}
.module-list{border-top:1px solid var(--line)}
.module{border-bottom:1px solid var(--line)}
.module summary{display:flex;align-items:center;gap:19px;list-style:none;padding:23px 0;cursor:pointer;min-height:88px}
.module summary::-webkit-details-marker{display:none}
.module-number{font:500 16px/1.2 var(--display);font-variant-numeric:tabular-nums;color:var(--accent);min-width:27px}
.module-heading{display:flex;flex:1;flex-direction:column;gap:7px}
.module-heading strong{font-size:16px;line-height:1.4;font-weight:500}
.module-heading small{font-size:12px;color:var(--muted)}
.module summary>.icon{width:19px;height:19px;color:var(--accent);transition:transform .2s}
.module[open] summary>.icon{transform:rotate(45deg)}
.module-content{padding:0 29px 24px 46px}
.module-content p{font-size:14px;line-height:1.8;max-width:65ch}
.module-outcome{margin-top:13px;color:var(--ink)}
.module-outcome strong{font-weight:600}
.course-availability{margin-top:25px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;line-height:1.8;color:var(--muted)}
.course-availability strong{color:var(--ink);font-weight:500}
.offer-includes li{font-size:14px}
.offer-payment{font-size:12px}
.offer-note{font-size:12px}
.faqs summary>.icon{color:var(--accent);width:20px;height:20px;transition:transform .2s}
.faqs details[open] summary>.icon{transform:rotate(45deg)}
.watch-dialog>p{font-size:12px}
.footer-grid a{font-size:13px;min-height:34px}
.footer-bottom{font-size:12px}
@media(max-width:800px){.hero{padding-top:44px}.hero h1{font-size:clamp(38px,5.2vw,55px)}.curriculum-section{grid-template-columns:1fr;gap:10px}.curriculum-section .section-title{position:static}.ravi-stage{height:438px}.ravi-phone{width:195px;left:calc(50% - 97.5px)}.ravi-photo-story{gap:10px}.ravi-photo-story figcaption{font-size:11px}.course-strip{gap:14px 26px;justify-content:center}.offer-payment{font-size:12px}}
@media(max-width:600px){.hero{padding-top:35px}.hero h1{font-size:clamp(30px,7.9vw,43px)}.hero>p{font-size:15px}.ravi-showcase{margin:25px -20px 0;width:calc(100% + 40px);padding-inline:0}.ravi-stage{height:389px}.ravi-phone{width:172px;left:calc(50% - 86px);top:12px}.phone-title{font-size:12px}.phone-play{font-size:11px;padding:8px 10px;bottom:14px}.ravi-controls{gap:10px}.rotation-toggle{font-size:12px;min-width:165px}.carousel-caption{font-size:12px;padding-inline:27px;max-width:360px}.profile-link{font-size:13px!important;margin-top:20px!important}.course-strip{font-size:12px;display:grid;grid-template-columns:1fr 1fr;gap:13px;text-align:left;margin-top:27px}.ravi-photo-story{gap:11px}.ravi-photo-story figure:nth-child(2){margin-top:27px}.ravi-photo-story figure:nth-child(3){margin-top:54px}.ravi-photo-story figcaption{font-size:11px;padding:10px 6px}.module summary{gap:13px;padding:21px 0}.module-heading strong{font-size:15px}.module-heading small{font-size:12px}.module-number{font-size:15px;min-width:24px}.module-content{padding:0 7px 23px 37px}.module-content p{font-size:14px}.offer-includes li{font-size:13px}.offer-payment,.offer-note,.watch-dialog>p{font-size:12px}.course-availability{font-size:13px}.footer-grid nav a{font-size:12px;min-height:36px}.footer-bottom{font-size:12px}.control-section{gap:28px}}
@media(prefers-reduced-motion:reduce){.ravi-phone{will-change:auto}.ravi-stage{scroll-behavior:auto}}
