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}
/* Fixed card previews; full reviews open in an accessible dialog. */
.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:clip!important;box-sizing:border-box;mask-image:linear-gradient(#000 calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(#000 calc(100% - 24px),transparent)}
.testimonial-copy{position:relative!important;height:auto;white-space:normal}
.testimonial-copy p+p{margin-top:1em!important}
.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 .46s var(--button-spring),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:.94;transition:translate .09s ease-out,scale .09s ease-out,box-shadow .18s ease,filter .18s ease}
@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;filter:none!important;transition:background-color .28s ease,color .28s ease,scale .46s var(--button-spring)}
#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;transition:background-color .24s ease,filter .24s ease,scale .46s var(--button-spring)}
#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}
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}

/* Spring return affects scale only, preserving layout and existing hover motion. */
:root{--button-spring:cubic-bezier(.34,1.56,.64,1)}
@supports (transition-timing-function:linear(0,1.25,1)){
 :root{--button-spring:linear(0,.6 18%,1.25 42%,.92 66%,1.03 84%,1)}
}
:is(.interactive-button,button,a[data-framer-name="Button"]){scale:1}
#site-menu :is(a,.menu-close):active{scale:.94;transition-duration:.09s;transition-timing-function:ease-out}
@media(prefers-reduced-motion:reduce){
 :is(.interactive-button,button,a[data-framer-name="Button"]),#site-menu :is(a,.menu-close){scale:1!important;transition:none!important}
}

/* Use WebKit's compositor-friendly cubic curve rather than linear() sampling. */
html.safari-optimized{--button-spring:cubic-bezier(.34,1.56,.64,1)}
@media(prefers-reduced-motion:no-preference){
 :is(.interactive-button,button,a[data-framer-name="Button"]).button-pressed{scale:.92!important;transition:scale .09s ease-out,translate .09s ease-out,filter .18s ease}
}

/* The menu grows gently from the toggle, with one restrained overshoot. */
#site-menu{transform-origin:top right}
#site-menu[open]{animation:menu-arrive .44s ease-out both}
#site-menu[open]::backdrop{animation:menu-backdrop-arrive .18s ease-out both}
@keyframes menu-arrive{
 0%{opacity:0;transform:translateY(-5px) scale(.94)}
 65%{opacity:1;transform:translateY(.4px) scale(1.012)}
 84%{opacity:1;transform:translateY(0) scale(.998)}
 100%{opacity:1;transform:none}
}
@keyframes menu-backdrop-arrive{from{background-color:transparent}to{background-color:#0002}}
@media(prefers-reduced-motion:reduce){
 #site-menu[open],#site-menu[open]::backdrop{animation:none!important}
}
@media(prefers-reduced-motion:reduce){a[data-highlight]:hover{transform:none!important}}

/* Keep the original header footprint; the supplied SVG animates independently. */
.site-logo{display:flex!important;align-items:center!important;justify-content:center!important;background-image:none!important}
.site-logo-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}

/* Gradient lives on glyph overlays; dark surfaces and their shadows stay intact. */
.button-label{position:relative;display:inline-block}
.button-icon-shine,.button-bar-shine{position:absolute;pointer-events:none;display:block}
.button-image-icon{position:relative;display:inline-block;line-height:0;vertical-align:middle}
.button-image-icon>img{display:block}
.button-image-icon>.button-icon-shine{inset:0}
.button-icon-shine{-webkit-mask-image:var(--button-mask);mask-image:var(--button-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.button-social-shine{width:40px;height:40px;left:0;top:4px}
.button-telegram-shine{width:26px;height:21px;left:6px;top:14px}
.button-bar-shine{inset:0;border-radius:inherit}
:is(.button-icon-shine,.button-bar-shine){background-image:linear-gradient(110deg,#832388 0%,#e3436b 33%,#f0772f 66%,#832388 100%);background-size:300% 100%;background-position:0% 50%;opacity:0;transition:opacity .35s ease;animation:button-color-flow 4s ease-in-out infinite paused}
@media(hover:hover) and (pointer:fine){
 .gradient-button:not(:disabled):not([aria-disabled="true"]):hover :is(.button-icon-shine,.button-bar-shine){opacity:1}
}
@keyframes button-color-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){
 :is(.button-icon-shine,.button-bar-shine){animation:none!important;transition:none!important}
}

/* One glyph rendering: interpolate its paint, rather than crossfade two texts. */
@property --button-tint{syntax:'<percentage>';inherits:false;initial-value:0%}
.button-label-base{color:inherit!important;-webkit-text-fill-color:transparent;background-clip:text;-webkit-background-clip:text;background-image:linear-gradient(110deg,color-mix(in srgb,#832388 var(--button-tint),currentColor) 0%,color-mix(in srgb,#e3436b var(--button-tint),currentColor) 33%,color-mix(in srgb,#f0772f var(--button-tint),currentColor) 66%,color-mix(in srgb,#832388 var(--button-tint),currentColor) 100%);background-size:300% 100%;background-position:0% 50%;transition:--button-tint .35s ease;animation:button-color-flow 4s ease-in-out infinite paused}
@media(hover:hover) and (pointer:fine){
 .gradient-button:not(:disabled):not([aria-disabled="true"]):hover .button-label-base{--button-tint:100%}
}
@supports not (color:color-mix(in srgb,white,black)){
 .button-label-base{-webkit-text-fill-color:currentColor;background:none}
}
@media(prefers-reduced-motion:reduce){.button-label-base{animation:none!important;transition:none!important}}

/* This introduction must grow with its paragraph instead of clipping a fixed box. */
.portfolio-preview-section{row-gap:24px!important}
.portfolio-preview-intro{height:auto!important;min-height:0!important;justify-content:flex-start!important;overflow:visible!important;gap:24px!important}

/* Keep every header variant on the same animation phase across pages. */
.site-logo-image .vp-line,.site-logo-image .vp-fill{animation-delay:var(--logo-animation-delay,-10.5s)}

.review-read-more,.review-close{flex-shrink:0;align-self:flex-start;min-height:48px;padding:12px 18px;border:0;border-radius:12px;background:#212121;color:#fff;font:500 14px/1.4 Inter,sans-serif;cursor:pointer}
.review-dialog{box-sizing:border-box;width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:28px;border:1px solid #e6e8e8;border-radius:24px;background:#fff;color:#212121;box-shadow:0 24px 80px #0003;overflow-y:auto;overscroll-behavior:contain;font-family:Inter,sans-serif}
.review-dialog::backdrop{background:#0006}
body:has(.review-dialog[open]){overflow:hidden}
.review-close{display:block;margin:0 0 24px auto}
.review-dialog-author{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.review-dialog-author img{flex-shrink:0;width:64px;height:64px;border-radius:50%;object-fit:cover}
.review-dialog-author h2{margin:0 0 6px;font-size:22px;line-height:1.3;letter-spacing:-.4px}
.review-dialog-author p{margin:0;font-size:14px;line-height:1.5;color:#626969}
.review-dialog-copy{font-size:17px;line-height:1.65;overflow-wrap:anywhere}
.review-dialog-copy p{margin:0 0 20px;white-space:pre-line}
.review-dialog-copy p:last-child{margin-bottom:0}
@media(max-width:480px){.review-dialog{padding:20px;border-radius:20px;max-height:calc(100dvh - 32px)}.review-dialog-author{gap:12px}.review-dialog-author h2{font-size:20px}.review-dialog-copy{font-size:16px}}
.review-close{position:sticky;top:0;z-index:1}
.review-close:focus{outline:none}
.review-close:focus-visible,.review-read-more:focus-visible{outline:2px solid #a4adad;outline-offset:4px}

/* Quiet text actions keep the review itself as the visual focus. */
.review-read-more{display:inline-flex;align-items:center;gap:10px;padding:12px 0;min-height:48px;background:transparent;color:#454b4b;border-radius:4px;text-align:left;transition:color .28s ease,scale .46s var(--button-spring)}
.review-read-more .button-label-base{-webkit-text-fill-color:currentColor;background:none;animation:none}
.review-read-arrow{display:inline-flex;transition:transform .28s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.review-read-more:not(:disabled):hover{color:#832388;translate:none;filter:none}.review-read-more:hover .review-read-arrow{transform:translateX(3px)}}
@media(prefers-reduced-motion:reduce){.review-read-more,.review-read-arrow{transition:none!important}.review-read-more:hover .review-read-arrow{transform:none}}

/* One shared heading keeps the original mobile alignment. */
@media(max-width:809.98px){.home-hero-title{--framer-text-alignment:center;text-align:center!important}}

/* Shared spacing and readable hierarchy for the existing portfolio. */
:root{--site-gutter:clamp(20px,5vw,64px);--section-space:104px}
.site-page{color:#212121}
.site-page main h1{line-height:1.13!important}
.site-page main h2{line-height:1.25!important}
.site-page main p{overflow-wrap:break-word}
.site-header-links{display:flex!important;align-items:center!important;gap:24px!important;width:auto!important;height:auto!important;overflow:visible!important}
.desktop-nav{display:flex;align-items:center;gap:28px;font:500 15px/1.4 Inter,sans-serif}
.desktop-nav a{display:flex;align-items:center;min-height:48px;color:#626969;text-decoration:none;transition:color .22s ease}
.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:#212121}
.desktop-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.mobile-menu-control{display:none!important}
.menu-caption{font:500 14px/1.4 Inter,sans-serif;color:#454b4b}
#site-menu a[aria-current=page]{background:#eef1f1}
#portfolio{scroll-margin-top:32px}
.home-hero{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr);align-items:center!important;gap:64px!important;width:calc(100% - var(--site-gutter)*2)!important;max-width:1120px!important;height:auto!important;padding:0!important;margin:56px auto 0!important;overflow:visible!important}
.home-intro{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:24px!important;width:100%!important;height:auto!important;overflow:visible!important}
.home-hero-title-wrap{width:100%!important;height:auto!important}
.home-hero-title{font-size:clamp(34px,3.3vw,46px)!important;line-height:1.12!important;letter-spacing:-1.5px!important;text-align:left!important;--framer-text-alignment:left}
.home-intro article{width:100%!important;height:auto!important}
.home-intro article p{font-size:19px!important;line-height:1.65!important;text-align:left!important;color:#626969!important}
.home-intro .button-motion-space{justify-content:flex-start!important;width:auto!important;gap:12px!important}
.home-portrait{position:relative!important;width:100%!important;height:340px!important;max-width:360px!important;justify-self:end;overflow:visible!important}
.home-portrait>div{position:relative!important;width:100%!important;height:100%!important;inset:auto!important}
.home-portrait img{object-fit:contain!important;object-position:center!important}
.home-projects,.home-testimonials{width:100%!important;height:auto!important;padding-top:var(--section-space)!important;padding-bottom:0!important;gap:32px!important;overflow:visible!important}
.home-projects>div:first-child,.home-testimonials>div:first-child{height:auto!important;width:100%!important}
.home-work-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px!important;width:calc(100% - var(--site-gutter)*2)!important;max-width:1120px!important;margin:0 auto!important;padding:0!important;height:auto!important;overflow:visible!important}
.work-item{min-width:0;width:100%;margin:0;overflow:visible}
.work-card{display:block!important;position:relative!important;width:100%!important;height:auto!important;aspect-ratio:16/10;border-radius:24px;overflow:hidden!important}
.work-card>div{width:100%!important;height:100%!important}
.work-caption{padding:16px 2px 0}
.work-caption h3{margin:0 0 5px;font:600 20px/1.3 Inter,sans-serif;letter-spacing:-.4px}
.work-caption p{margin:0;font:400 15px/1.5 Inter,sans-serif;color:#626969}
.secondary-action{background:transparent!important;color:#454b4b!important;box-shadow:none!important;border:1px solid #cdd4d4!important;--extracted-r6o4lv:#454b4b}
.secondary-action :is(p,.framer-text){color:#454b4b!important;--framer-text-color:#454b4b!important}
.home-intro a[data-framer-name=Button]:not(.secondary-action),.site-action:not(.secondary-action){box-shadow:0 4px 12px #0002!important}
.site-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box;padding:12px 20px;border:1px solid transparent;border-radius:12px;background:#212121;color:white;text-decoration:none;font:500 15px/1.4 Inter,sans-serif}
.framer--carousel-controls button[aria-label]{background:#212121d9!important;border:1px solid #fff9!important;box-shadow:0 3px 12px #0002}
/* Pair each overview heading with its own copy before laying out columns. */
.project-overview{width:calc(100% - var(--site-gutter)*2)!important;max-width:1120px!important;height:auto!important;min-height:0!important;margin:0 auto!important;padding:0!important;gap:32px!important;overflow:visible!important}
.project-overview>div:first-child{height:auto!important;width:100%!important}
.project-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px;width:100%;align-items:start}
.project-fact{min-width:0}
.project-fact h3{margin:0 0 14px;text-align:left;font:600 24px/1.3 Inter,sans-serif;letter-spacing:-.5px}
.project-fact-body :is(div,article){display:contents!important;position:static!important;transform:none!important;width:auto!important;height:auto!important;overflow:visible!important}
.project-fact-body :is(p,li){font-size:18px!important;line-height:1.65!important;text-align:left!important;color:#626969!important;--framer-text-alignment:left;--framer-line-height:1.65em}
.project-fact-body p{margin:0 0 14px!important}
.project-fact-body :is(ul,ol){margin:0 0 14px;padding-left:1.2em}
.page-project main{gap:64px!important}
.page-project [data-framer-name=body]{gap:64px!important}
.project-lead{max-width:640px;margin:20px auto 0;font:400 18px/1.6 Inter,sans-serif;color:#626969;text-align:center;padding:0 20px}
/* Footer content follows normal flow instead of a tall fixed canvas. */
.site-footer-shell{width:100%!important;height:auto!important;min-height:0!important;flex:none!important;margin-top:var(--section-space)!important}
.site-footer{height:auto!important;min-height:0!important;box-sizing:border-box;padding:40px var(--site-gutter) 48px!important;border-top:1px solid #eceeee}
.footer-layout{position:static!important;inset:auto!important;transform:none!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:32px!important;width:100%!important;height:auto!important;max-width:1120px!important;margin:auto!important}
.footer-layout>.footer-identity,.footer-layout>.footer-contact{position:static!important;inset:auto!important;transform:none!important;width:auto!important;height:auto!important;min-height:0!important;flex:none!important}
.footer-contact{align-items:flex-end!important;gap:16px!important}
.site-footer h2{font-size:26px!important;line-height:1.25!important}
.site-footer p{font-size:16px!important;line-height:1.55!important}
/* About: concrete information about the person and the working process. */
.about-page{box-sizing:border-box;width:calc(100% - var(--site-gutter)*2)!important;max-width:1040px!important;height:auto!important;display:block!important;margin:64px auto 0!important;font-family:Inter,sans-serif}
.about-profile{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;align-items:start}
.about-portrait{position:sticky;top:32px}
.about-portrait img{display:block;width:100%;height:auto;max-height:330px;object-fit:contain}
.eyebrow{font:500 14px/1.5 Inter,sans-serif;color:#626969;margin:0 0 12px}
.about-story h1{font:600 46px/1.12 Inter,sans-serif;letter-spacing:-1.5px;margin:0 0 24px}
.about-story .about-lead{font-size:23px;line-height:1.5;color:#212121}
.about-story p{font-size:18px;line-height:1.65;color:#626969;margin:0 0 20px}
.about-story h2{font:600 25px/1.3 Inter,sans-serif;letter-spacing:-.5px;margin:36px 0 14px}
.about-facts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:28px 0}
.about-facts li{border:1px solid #e0e5e5;border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.5;color:#454b4b}
.about-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
/* Keep the existing blog artwork; improve only the card layout and titles. */
.blog-content{width:calc(100% - var(--site-gutter)*2)!important;max-width:1120px!important;margin:0 auto!important;gap:48px!important;padding:32px 0 0!important;overflow:visible!important}
.blog-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%!important;gap:40px 32px!important;height:auto!important;overflow:visible!important}
.blog-card{display:block!important;width:100%!important;min-width:0;height:auto!important;text-decoration:none;overflow:visible!important}
.blog-card>[data-framer-name=Text]{width:100%!important;height:auto!important;gap:0!important;display:flex!important;flex-direction:column!important}
.blog-card .framer-zwi12k{width:100%!important;height:auto!important;padding-top:16px!important}
.blog-card-title{font-size:20px!important;line-height:1.4!important;text-align:left!important;--framer-text-alignment:left;letter-spacing:-.35px!important}
/* A comfortable, useful contact form at every width. */
.page-contact main{width:calc(100% - var(--site-gutter)*2)!important;max-width:760px!important;margin:48px auto 0!important;padding:0!important;gap:20px!important;height:auto!important}
.page-contact main>div{width:100%!important;height:auto!important}
.page-contact main>div:nth-child(2){max-width:600px!important}
.contact-form{width:100%!important;max-width:480px!important;gap:22px!important;margin:16px auto 0!important;height:auto!important}
.contact-form>label{width:100%!important;height:auto!important;gap:8px!important}
.contact-form .framer-form-input-wrapper{width:100%!important;height:auto!important}
.contact-form input:not([aria-hidden=true]){min-height:52px!important;width:100%!important;box-sizing:border-box}
.contact-form textarea{min-height:160px!important;height:160px!important;resize:vertical!important;width:100%!important;box-sizing:border-box}
.contact-form>div:has(button){width:100%!important;height:auto!important}
.contact-form button{width:100%!important;min-height:52px!important}
.contact-alternative{font:400 15px/1.6 Inter,sans-serif;margin:0 auto!important;text-align:center;color:#626969}
.contact-alternative a{color:#212121;text-underline-offset:4px}
/* Article illustrations can be opened and enlarged deliberately. */
.article-image-button{display:block;width:100%;padding:0;border:0;background:transparent;margin:24px 0;color:inherit;border-radius:8px;cursor:zoom-in;overflow:hidden}
.article-image-button img{display:block;width:100%;height:auto}
.article-image-button:hover{translate:none!important;filter:none!important}
.image-dialog{box-sizing:border-box;width:min(1200px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px;border:0;border-radius:20px;background:#fff;color:#212121}
.image-dialog::backdrop{background:#0009}
body:has(.image-dialog[open]){overflow:hidden}
.image-dialog-toolbar{display:flex;justify-content:flex-end;gap:10px;margin-bottom:16px}
.image-dialog-toolbar button{min-height:48px;padding:10px 16px;border:0;border-radius:10px;background:#212121;color:white;font:500 14px/1.4 Inter,sans-serif}
.image-dialog-viewport{max-height:calc(100dvh - 140px);overflow:auto;overscroll-behavior:contain}
.image-dialog img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 140px);margin:auto}
.image-dialog.is-zoomed img{max-width:none;max-height:none;margin:0}
@media(max-width:809.98px){
 :root{--section-space:72px}
 .desktop-nav{display:none}
 .mobile-menu-control{display:flex!important;align-items:center!important;gap:10px!important;width:auto!important;height:auto!important;overflow:visible!important}
 .site-page main h1{font-size:32px!important;line-height:1.15!important;letter-spacing:-1px!important}
 .site-page main h2{font-size:26px!important}
 .site-page main h3{font-size:21px!important}
 .home-hero{grid-template-columns:1fr;gap:24px!important;margin-top:24px!important}
 .home-portrait{order:-1;height:150px!important;width:150px!important;justify-self:center!important}
 .home-intro{gap:18px!important;align-items:flex-start!important}
 .home-hero-title{--framer-text-alignment:left;text-align:left!important;letter-spacing:-1px!important}
 .home-intro article p{font-size:17px!important;line-height:1.6!important}
 .home-intro .button-motion-space{flex-wrap:wrap!important}
 .home-projects,.home-testimonials{gap:24px!important}
 .home-work-grid{grid-template-columns:1fr;gap:28px!important}
 .work-caption{padding-top:12px}
 .work-caption h3{font-size:19px!important}
 .work-caption p{font-size:14px!important}
 .project-facts{grid-template-columns:1fr;gap:28px}
 .project-fact h3{margin-bottom:12px}
 .project-fact-body :is(p,li){font-size:17px!important;line-height:1.65!important}
 .page-project main,.page-project [data-framer-name=body]{gap:40px!important}
 .project-overview{gap:24px!important}
 .project-overview h2{text-align:left!important;--framer-text-alignment:left}
 .project-lead{text-align:left;font-size:17px;padding:0}
 .site-footer{padding-top:32px!important;padding-bottom:32px!important}
 .footer-layout{flex-direction:column!important;align-items:flex-start!important;gap:28px!important}
 .footer-layout>.footer-identity,.footer-layout>.footer-contact{width:100%!important;max-width:100%!important;align-items:flex-start!important}
 .footer-contact p{text-align:left!important;--framer-text-alignment:left}
 .site-footer h2{font-size:24px!important}
 .about-page{margin-top:32px!important}
 .about-profile{grid-template-columns:1fr;gap:24px}
 .about-portrait{position:static;width:128px}
 .about-portrait img{max-height:170px}
 .about-story .about-lead{font-size:21px}
 .about-story p{font-size:17px}
 .about-story h2{margin-top:28px}
 .blog-content{gap:32px!important;padding-top:24px!important}
 .blog-grid{grid-template-columns:1fr;gap:32px!important}
 .blog-card-title{font-size:19px!important}
 .page-contact main{margin-top:32px!important}
 .page-contact main h1{text-align:left!important;--framer-text-alignment:left}
 .page-contact main>div:nth-child(2) p{text-align:left!important;--framer-text-alignment:left}
 .contact-form{margin-top:8px!important}
 .article-header h1{text-align:left!important;--framer-text-alignment:left}
 .article-header{padding-top:24px!important}
}
/* Remove legacy inset canvases so shared gutters align with the header. */
.page-home main,.page-project main{width:100%!important;max-width:none!important;padding:0!important}
.page-home main{gap:0!important}
.home-intro>*,.home-intro article [data-framer-component-type=RichTextContainer]{padding-left:0!important;padding-right:0!important}
.home-projects,.home-testimonials{padding-left:0!important;padding-right:0!important;box-sizing:border-box}
.site-footer-shell{max-width:none!important}
.footer-layout>.footer-identity,.footer-layout>.footer-contact{padding:0!important}
.footer-layout>.footer-contact{width:320px!important;max-width:100%!important}
.page-project [data-framer-name=body]{width:100%!important;padding-left:0!important;padding-right:0!important}
@media(max-width:809.98px){.footer-layout>.footer-contact{width:100%!important}}
.site-page main{min-width:0!important}
.home-intro>*{padding:0!important}
.home-portrait>img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}
.about-page{padding:0!important}
.about-story .eyebrow{font-size:14px;line-height:1.5;margin:0 0 12px}
.contact-form{padding:0!important}
.contact-form input:not([aria-hidden=true]){height:52px!important}
.contact-form .framer-form-input-wrapper{padding:0!important}
.page-contact main>div:nth-child(2){padding:0!important}
.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:0!important;min-width:0!important}
.blog-card-media{display:block;width:100%;aspect-ratio:3/2;overflow:hidden;border-radius:24px}
.blog-card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.blog-card-title{margin:16px 0 0!important;font-family:Inter,sans-serif;font-weight:600;color:#212121}
.blog-content>div:first-child{width:100%!important;height:auto!important;padding:0!important}
@media(max-width:809.98px){.blog-grid{grid-template-columns:minmax(0,1fr)!important}.page-blog h1{font-size:32px!important;line-height:1.15!important}.blog-card-media{border-radius:20px}}
.contact-form input:not([aria-hidden=true]){padding:12px 14px!important}
.home-intro a[data-framer-name=Button]{min-height:48px!important;box-sizing:border-box}
.about-story{max-width:640px;min-width:0}
.project-header{height:auto!important;min-height:0!important;gap:24px!important;padding-top:32px!important;padding-bottom:0!important}
.project-header .project-lead{margin:0 auto!important}
.page-project [data-framer-name=body]>section{padding-top:0!important;padding-bottom:0!important;height:auto!important;min-height:0!important}
.project-media-wrap{width:100%!important;max-width:100%!important;min-width:0!important}
.project-demo-card{height:auto!important;padding-bottom:24px!important;min-width:0!important}
.project-demo-card>div,.project-demo-card [data-framer-component-type=RichTextContainer]{width:100%!important;max-width:100%!important;box-sizing:border-box}
.project-header .project-lead{width:calc(100% - var(--site-gutter)*2);max-width:640px;box-sizing:border-box}
.footer-layout>.footer-identity{order:0!important}
.footer-layout>.footer-contact{order:1!important}
.site-footer .footer-identity :is(h2,p){text-align:left!important;--framer-text-alignment:left}
.footer-identity>div{align-items:flex-start!important}
.footer-identity .social-actions{justify-content:flex-start!important}
.site-footer .footer-contact :is(h2,p){text-align:right!important;--framer-text-alignment:right}
@media(max-width:809.98px){.site-footer .footer-contact :is(h2,p){text-align:left!important;--framer-text-alignment:left}.footer-identity>div{width:100%!important}}
.desktop-nav a[aria-current]{color:#212121;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
#site-menu a[aria-current]{background:#eef1f1}
.skip-link{position:fixed;top:12px;left:12px;z-index:10000;padding:10px 16px;border-radius:8px;background:#fff;color:#111;font:600 16px/1.2 system-ui,sans-serif;text-decoration:none;transform:translateY(-200%)}
.skip-link:focus-visible{transform:none;outline:2px solid #f0772f;outline-offset:2px}

/* Design pass: one type family, one accent, one button system. */
:root{--ink:#212121;--muted:#565d5d;--subtle:#6b7272;--line:#e4e8e8;--surface:#f4f6f6;--accent:#832388;--accent-strong:#5f1763}
.site-page{--framer-link-text-color:var(--accent);--framer-link-hover-text-color:var(--accent-strong)}
.site-page .framer-text,.site-page main :is(p,li,td,th,blockquote){font-family:Inter,"Inter Placeholder",system-ui,sans-serif!important}
.site-page :is(main,[role=main]) :is(h1,h2,h3,h4),.site-page :is(main,[role=main]) :is(h1,h2,h3,h4) .framer-text,.site-footer h2,.site-footer h2 .framer-text{font-weight:600!important;--framer-font-weight:600!important;letter-spacing:-.02em!important}
.site-page :is(main,[role=main]) :is(h1,h2,h3,h4) strong{font-weight:inherit!important}
.site-page main :is(p,li,td).framer-text:not(:is(.work-caption p,.eyebrow)){color:var(--muted);--framer-text-color:var(--muted)}
.site-page :is(main,[role=main]) :is(p,li,td) a.framer-text,.article-body a,.project-fact-body a,.contact-alternative a{color:var(--accent)!important;--framer-text-color:var(--accent)!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important}
.site-page :is(main,[role=main]) :is(p,li,td) a.framer-text:hover,.article-body a:hover,.project-fact-body a:hover{color:var(--accent-strong)!important;--framer-text-color:var(--accent-strong)!important}
.site-page :is(main,[role=main]) :is(p,li,td) a.framer-text :is(span,strong,.framer-text){color:inherit!important;--framer-text-color:inherit!important}

/* Buttons: dark primary, outlined secondary; same size and type everywhere. */
.site-page :is(a[data-framer-name=Button],.site-action),form[data-contact-form] button[type=submit],.nda-gate button[type=submit]{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:auto!important;height:auto!important;min-height:48px!important;padding:12px 22px!important;border-radius:12px!important;background:var(--ink)!important;color:#fff!important;box-shadow:none!important;font:500 15px/1.4 Inter,sans-serif!important;text-decoration:none!important}
.site-page :is(a[data-framer-name=Button],.site-action)>div{position:static!important;width:auto!important;height:auto!important;transform:none!important}
.site-page a[data-framer-name=Button] :is(.framer-text,strong){font:500 15px/1.4 Inter,sans-serif!important;--framer-font-size:15px!important;--framer-font-weight:500!important;color:inherit!important;--framer-text-color:#fff!important;margin:0!important}
.site-page a[data-framer-name=Button] p:has(>br:only-child){display:none!important}
.site-page :is(a[data-framer-name=Button],.site-action).secondary-action{background:transparent!important;color:var(--ink)!important;border:1px solid #cdd4d4!important}
.site-page a[data-framer-name=Button].secondary-action :is(.framer-text,strong){--framer-text-color:var(--ink)!important;color:var(--ink)!important}
form[data-contact-form] button[type=submit]{width:100%!important}
.page-contact .footer-contact a[data-framer-name=Button]{display:none!important}

/* Selected clients: a quiet monochrome row; SVG logos replace names when supplied. */
.client-strip{box-sizing:border-box;display:flex;align-items:center;gap:20px 40px;flex-wrap:wrap;width:calc(100% - var(--site-gutter)*2);max-width:1120px;margin:72px auto 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:Inter,sans-serif}
.site-page main .client-strip-label{flex:none;margin:0!important;font:500 13px/1.4 Inter,sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase;color:var(--subtle)}
.client-strip-list{display:flex;flex:1;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;margin:0;padding:0;list-style:none}
.client-logo{display:inline-flex;align-items:center;min-height:48px;font:600 22px/1 Inter,sans-serif;letter-spacing:-.03em;color:var(--subtle);text-decoration:none;transition:color .2s ease}
.client-logo:hover{color:var(--ink)}
.client-logo img{display:block;height:28px;width:auto;filter:grayscale(1);opacity:.6;transition:opacity .2s ease}
.client-logo:hover img{opacity:1}
.home-projects{padding-top:80px!important}

/* Private project card: designed cover, not a blurred placeholder. */
.work-card.nda-card{background:radial-gradient(120% 120% at 85% 15%,#5a2253 0%,#2a1630 45%,#151316 100%)!important}
.nda-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;color:#fff;text-align:center;font-family:Inter,sans-serif}
.nda-cover svg{color:#f3b48a;margin-bottom:4px}
.nda-cover-title{font-size:clamp(20px,2.2vw,28px);font-weight:600;letter-spacing:-.02em;line-height:1.2}
.nda-cover-note{font-size:14px;color:#ffffffb3}

/* Testimonials align with the grid and lose the heavy offset shadow. */
.framer--carousel:has(.testimonial-card){padding-left:max(var(--site-gutter),calc((100vw - 1120px)/2))!important;scroll-padding-left:max(var(--site-gutter),calc((100vw - 1120px)/2))!important;max-width:none!important}
.testimonial-card,.testimonial-card article,.framer--carousel:has(.testimonial-card)>li>div{box-shadow:none!important}
.testimonial-card article{border:1px solid var(--line)!important;background:var(--surface)!important}
@media(max-width:809.98px){.home-testimonials .framer--carousel-controls{display:none!important}}

/* Case pages: context under the title, media within the grid, a clear next step. */
.project-title-block{display:flex!important;flex-direction:column!important;align-items:center!important;height:auto!important;gap:0!important;width:calc(100% - var(--site-gutter)*2)!important;max-width:1120px!important;margin:0 auto!important}
.project-title-block .project-lead{margin:20px auto 0!important;width:auto;padding:0}
.project-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;margin:20px 0 0;padding:0;list-style:none;font:400 15px/1.5 Inter,sans-serif;color:var(--ink)}
.project-meta span{color:var(--subtle);margin-right:8px}
.project-meta a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.project-media{width:calc(100% - var(--site-gutter)*2)!important;max-width:1120px!important;margin-left:auto!important;margin-right:auto!important}
.project-media video{border-radius:16px}
.project-next{box-sizing:border-box;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:calc(100% - var(--site-gutter)*2);max-width:1120px;margin:24px auto 0;font-family:Inter,sans-serif}
.project-next-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:220px;box-sizing:border-box;padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);text-decoration:none;transition:background-color .25s ease,border-color .25s ease}
.project-next-card:hover{background:#ecf0f0;border-color:#d8dfdf}
.project-next-label{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--subtle)}
.project-next-title{font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.project-next-meta{font-size:15px;color:var(--muted)}
.project-next-arrow{position:absolute;top:28px;right:32px;font-size:26px;transition:transform .25s ease}
.project-next-card:hover .project-next-arrow{transform:translateX(4px)}
.project-cta{display:flex;flex-direction:column;justify-content:flex-end;gap:12px;box-sizing:border-box;padding:32px;border-radius:24px;background:var(--ink);color:#fff}
.project-cta h2{margin:0;font:600 28px/1.2 Inter,sans-serif!important;letter-spacing:-.02em;color:#fff!important}
.project-cta p{margin:0;font-size:16px;line-height:1.6;color:#ffffffbf!important}
.project-cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.site-page .project-cta .site-action:not(.secondary-action){background:#fff!important;color:var(--ink)!important}
.site-page .project-cta .site-action.secondary-action{background:transparent!important;color:#fff!important;border-color:#ffffff59!important}
@media(max-width:809.98px){.project-next{grid-template-columns:1fr}.project-next-card{min-height:160px;padding:24px}.project-next-title{font-size:26px}.project-cta{padding:24px}.project-cta h2{font-size:24px!important}}

/* Private case: a regular page with navigation and a way to ask for access. */
.nda-gate{position:static!important;inset:auto!important;z-index:auto!important;display:block!important;box-sizing:border-box;width:calc(100% - var(--site-gutter)*2)!important;max-width:560px!important;margin:64px auto 0!important;padding:0!important;background:transparent!important}
.nda-dialog{width:100%!important;padding:40px!important;border:1px solid var(--line);border-radius:24px!important;background:var(--surface)!important;box-shadow:none!important}
.nda-icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.nda-gate h1{margin:20px 0 12px!important;font:600 32px/1.15 Inter,sans-serif!important;letter-spacing:-.02em}
.nda-gate p{margin:0 0 24px!important;font-size:17px!important;line-height:1.6!important;opacity:1!important;color:var(--muted)}
.nda-gate input{background:#fff}
.nda-gate .nda-request{margin:20px 0 0!important;font-size:15px!important}
.nda-gate .nda-request a{color:var(--accent);text-underline-offset:3px}
.nda-gate .nda-reset{margin-top:4px!important;font-size:13px!important;color:var(--subtle)!important;opacity:1!important}
@media(max-width:600px){.nda-dialog{padding:24px!important}.nda-gate{margin-top:32px!important}.nda-gate h1{font-size:26px!important}}

/* Blog cards say when, how long and what about. */
.blog-card-meta{margin:16px 0 0!important;font:500 13px/1.5 Inter,sans-serif;color:var(--subtle)}
.blog-card-meta+.blog-card-title{margin-top:4px!important}
.blog-card-excerpt{margin:8px 0 0!important;font:400 16px/1.55 Inter,sans-serif;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.article-author{box-sizing:border-box;display:flex;gap:24px;align-items:flex-start;width:calc(100% - 48px);max-width:1040px;margin:64px auto 0;padding:32px;border-radius:24px;background:var(--surface);font-family:Inter,sans-serif}
.article-author img{flex:none;width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 12%;background:#fff}
.article-author p{margin:0 0 16px;font-size:16px;line-height:1.6;color:var(--muted)}
.article-author .article-author-name{margin:0 0 4px;font-size:20px;font-weight:600;color:var(--ink)}
.article-author-actions{display:flex;flex-wrap:wrap;gap:12px}
.article-author+.article-recommendations{margin-top:48px}
@media(max-width:600px){.article-author{flex-direction:column;width:calc(100% - 40px);padding:24px}}
.page-contact main>div:nth-child(2) p{font-size:18px!important;line-height:1.6!important;color:var(--muted)!important}

.site-page .home-intro a[data-framer-name=Button]:not(.secondary-action){box-shadow:none!important}
.nda-dialog{text-align:center}
.nda-gate form{max-width:400px!important;margin:0 auto!important}
.project-prose{box-sizing:border-box;width:calc(100% - var(--site-gutter)*2)!important;max-width:760px!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:809.98px){.client-strip{flex-direction:column;align-items:flex-start;gap:4px;margin-top:48px;padding:20px 0 12px}.client-strip-list{justify-content:flex-start;gap:0 24px}.client-logo{font-size:19px}}
.project-media>:not(.ssr-variant),.project-media>.ssr-variant>*{margin-left:auto!important;margin-right:auto!important}
form[data-contact-form] button[type=submit] :is(span,p,div,.framer-text){color:#fff!important;-webkit-text-fill-color:#fff;--framer-text-color:#fff!important;font:500 15px/1.4 Inter,sans-serif!important}
.project-media .framer--carousel{justify-content:safe center!important}
