/* Final audit layer: coherent type, readable mobile layouts and keyboard access. */
@font-face{font-family:"PP Neue Montreal Medium";src:url('/framerusercontent.com/assets/6uIfYl8bnz9kOy3KOuV7PxhFPhA.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
body[data-case-design]:not([data-case-design="playful"]){font-family:"PP Neue Montreal Medium",system-ui,sans-serif}
body[data-case-design]:not([data-case-design="playful"]) main :is(h1,h2,h3){font-family:"PP Neue Montreal Medium",system-ui,sans-serif!important}
body[data-case-design]:not([data-case-design="playful"]) :is(.gs-pill,.ba-pill,.button,dd){font-family:"PP Neue Montreal Medium",system-ui,sans-serif!important}
body[data-case-design]:not([data-case-design="playful"]) :is(.gs-wrap,.ba-wrap,.wrap){min-width:0}
body[data-case-design]:not([data-case-design="playful"]) main p{overflow-wrap:break-word}
.av-skip-link{position:fixed;left:16px;top:16px;z-index:2147483646;transform:translateY(-180%);padding:12px 20px;background:#17221c;color:#fffdf8;border-radius:8px;font:16px/1.4 system-ui;text-decoration:none}
.av-skip-link:focus{transform:none;outline:3px solid #8427de;outline-offset:3px}
.av-dock{bottom:max(16px,env(safe-area-inset-bottom))!important}
.av-dock a{min-width:44px;min-height:44px}
body[data-case-design]:not([data-case-design="playful"]) :is(.chapters,.gs-chapters,.ba-nav) a{display:inline-flex;align-items:center;min-height:40px}
body[data-case-design]:not([data-case-design="playful"]) :is(.gs-demo,.gs-demo>*){min-width:0;max-width:100%}
body[data-case-design]:not([data-case-design="playful"]) :is(.gs-demo-desc,.gs-demo-note){overflow-wrap:anywhere;white-space:normal}
@media(max-width:810px){
 [data-framer-name="Visual Work Preview"]{padding-inline:20px!important;gap:28px!important}
 [data-framer-name="Visual Work Preview"]>div{max-width:100%!important;min-width:0!important;width:100%!important}
 [data-framer-name="Visual Work Preview Grid"]{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;gap:24px!important}
 [data-framer-name="Visual Work Preview Item"]{width:100%!important;max-width:100%!important;min-width:0!important}
 [data-framer-name="Visual Work Preview"] :is(h2,h3){max-width:100%;overflow-wrap:break-word}
 [data-framer-name="Visual Work Preview"] h2{font-size:34px!important;line-height:1.1!important}
 [data-framer-name="Visual Work Preview Item"] img{max-width:100%;object-fit:cover}
 body[data-case-design]:not([data-case-design="playful"]) :is(.gs-lab-grid,.gs-two){grid-template-columns:minmax(0,1fr)!important}
 body[data-case-design]:not([data-case-design="playful"]) :is(.gs-lab,.gs-demo){padding:22px!important;min-width:0!important}
 body[data-case-design]:not([data-case-design="playful"]) :is(.gs-demo-note,.gs-demo-desc){font-size:13px!important;line-height:1.6!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.av-await-entrance{opacity:1!important;transform:none!important}body[data-case-design]:not([data-case-design="playful"]) :is(.av-motion-stack,.av-motion-split>*){transform:none!important}}
@media(max-width:810px){
 [data-framer-name="Service card frame"]>div:not(.ssr-variant){position:relative!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;height:300px!important;min-width:0!important;transform:none!important;opacity:1!important;z-index:auto!important}
 [data-framer-name="Service card frame"]>div:not(.ssr-variant)>div{max-width:100%}
}
[data-framer-name="Visual Work Item"] :is(h2,h3),[data-framer-name="Visual Work Item"] :is(h2,h3) span{font-family:"PP Neue Montreal Medium",system-ui,sans-serif!important;font-weight:500!important;letter-spacing:-.025em!important}
.avg-btn,.av-preview-toggle{min-width:44px;min-height:44px}
@media(max-width:700px){.avg-flabel{display:none}.avg-title{font-size:22px;line-height:1.15}.avg-top{padding-bottom:8px}}
@media(max-width:810px){body[data-case-design]:not([data-case-design="playful"]) .gs-lab{grid-template-columns:minmax(0,1fr)!important}body[data-case-design]:not([data-case-design="playful"]) .gs-lab>*{min-width:0!important;width:100%;max-width:100%}body[data-case-design]:not([data-case-design="playful"]) .gs-demo{width:100%;overflow:hidden}}
@media(max-width:810px){[data-framer-name="Services"] [data-framer-name="Heading + tag"]{position:relative!important;top:auto!important;z-index:auto!important}[data-framer-name="Services"] [data-framer-name="Content"]{display:flex!important;flex-direction:column!important;gap:28px!important;align-items:stretch!important}}
/* Consistent keyboard visibility without changing the portfolio's canvas aesthetic. */
a:focus-visible,button:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid #8427de;outline-offset:4px}
body[data-case-design]:not([data-case-design="playful"]) :is(.chapters,.gs-chapters,.ba-nav) a{min-height:44px}
@media(forced-colors:active){.av-gallery-trigger:focus-visible,.avg-thumbs button.on{outline:3px solid Highlight}.av-skip-link{border:2px solid ButtonText}}

/* True character-by-character typing with the final paragraph footprint reserved. */
.av-type-description{opacity:1!important;transform:none!important;clip-path:none!important}
.av-type-char{display:inline!important;position:relative;visibility:hidden;opacity:1!important;transform:none!important;transition:none!important}
.av-type-char.is-typed{visibility:visible}
.av-type-char.is-caret:after{content:'';position:absolute;right:-2px;bottom:0;width:1.5px;height:1em;background:currentColor}
@media(prefers-reduced-motion:reduce){.av-type-char{visibility:visible}.av-type-char.is-caret:after{display:none}}
/* Balanced showcases: generous text, a bounded image, and the CTA beside the story. */
.framer-8d8QZ [data-framer-name="Project heading + description"] h3{font-size:clamp(42px,4.7vw,64px)!important;line-height:1.02!important;letter-spacing:-.045em!important}
.framer-8d8QZ [data-framer-name="Project heading + description"] p{font-size:clamp(24px,2.3vw,32px)!important;line-height:1.35!important;letter-spacing:-.025em!important}
.framer-8d8QZ [data-framer-name="Project heading + description"]{gap:22px!important;height:auto!important;flex:none!important}
.framer-8d8QZ [data-framer-name="Meta data"] p{font-size:14px!important;line-height:1.5!important}
.av-project-reading{opacity:1!important;transform:none!important;clip-path:none!important}
.av-project-read-word{color:#647168;transition:color .28s ease}
.av-project-read-word.is-read{color:#17221c}
.av-project-read-word.is-read[data-emphasis]{color:#039754}
@media(min-width:811px){
 .framer-8d8QZ{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)!important;gap:38px!important;height:auto!important;min-height:0!important;padding:32px!important;align-items:center!important}
 .framer-8d8QZ>[data-framer-name="Project details"]{width:100%!important;height:auto!important;min-width:0!important;justify-content:center!important;gap:30px!important;align-self:center!important}
 .framer-8d8QZ>[data-framer-name="Project details"]>[data-framer-name="Project details"]{height:auto!important;flex:none!important;gap:30px!important;width:100%!important}
 .framer-8d8QZ>[data-framer-name="Image container"]{width:100%!important;height:clamp(360px,37vw,480px)!important;min-width:0!important}
}
@media(max-width:810px){.framer-8d8QZ [data-framer-name="Project heading + description"] h3{font-size:40px!important}.framer-8d8QZ [data-framer-name="Project heading + description"] p{font-size:24px!important;line-height:1.4!important}.framer-8d8QZ [data-framer-name="Project details"]{height:auto!important;gap:24px!important}}
@media(prefers-reduced-motion:reduce){.av-project-read-word{transition:none;color:#17221c}.av-project-read-word[data-emphasis]{color:#039754}}
@media(min-width:811px){.framer-8d8QZ>[data-framer-name="Image container"]{max-width:none!important}.framer-8d8QZ>[data-framer-name="Project details"]{max-width:none!important}}
