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}
