html{scroll-behavior:smooth}body{margin:0}.portfolio-video{display:block;width:100%;height:100%;object-fit:contain;background:#111}.portfolio-video:not([controls]){object-fit:cover}a:focus-visible,button:focus-visible{outline:3px solid #4169e1;outline-offset:5px}a[data-highlight]{transition:transform .3s ease}a[data-highlight]:hover{transform:scale(1.015)!important}#site-menu{position:fixed;inset:72px 6vw auto auto;margin:0;padding:24px;min-width:180px;border:1px solid #eee;border-radius:20px;background:white;box-shadow:0 10px 40px #0002;z-index:100;font:500 20px Inter,sans-serif}#site-menu::backdrop{background:#0002}#site-menu a{display:block;padding:10px;color:#222;text-decoration:none}#site-menu a:hover{background:#f3f6f6;border-radius:8px}.menu-close{font:inherit;font-size:14px;border:0;background:#222;color:white;padding:8px 14px;border-radius:8px;margin:12px 10px 0;cursor:pointer}.form-status{font:14px/1.5 Inter,sans-serif;color:#444;width:100%}.framer--carousel{scrollbar-width:none}.framer--carousel::-webkit-scrollbar{display:none}video{max-width:100%}body:has(#site-menu[open]){overflow:hidden}.video-unavailable{display:grid;place-items:center;width:100%;height:100%;background:#f3f6f6;color:#555}.motion-reveal-ready{opacity:.1!important;transform:translateY(50px) scale(.9)!important;transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)!important}.motion-reveal-ready.is-visible{opacity:1!important;transform:none!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.motion-reveal-ready{opacity:1!important;transform:none!important}}
.nda-gate{width:min(1100px,100%);box-sizing:border-box;margin:60px auto;padding:40px;font:18px/1.5 Inter,sans-serif}.nda-gate h1{font-size:38px;line-height:1.15}.nda-gate form{display:flex;flex-wrap:wrap;gap:12px;max-width:500px;margin:24px 0}.nda-gate input{font:inherit;border:1px solid #bbb;border-radius:10px;padding:12px;min-width:0;flex:1}.nda-gate button{font:inherit;background:#222;color:white;border:0;border-radius:10px;padding:12px 20px;cursor:pointer}#private-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}#private-videos video{width:100%;max-height:650px;background:#111}form[data-nda-form][hidden]{display:none}@media(max-width:600px){.nda-gate{padding:24px;margin:24px auto}.nda-gate h1{font-size:28px}}
/* Preserve the owner's original NDA gate; content is now protected on server. */
.nda-gate{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;width:auto;max-width:none;margin:0;padding:24px;box-sizing:border-box;background:rgb(10,10,10);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.nda-dialog{box-sizing:border-box;width:min(460px,100%);background:#fff;border-radius:16px;padding:20px;box-shadow:0 20px 60px #0006}
.nda-gate h1{font-size:16px;font-weight:700;line-height:normal;margin:0 0 8px}
.nda-gate p{font-size:13px;opacity:.75;margin:0 0 14px;line-height:normal}
.nda-gate form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:0;max-width:none}
.nda-gate input{box-sizing:border-box;width:100%;min-width:0;height:40px;padding:0 12px;border-radius:10px;border:1px solid #0003;font-size:14px}
.nda-gate button[type=submit]{height:40px;padding:0 14px;border-radius:10px;border:0;background:#000;color:#fff;font-size:14px;font-weight:700;white-space:nowrap}
.nda-gate .form-status{grid-column:1/-1;color:crimson;font-size:12px;margin:0}
.nda-gate .form-status:empty{display:none}
.nda-gate .nda-reset{margin-top:14px;font-size:12px;background:transparent;border:0;opacity:.7;cursor:pointer;padding:0;color:#222}

/* Keep every carousel item reachable on narrow screens, including NDA. */
.framer--carousel{max-width:calc(100vw - 40px)}

/* Leave room for glyph descenders instead of clipping the heading's reveal. */
.home-hero-title-wrap{overflow:visible!important}
.home-hero-title{padding-bottom:.12em!important;margin-bottom:-.12em!important}
/* Keep the portrait and attribution fixed while long reviews scroll. */
.testimonial-card article{height:100%!important;min-height:0;justify-content:flex-start!important;gap:8px!important;padding:10px 12px!important;box-sizing:border-box}
.testimonial-card .testimonial-author{flex-shrink:0;width:100%!important;height:102px!important;color:inherit;text-decoration:none}
.testimonial-card .testimonial-text{width:100%!important;flex:1 1 auto!important;min-height:0;height:auto!important;overflow-y:auto!important;overflow-x:hidden;scroll-behavior:smooth;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#a4adad transparent;padding-right:10px;box-sizing:border-box}
.testimonial-copy{position:relative!important;height:auto;white-space:normal}
.testimonial-copy p+p{margin-top:1em!important}
.testimonial-scroll-controls{display:flex;justify-content:flex-end;gap:6px;width:100%;height:26px;flex:0 0 26px}
.testimonial-scroll-controls button{display:grid;place-items:center;width:28px;height:26px;border:1px solid #cdd4d4;border-radius:50%;background:transparent;color:#333;font:16px/1 Inter,sans-serif;cursor:pointer}
.testimonial-scroll-controls button:disabled{opacity:.25;cursor:default}
.testimonial-scroll-controls[hidden]{display:none}
.testimonial-author:focus-visible{outline:2px solid #4169e1;outline-offset:2px;border-radius:16px}
:is(.interactive-button,button,a[data-framer-name="Button"]){transition:translate .18s ease,scale .18s ease,box-shadow .18s ease,filter .18s ease;cursor:pointer}
@media(hover:hover) and (pointer:fine){
 :is(.interactive-button,button,a[data-framer-name="Button"]):not(:disabled):hover{translate:0 -2px;filter:brightness(1.1)}
 .testimonial-author:hover{filter:brightness(.92)}
}
:is(.interactive-button,button,a[data-framer-name="Button"]):not(:disabled):active{translate:0 0;scale:.97}
@media(prefers-reduced-motion:reduce){.testimonial-text{scroll-behavior:auto!important}:is(.interactive-button,button,a[data-framer-name="Button"]):hover,:is(.interactive-button,button,a[data-framer-name="Button"]):active{translate:none!important;scale:1!important}}
/* Match the review cards to the available phone width. */
.framer--carousel:has(.testimonial-card)>li{width:min(400px,calc(100vw - 60px))}
.framer--carousel:has(.testimonial-card)>li>div{width:100%!important}
.testimonial-card{width:100%!important;box-sizing:border-box}
@media(max-width:600px){
 .testimonial-card .testimonial-author>.framer-qkrurh{width:72px!important;height:72px!important;flex-shrink:0}
 .testimonial-card .testimonial-author>.framer-1pjm2j8{flex:1;min-width:0;width:auto!important}
 .testimonial-card .testimonial-author h4{font-size:18px!important;line-height:1.3!important}
 .testimonial-card .testimonial-author p{font-size:12px!important;line-height:1.4!important}
}
.framer--carousel:has(.testimonial-card){mask-image:none!important;-webkit-mask-image:none!important}

/* Preserve the original shadows and allow raised CTAs beyond the row edge. */
.button-motion-space{overflow:visible!important}

/* A quiet menu treatment: no blue outlines or button-lift effects. */
#site-menu{outline:none}
#site-menu a{border-radius:10px;background-color:transparent;outline:none!important;box-shadow:none!important;translate:none!important;scale:1!important;filter:none!important;transition:background-color .28s ease,color .28s ease}
#site-menu a:hover{background-color:#eef1f1;color:#111}
#site-menu a:focus{outline:none!important}
#site-menu a:focus-visible{background-color:#e5ebeb;color:#111}
button[aria-controls="site-menu"]:focus,#site-menu .menu-close:focus{outline:none!important}
button[aria-controls="site-menu"]:focus-visible{filter:brightness(1.3)}
#site-menu .menu-close{translate:none!important;scale:1!important;transition:background-color .24s ease,filter .24s ease}
#site-menu .menu-close:focus-visible{background-color:#505858}
@media(prefers-reduced-motion:reduce){#site-menu a,#site-menu .menu-close{transition:none!important}}
/* Each animation frame sets the wheel position directly; anchors remain smooth. */
html.smooth-wheel-active{scroll-behavior:auto!important}

/* Decorative menu icons must never paint a separate native focus ring. */
button[aria-controls="site-menu"] [tabindex],button[aria-controls="site-menu"] div:focus{outline:none!important}

/* Article recommendations share a calm, wrapping card layout at every width. */
.article-recommendations{box-sizing:border-box;width:calc(100% - 48px);max-width:1040px;margin:48px auto 72px;padding:32px 0 0;border-top:1px solid #e7e9e9;min-width:0;align-self:center;font-family:Inter,sans-serif}
.article-recommendations>h2{margin:0 0 24px;font-size:26px;font-weight:600;line-height:1.25;letter-spacing:-.6px;color:#222426}
.article-recommendations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}
.article-recommendation{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px;border:1px solid #eceeee;border-radius:20px;background:#f5f6f6;color:#222426;text-decoration:none;transition:background-color .28s ease,border-color .28s ease;overflow-wrap:anywhere}
.article-recommendation-label{font-size:12px;line-height:1.5;color:#747a7a;margin-bottom:14px}
.article-recommendation h3{margin:0 0 28px;font-size:21px;font-weight:500;line-height:1.4;letter-spacing:-.4px;white-space:normal;color:inherit}
.article-recommendation-action{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin-top:auto;font-size:14px;line-height:1.5;color:#505858}
.article-recommendation-action>span{font-size:22px;transition:transform .28s ease}
.article-recommendation:hover{background:#eaf0ef;border-color:#dce4e2}
.article-recommendation:hover .article-recommendation-action>span{transform:translate(2px,-2px)}
.article-recommendation:focus-visible{outline:2px solid #505858;outline-offset:4px}
@media(max-width:600px){.article-recommendations{width:calc(100% - 40px);margin:32px auto 48px;padding-top:24px}.article-recommendations>h2{font-size:24px;margin-bottom:20px}.article-recommendation{padding:24px}.article-recommendation h3{font-size:19px}}

/* Give the article tag some breathing room below the header divider. */
.article-header{padding-top:20px!important}

/* Editorial rhythm: one spacing system rather than blank paragraph spacers. */
.article-body{width:calc(100% - 48px)!important;max-width:640px!important;min-width:0;font-size:18px;line-height:1.65;color:#505858}
.article-body :is(p,li){font-size:18px!important;line-height:1.65!important;color:#505858!important;text-align:left!important;letter-spacing:normal!important}
.article-body>p{margin:0!important}
.article-body>p+p{margin-top:20px!important}
.article-body :is(h2,h3,h4){color:#222426!important;text-align:left!important;letter-spacing:-.025em!important}
.article-body>h2{font-size:30px!important;line-height:1.25!important;margin:48px 0 16px!important}
.article-body>h3{font-size:24px!important;line-height:1.3!important;margin:32px 0 12px!important}
.article-body>h4{font-size:20px!important;line-height:1.4!important;margin:28px 0 12px!important}
.article-body>:first-child{margin-top:0!important}
.article-body>:is(img,figure){display:block;max-width:100%!important;margin:24px 0!important}
.article-body>figure{overflow-x:auto}
.article-body>h2+img{margin-top:16px!important}
.article-body>:is(ul,ol){margin:16px 0 24px!important;padding-left:1.4em!important}
.article-body li+li{margin-top:8px!important}
.article-body li>p{margin:0!important}
.article-body>blockquote{margin:24px 0!important;padding-left:20px;border-left:3px solid #cdd4d4}
.article-meta{color:#626969!important}
.about-readable-copy{text-align:left!important;line-height:1.65!important}
/* A single, visible target per control; no extra focus stops in its icon. */
button[aria-controls="site-menu"]{min-width:48px!important;min-height:48px!important;border-radius:50%}
button[aria-controls="site-menu"]:focus-visible{box-shadow:0 0 0 3px #cdd4d4!important}
.testimonial-scroll-controls{height:48px;flex-basis:48px;gap:8px}
.testimonial-scroll-controls button{width:48px;height:48px;flex-shrink:0}
button[aria-label="Previous"],button[aria-label="Next"]{min-width:48px!important;min-height:48px!important}
.menu-close{min-height:48px;min-width:64px}
form[data-contact-form] button[type=submit],.nda-gate button[type=submit]{min-height:48px!important}
.nda-gate input{height:48px;font-size:16px}
.nda-gate .nda-reset{min-height:48px;padding:0 8px;margin-top:8px}
form[data-contact-form] .framer-form-input-wrapper{min-height:48px!important}
form[data-contact-form] :is(input,textarea){font-size:16px!important;line-height:1.5!important}
form[data-contact-form] :is(input,textarea)::placeholder{color:#6c7272!important;opacity:1!important}
@media(max-width:600px){
 .article-body{width:calc(100% - 40px)!important}
 .article-body :is(p,li){font-size:17px!important;line-height:1.65!important}
 .article-body>h2{font-size:26px!important;margin-top:40px!important}
 .article-body>h3{font-size:22px!important;margin-top:28px!important}
 .article-body>p+p{margin-top:18px!important}
 a[data-framer-name="Button"]{min-height:48px!important}
 a:has(>svg){min-width:48px!important;min-height:48px!important}
}
.social-action{min-width:48px!important;min-height:48px!important}
.social-actions{flex-wrap:wrap!important;height:auto!important}
#site-menu a{box-sizing:border-box;min-height:48px}
.article-recommendation-label,form[data-contact-form] label p{color:#626969!important}
form[data-contact-form] label p{font-size:14px!important;line-height:1.4!important}

/* A compact 40px visual within a generous 48px clickable surface. */
.social-action>[data-framer-component-type="SVG"]:first-child{width:40px!important;height:40px!important;left:0!important;top:4px!important;right:auto!important;bottom:auto!important;filter:drop-shadow(0 4px 4px #0002)}
.social-action[href="https://t.me/vuadeep"]>[data-framer-component-type="SVG"]+ [data-framer-component-type="SVG"]{width:26px!important;height:21px!important;left:6px!important;top:14px!important}
.footer-identity h2{text-indent:-.02em}
/* Shadow belongs to the dark artwork, never the larger transparent hit area. */
.social-action{background:transparent!important;border-radius:12px!important;overflow:visible!important;box-shadow:none!important}
.social-actions{gap:4px!important}
