/* White cards, fine outlines and restrained motion shared with Naeem Dashboard. */
html,body,#main,#main [data-framer-root]{background:#fff!important;color:#252522}
#main [data-framer-root]{gap:0!important;padding:0!important}
#main :is(p,h1,h2,h3,a){font-family:var(--nd-font-sans)!important}
#main :is(p,h2,h3){font-weight:400!important;letter-spacing:-.02em!important}
#main :is(p,h2,h3,a){--framer-text-color:#252522;--framer-link-text-color:#252522}
#main :is([data-framer-name="Opening"],[data-framer-name="Info"],[data-framer-name="Featured Projects Grid"],.portfolioWorkHeading,[data-framer-name="Carousel Controls"]),.case-study{width:var(--portfolio-content)!important;max-width:none!important;margin-inline:auto!important;min-width:0!important}
#main :is([data-framer-name="Work"],[data-framer-name="Project List"]){width:100%!important;max-width:none!important;gap:0!important;background:#fff!important;overflow:visible!important;padding:0!important}
/* One compact navigation for the home page and all twelve case studies. */
.nd-portfolio .portfolioNav{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;height:92px!important;padding:0 var(--nd-space-inline)!important;z-index:1000;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;background:#ffffffed!important;backdrop-filter:blur(16px);font-family:var(--nd-font-sans)}
.nd-portfolio .portfolioNavLinks{display:flex;align-items:center;gap:3px!important;border:0;padding:5px!important;border-radius:var(--nd-radius-control)!important;background:#f3f3f2!important}
.nd-portfolio .portfolioNavButton{display:inline-flex;align-items:center;justify-content:center;min-height:40px!important;padding:10px 16px!important;font:400 14px/1.2 var(--nd-font-sans)!important;letter-spacing:-.015em!important;color:#656560!important;text-decoration:none!important;border:0!important;border-radius:var(--nd-radius-control)!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;transition:background .2s,color .2s!important}
.nd-portfolio .portfolioNavButton:hover{background:#fff!important;color:#252522!important;transform:none!important;box-shadow:none!important}.nd-portfolio .portfolioNavButton:last-child{background:var(--nd-color-accent)!important;color:#252522!important}
.nd-portfolio .portfolioBurger{display:none;width:42px;height:42px;min-height:42px!important;align-items:center;justify-content:center;padding:0!important;border:1px solid #dededb!important;border-radius:50%;background:white!important;color:#252522!important;box-shadow:none!important}
.portfolioBurgerIcon{position:relative;width:18px;height:12px}.portfolioBurgerIcon span{position:absolute;left:0;width:18px;height:1.5px;border-radius:1.5px;background:currentColor;transition:transform .18s,top .18s}.portfolioBurgerIcon span:first-child{top:2px}.portfolioBurgerIcon span:last-child{top:9px}.portfolioBurger[aria-expanded=true] .portfolioBurgerIcon span:first-child{top:5px;transform:rotate(45deg)}.portfolioBurger[aria-expanded=true] .portfolioBurgerIcon span:last-child{top:5px;transform:rotate(-45deg)}
/* The profile is an outlined white card; the role remains subordinate to the name. */
#main [data-framer-name="Opening"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;height:auto!important;padding:134px 0 0!important;margin-bottom:76px!important;overflow:visible!important}
#main [data-framer-name="Opening"]>.framer-gzyqu1{grid-column:1/-1;display:flex!important;flex-direction:column!important;width:100%!important;height:auto!important;min-height:0!important;gap:10px!important;padding:0 0 24px!important;background:transparent!important}
#main [data-framer-name="Opening"] [data-framer-name="Name"]{width:100%!important;max-width:100%!important;height:auto!important}
#main [data-framer-name="Opening"] [data-framer-name="Name"] h1{font:400 clamp(44px,6vw,88px)/1.02 var(--nd-font-sans)!important;letter-spacing:-.045em!important;color:#252522!important;margin:0!important}
#main [data-framer-name="Opening"] [data-framer-name="Name"] h1[aria-level="2"]{font-size:clamp(20px,2vw,27px)!important;line-height:1.25!important;letter-spacing:-.025em!important;color:#83837e!important}
#main [data-framer-name="Opening"]>[data-framer-name="Showcase Card"]{width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;background:#fff!important;color:#252522!important;border:1px solid #dededb!important;border-radius:var(--nd-radius-card)!important;box-shadow:none!important;overflow:hidden!important}
#main [data-framer-name="Opening"]>[data-framer-name="Showcase Card"]::after{border:0!important}
#main [data-framer-name="Opening"]>.framer-11ejan4{grid-column:1/-1;gap:22px!important;padding:30px!important;align-items:stretch!important}
#main [data-framer-name="Opening"] [data-framer-name="Showcase Title"]{width:100%!important;max-width:1080px!important;height:auto!important}
#main [data-framer-name="Opening"] [data-framer-name="Showcase Title"] h2{color:#252522!important;font-size:23px!important;line-height:1.45!important;letter-spacing:-.025em!important;font-weight:400!important}
#main [data-framer-name="Opening"] .framer-11ejan4 [data-framer-name="Meta Row"]{width:100%!important;min-height:0!important;margin:0!important;justify-content:flex-start!important}
#main [data-framer-name="Opening"] .framer-11ejan4 [data-framer-name="Meta Row"] p{font-size:12px!important;color:#656560!important;letter-spacing:.04em!important}
#main [data-framer-name="Opening"] [data-framer-name="Project Tags"] p{font-size:14px!important;color:#656560!important;letter-spacing:0!important;line-height:1.5!important}
#main [data-framer-name="Opening"] .framer-10mmn0k,#main [data-framer-name="Opening"] .framer-1kmpmy8{display:none!important}
#main [data-framer-name="Opening"]>:is(.framer-rbpn1l,.framer-7z1ebu){position:relative!important;display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:18px!important;padding:24px!important}
#main [data-framer-name="Opening"]>:is(.framer-rbpn1l,.framer-7z1ebu) [data-framer-name="Meta Row"]{width:0!important;flex:1 1 0!important;min-width:0!important;gap:10px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important}
#main [data-framer-name="Opening"]>:is(.framer-rbpn1l,.framer-7z1ebu) [data-framer-name="Project Identity"]{width:100%!important;flex:auto!important}
#main [data-framer-name="Opening"]>:is(.framer-rbpn1l,.framer-7z1ebu) h3{color:#656560!important;font-size:16px!important;line-height:1.5!important;font-style:normal!important;font-weight:400!important}
#main [data-framer-name="Opening"]>:is(.framer-rbpn1l,.framer-7z1ebu) p{color:#83837e!important;font-size:12px!important;line-height:1.5!important}
/* Grey is a secondary section surface, not a card fill. */
#main [data-framer-name="Info"]{background:#f3f3f1!important;border-radius:var(--nd-radius-card)!important;padding:36px!important;scroll-margin-top:116px;margin-bottom:76px!important;height:auto!important}
#main [data-framer-name="Info"] [data-framer-name="Carousel Intro Placeholder"]{display:grid!important;grid-template-columns:minmax(180px,26%) minmax(0,1fr)!important;gap:16px 44px!important;width:100%!important;max-width:none!important;height:auto!important}
#main [data-framer-name="Info"] [data-framer-name="Carousel Eyebrow"]{grid-column:1;grid-row:1;width:100%!important;height:auto!important}
#main [data-framer-name="Info"] [data-framer-name="Carousel Eyebrow"] p{font-size:12px!important;color:#656560!important;letter-spacing:.035em!important}
#main [data-framer-name="Info"] [data-framer-name="Carousel Heading"]{grid-column:1;grid-row:2;width:100%!important;height:auto!important;margin:0!important;align-self:start}
#main [data-framer-name="Info"] [data-framer-name="Carousel Heading"] h2{font-size:32px!important;line-height:1.2!important;letter-spacing:-.035em!important;color:#252522!important}
#main [data-framer-name="Info"] [data-framer-name="Carousel Placeholder Copy"]{grid-column:2;grid-row:1/span 2;width:100%!important;height:auto!important;max-width:none!important}
#main [data-framer-name="Info"] [data-framer-name="Carousel Placeholder Copy"] p{font-size:28px!important;line-height:1.35!important;color:#252522!important;letter-spacing:-.03em!important}
#main [data-framer-name="Info"] .framer-5mqwyz{grid-column:2;grid-row:3;width:100%!important;height:auto!important;margin-top:6px!important}
#main [data-framer-name="Info"] .framer-5mqwyz p{font-size:17px!important;line-height:1.55!important;color:#656560!important;letter-spacing:-.015em!important}
#main [data-framer-name="Info"] [data-framer-name="Carousel Placeholder Notes"]{grid-column:2;grid-row:4;width:100%!important;height:auto!important;margin-top:14px!important}
#main [data-framer-name="Availability Note"] a,.case-contact a{display:inline-flex!important;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:10px 16px;border:1px solid #dededb;border-radius:var(--nd-radius-control);background:#fff;color:#252522!important;text-decoration:none!important;font:400 14px/1.25 var(--nd-font-sans)!important;transition:background .2s,transform .2s}
#main [data-framer-name="Availability Note"] a::after{content:'↗';font-size:18px}#main [data-framer-name="Availability Note"] a:hover,.case-contact a:hover{background:#e2f896;transform:translateY(-1px)}
#main #work{scroll-margin-top:116px}
#main [data-framer-name="Opening"]>:is(.framer-rbpn1l,.framer-7z1ebu) :is(h3,h3 *){font-style:normal!important;white-space:normal!important}
/* Featured media retain their native ratios and their existing case-study links. */
#main .portfolioWorkHeading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px!important}
#main .portfolioWorkHeading>span{font-size:12px;color:#656560;letter-spacing:.04em}
#main .portfolioWorkHeading h2{font-size:32px!important;letter-spacing:-.035em!important;line-height:1.2!important;margin:0!important}
#main [data-framer-name="Featured Projects Grid"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;padding:0!important;align-items:stretch!important;overflow:visible!important;margin-bottom:76px!important}
#main [data-framer-name="Featured Projects Grid"]>.featured-card{display:flex!important;flex-direction:column!important;align-self:stretch!important;gap:0!important;height:auto!important;width:100%!important;max-width:none!important;min-width:0!important;padding:0!important;border:1px solid #dededb!important;border-radius:var(--nd-radius-card)!important;background:#fff!important;overflow:hidden!important;box-shadow:none!important;transition:transform .35s var(--nd-ease-standard),box-shadow .35s!important}
#main [data-framer-name="Featured Projects Grid"]>.featured-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #25252208!important}
#main .featured-card>.featured-project-heading{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;text-align:left!important;gap:14px!important;order:-1!important;padding:24px!important;margin:0!important;width:100%!important;min-height:92px!important}
#main .featured-project-heading h3{font:400 18px/1.4 var(--nd-font-sans)!important;letter-spacing:-.025em!important;margin:0!important;color:#252522!important}
#main .featured-project-heading a{color:#252522!important;text-decoration:none!important}.featured-client{font-weight:400!important}.featured-job{font-weight:600!important}
#main .featured-card>.featured-media{width:calc(100% - 2 * var(--nd-media-inset))!important;height:auto!important;flex:none!important;margin:0 var(--nd-media-inset)!important;aspect-ratio:var(--featured-ratio)!important;border-radius:var(--nd-radius-media-inset)!important;overflow:hidden!important;background:#fff!important}
#main .featured-card>.featured-media img{display:block!important;position:static!important;width:100%!important;height:100%!important;object-fit:contain!important}
#main .featured-card>[data-framer-name="Project Description"],#main .featured-card>[data-framer-name="Project Credit"]{height:auto!important;width:100%!important;padding:20px 24px 0!important}
#main .featured-card [data-framer-name="Project Description"] p{font-size:18px!important;line-height:1.4!important;color:#252522!important;letter-spacing:-.02em!important}
#main .featured-card [data-framer-name="Project Credit"] p{font-size:15px!important;line-height:1.6!important;color:#656560!important;letter-spacing:-.01em!important}
#main .featured-card>div:last-child{align-self:stretch!important;width:100%!important;height:auto!important;padding:24px!important;margin-top:auto!important}
#main .featured-card>div:last-child a{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;padding:10px 16px!important;min-height:40px!important;border:1px solid #dededb!important;border-radius:var(--nd-radius-control)!important;background:#fff!important;color:#252522!important;font-size:14px!important;line-height:1.25!important;letter-spacing:-.015em!important;text-decoration:none!important;transition:background .2s,transform .2s!important}
#main .featured-card>div:last-child a:hover{background:#e2f896!important;transform:translateY(-1px)}
/* The wider project collection becomes a light-grey section with white cards. */
#main [data-framer-name="Project Carousel Section"]{background:#f3f3f1!important;width:100%!important;padding:56px 0!important;gap:32px!important;overflow:hidden!important}
#main [data-framer-name="Project Carousel Section"]>[data-framer-name="Carousel Intro Placeholder"]{width:var(--portfolio-content)!important;max-width:none!important;margin:auto!important;height:auto!important;gap:16px!important}
#main [data-framer-name="Project Carousel Section"] :is(p,h2,h3,a){color:#252522!important;--framer-text-color:#252522!important;--framer-link-text-color:#252522!important}
#main [data-framer-name="Project Carousel Section"] [data-framer-name="Carousel Eyebrow"] p{font-size:12px!important;color:#656560!important;letter-spacing:.03em!important}
#main [data-framer-name="Project Carousel Section"] [data-framer-name="Carousel Heading"] h2{font-size:clamp(30px,3.5vw,46px)!important;line-height:1.1!important;letter-spacing:-.04em!important;color:#252522!important}
#main [data-framer-name="Project Carousel Section"] [data-framer-name="Carousel Placeholder Copy"] p{font-size:17px!important;line-height:1.5!important;color:#656560!important}
#main [data-framer-name="Project Carousel Window"]{width:100%!important;max-width:none!important;--carousel-gutter:calc((100% - var(--portfolio-content)) / 2);gap:20px!important;padding:0 var(--carousel-gutter) 10px!important;scroll-padding-inline:var(--carousel-gutter);scroll-snap-type:x proximity}
#main [data-framer-name="Project Carousel Window"]>:is([data-framer-name="Carousel Left Inset"],[data-framer-name="Carousel Right Inset"]){display:none!important}
#main [data-framer-name="Project Carousel Window"]>div:not([data-framer-name$="Inset"]){display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:18px!important;width:289px!important;min-width:289px!important;height:auto!important;align-self:stretch!important;padding:var(--nd-media-inset) var(--nd-media-inset) 22px!important;background:#fff!important;border:1px solid #dededb!important;border-radius:var(--nd-radius-card)!important;overflow:hidden!important;scroll-snap-align:start}
#main [data-framer-name="Project Carousel Window"]>div>:first-child{border-radius:var(--nd-radius-media-inset)!important;overflow:hidden!important}
#main [data-framer-name="Project Carousel Window"] :is([data-framer-name="Project Heading"],[data-framer-name="Project Description"],[data-framer-name="Project Credit"],[data-framer-name="View Case Study"]){width:100%!important;height:auto!important;padding-inline:16px!important;margin:0!important}
#main [data-framer-name="Project Carousel Window"] [data-framer-name="Project Heading"] p{font-size:12px!important;color:#656560!important;letter-spacing:0!important;line-height:1.4!important}
#main [data-framer-name="Project Carousel Window"] [data-framer-name="Project Title"] :is(h3,p,a),#main [data-framer-name="Project Carousel Window"] [data-framer-name="Project Title"]{font-size:23px!important;line-height:1.25!important;font-weight:400!important;color:#252522!important;letter-spacing:-.025em!important;text-decoration:none!important}
#main [data-framer-name="Project Carousel Window"] :is([data-framer-name="Project Description"],[data-framer-name="Project Credit"]) p{font-size:15px!important;line-height:1.5!important;color:#656560!important;letter-spacing:-.01em!important}
#main [data-framer-name="Project Carousel Window"] [data-framer-name="View Case Study"] :is(a,p){font-size:14px!important;line-height:1.4!important;color:#252522!important}
#main [data-framer-name="Carousel Controls"]{gap:12px!important;justify-content:flex-start!important}
#main [data-framer-name="Carousel Controls"]>a{width:40px!important;height:40px!important;border-radius:50%!important;background:#fff!important;border:1px solid #dededb!important}
#main [data-framer-name="Carousel Controls"]>a:hover{background:#e2f896!important}
#main [data-framer-name="Carousel Controls"]>a *{--framer-text-color:#252522!important;color:#252522!important}
/* Case pages retain the existing prose, media and metadata. */
.case-study{padding:136px 0 76px!important;color:#252522}.case-back{font:400 14px/1.5 var(--nd-font-sans);color:#656560;margin-bottom:36px;text-decoration:none}.case-back:hover{text-decoration:underline;text-underline-offset:4px}
.case-study article{gap:32px}.case-study article>header{max-width:1020px}.case-study h1{font:400 clamp(36px,4.6vw,64px)/1.08 var(--nd-font-sans);letter-spacing:-.045em;max-width:100%;overflow-wrap:anywhere;margin:0 0 24px}
.case-deck p{font:400 22px/1.45 var(--nd-font-sans);letter-spacing:-.02em;color:#656560;max-width:850px}.case-media{border-radius:var(--nd-radius-card);width:100%;max-height:none;height:auto;aspect-ratio:auto;object-fit:contain}
.case-copy{max-width:850px}.case-copy p{font:400 17px/1.65 var(--nd-font-sans);letter-spacing:-.01em;color:#656560}.case-copy strong{font-weight:600;color:#252522}.case-details{padding:28px;gap:28px;border:1px solid #dededb;border-radius:var(--nd-radius-card);background:#fff}.case-details h2{font:400 12px/1.5 var(--nd-font-sans);color:#656560;letter-spacing:.04em}.case-details p{font:400 17px/1.55 var(--nd-font-sans);color:#252522;letter-spacing:-.01em}.case-contact{padding-top:28px;border-color:#dededb;display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:0}.case-contact p{font:400 20px/1.5 var(--nd-font-sans);margin:0 auto 0 0}.case-contact a:last-child{background:#e2f896;border-color:#e2f896}
@media(max-width:950px){.portfolioBrand{font-size:16px}.nd-portfolio .portfolioNav{gap:14px!important}.nd-portfolio .portfolioNavButton{padding:10px 12px!important}#main [data-framer-name="Opening"] [data-framer-name="Showcase Title"] h2{font-size:21px!important}#main [data-framer-name="Info"] [data-framer-name="Carousel Intro Placeholder"]{grid-template-columns:minmax(150px,23%) minmax(0,1fr)!important;gap:16px 28px!important}#main [data-framer-name="Info"] [data-framer-name="Carousel Placeholder Copy"] p{font-size:25px!important}}
@media(max-width:767px){
.nd-portfolio .portfolioNav{height:80px!important}.portfolioBrand{font-size:17px}.portfolioBrand>b{width:38px;height:38px;font-size:21px}.nd-portfolio .portfolioBurger{display:inline-flex!important;flex-shrink:0}.nd-portfolio .portfolioNavLinks{position:absolute;top:72px;right:20px;width:min(270px,calc(100vw - 40px));min-width:0!important;display:flex!important;flex-direction:column;align-items:stretch;padding:8px!important;border:1px solid #dededb!important;border-radius:13.5px!important;background:#fff!important;box-shadow:0 12px 28px #2525220a;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s}.nd-portfolio .portfolioNavLinks[data-open=true]{opacity:1;visibility:visible;transform:none}.nd-portfolio .portfolioNavButton{justify-content:flex-start!important;min-height:44px!important;padding:12px 16px!important;font-size:15px!important}
#main [data-framer-name="Opening"]{grid-template-columns:1fr!important;padding-top:110px!important;gap:14px!important;margin-bottom:44px!important}#main [data-framer-name="Opening"]>.framer-gzyqu1{padding-bottom:12px!important;gap:12px!important}#main [data-framer-name="Opening"] [data-framer-name="Name"] h1{font-size:clamp(36px,9vw,52px)!important;line-height:1.08!important}#main [data-framer-name="Opening"] [data-framer-name="Name"] h1[aria-level="2"]{font-size:20px!important;line-height:1.35!important}#main [data-framer-name="Opening"]>.framer-11ejan4{padding:24px!important;gap:20px!important}#main [data-framer-name="Opening"] [data-framer-name="Showcase Title"] h2{font-size:18px!important;line-height:1.55!important}#main [data-framer-name="Opening"]>:is(.framer-rbpn1l,.framer-7z1ebu){padding:22px!important;gap:14px!important}#main [data-framer-name="Opening"]>:is(.framer-rbpn1l,.framer-7z1ebu) h3{font-size:15px!important}
#main [data-framer-name="Info"]{padding:26px!important;margin-bottom:44px!important}#main [data-framer-name="Info"] [data-framer-name="Carousel Intro Placeholder"]{grid-template-columns:1fr!important;gap:18px!important}#main [data-framer-name="Info"] :is([data-framer-name="Carousel Eyebrow"],[data-framer-name="Carousel Heading"],[data-framer-name="Carousel Placeholder Copy"],.framer-5mqwyz,[data-framer-name="Carousel Placeholder Notes"]){grid-column:1!important;grid-row:auto!important;margin:0!important}#main [data-framer-name="Info"] [data-framer-name="Carousel Heading"] h2{font-size:28px!important}#main [data-framer-name="Info"] [data-framer-name="Carousel Placeholder Copy"] p{font-size:24px!important}#main [data-framer-name="Info"] .framer-5mqwyz p{font-size:16px!important}#main [data-framer-name="Availability Note"] a{font-size:13px!important;padding:10px 13px;gap:12px}
#main .portfolioWorkHeading{display:block;margin-bottom:24px!important}#main .portfolioWorkHeading h2{font-size:29px!important;margin-top:12px!important}#main [data-framer-name="Featured Projects Grid"]{grid-template-columns:1fr!important;gap:22px!important;margin-bottom:44px!important}#main .featured-card>.featured-project-heading{padding:22px!important;min-height:0!important;gap:12px!important}#main .featured-project-heading h3{font-size:17px!important}#main .featured-card>[data-framer-name="Project Description"],#main .featured-card>[data-framer-name="Project Credit"]{padding:20px 22px 0!important}#main .featured-card>div:last-child{padding:22px!important}#main .featured-card [data-framer-name="Project Description"] p{font-size:17px!important}#main [data-framer-name="Project Carousel Section"]{padding:40px 0!important}#main [data-framer-name="Project Carousel Window"]>div:not([data-framer-name$="Inset"]){width:calc((100vw - 64px) * .85)!important;min-width:calc((100vw - 64px) * .85)!important}#main [data-framer-name="Project Carousel Section"] [data-framer-name="Carousel Heading"] h2{font-size:32px!important}
.case-study{padding-top:110px!important;padding-bottom:50px!important}.case-study h1{font-size:36px}.case-deck p{font-size:20px}.case-study article{gap:26px}.case-copy p{font-size:16px}.case-details{grid-template-columns:1fr;padding:24px}.case-contact{gap:12px}.case-contact p{width:100%;font-size:19px}.case-contact a{font-size:13px!important}
}
#main [data-framer-name="Carousel Controls"]>a{display:flex!important;align-items:center!important;justify-content:center!important}
#main [data-framer-name="Carousel Controls"]>a>svg{display:block!important;width:20px!important;height:20px!important;color:#656560!important;position:static!important}

/* One compact fixed navigation. Its return control joins at the page end. */
html{scroll-behavior:smooth}
.portfolio-dock{--dock-ease:cubic-bezier(.22,1,.36,1);display:flex;align-items:center;gap:0;width:max-content;max-width:calc(100vw - 40px);height:44px;padding:3px;border:1px solid #d3d3ce;border-radius:var(--nd-radius-control);background:#fffffff5;color:#252522;box-shadow:0 3px 16px #25252204;font-family:var(--nd-font-sans);isolation:isolate}
.portfolio-dock--top{position:fixed;top:20px;right:max(var(--nd-space-inline),calc((100vw - 1376px)/2));z-index:1000;backdrop-filter:blur(12px)}
.portfolio-dock a{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:36px;padding:0 14px;border-radius:var(--nd-radius-control);color:#252522;text-decoration:none;font:400 13px/1.4 var(--nd-font-sans);letter-spacing:-.015em;white-space:nowrap;transition:background .2s ease,color .2s ease}
.portfolio-dock svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.portfolio-dock .portfolio-login-link{border:1px solid #deded8;background:#f3f3f1;padding:0 13px;gap:10px;margin-left:2px}
.portfolio-dock .portfolio-contact-link:hover{background:#f3f3f1}.portfolio-dock .portfolio-login-link:hover{background:#e2f896;border-color:#d0ddaa}
.portfolio-dock a:focus-visible{outline:2px solid #656560;outline-offset:3px}
.portfolio-return-slot{width:0;flex:none;align-self:stretch;transition:width .55s var(--dock-ease)}
.portfolio-dock .portfolio-top-link{position:absolute;top:4px;left:4px;z-index:2;width:34px;height:34px;padding:0;border:1px solid #d3d3ce;background:#fff;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(144px) scale(.85);transition:transform .55s var(--dock-ease),opacity .2s ease,visibility 0s .55s,background .2s ease}
.portfolio-dock .portfolio-top-link svg{width:18px;height:18px;transition:transform .25s var(--dock-ease)}
.portfolio-dock.is-at-bottom .portfolio-return-slot{width:38px}
.portfolio-dock.is-at-bottom .portfolio-top-link{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0) scale(1);transition-delay:0s}
.portfolio-dock .portfolio-top-link:hover{background:#e2f896;border-color:#d0ddaa}.portfolio-dock .portfolio-top-link:hover svg{transform:translateY(-2px)}
/* Rounded footer module on the white page, aligned with the About section. */
.portfolio-footer{--footer-columns:2fr 3fr 4fr 3fr;position:relative;display:block!important;width:var(--portfolio-content)!important;margin:56px auto!important;padding:0!important;background:#f3f3f1!important;border:0!important;border-radius:var(--nd-radius-card);color:#252522!important;scroll-margin-top:24px;font-family:var(--nd-font-sans)}
.portfolio-footer-inner{box-sizing:border-box;width:100%;margin:0 auto;padding:56px 36px 32px;display:flex;flex-direction:column;gap:80px}
.portfolio-footer-top,.portfolio-footer-columns{display:grid;grid-template-columns:var(--footer-columns);gap:32px;align-items:start}
.portfolio-footer .portfolio-footer-statement{grid-column:1/4;max-width:800px;font:400 clamp(32px,3vw,48px)/1.12 var(--nd-font-sans);letter-spacing:-.035em;margin:0;text-wrap:balance}
.portfolio-footer-identity{grid-column:4;min-width:0}.portfolio-footer .portfolio-footer-name{font:400 clamp(24px,2.2vw,34px)/1.15 var(--nd-font-sans);letter-spacing:-.04em;margin:0 0 18px}.portfolio-footer-identity>p:last-child{font:400 14px/1.5 var(--nd-font-sans);letter-spacing:-.015em;margin:0}
.portfolio-footer-column{display:flex;flex-direction:column;gap:38px;min-width:0}.portfolio-footer-group h3{font:400 12px/1.5 var(--nd-font-sans);text-transform:uppercase;letter-spacing:.025em;color:#53534f;margin:0 0 16px}.portfolio-footer-group>a,.portfolio-footer-group>p,.portfolio-footer-socials{font:400 15px/1.55 var(--nd-font-sans);letter-spacing:-.015em;margin:0}.portfolio-footer-group>a{display:inline-block;max-width:100%;overflow-wrap:anywhere;color:#252522;text-decoration:none;text-underline-offset:4px}.portfolio-footer-group>a:hover{text-decoration:underline}.portfolio-footer a:focus-visible{outline:2px solid #252522;outline-offset:5px;border-radius:1.5px}
.portfolio-footer-socials{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px}.portfolio-footer-socials li{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.portfolio-footer-socials a{color:#252522;text-decoration:none;text-underline-offset:4px}.portfolio-footer-socials a:hover{text-decoration:underline}.portfolio-footer-handle{font-size:12px;margin-left:8px;color:#53534f}.portfolio-footer-socials .portfolio-placeholder{font-size:12px}.portfolio-footer .portfolio-placeholder{color:#53534f}
.portfolio-footer-bottom{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:14px 32px;margin-top:auto;padding-top:48px}.portfolio-footer-bottom p{font:400 11px/1.5 var(--nd-font-sans);color:#53534f;letter-spacing:.02em;text-transform:uppercase;margin:0}
.portfolio-page-end{position:absolute;bottom:0;left:0;width:1px;height:1px;pointer-events:none}
/* Hide only below-the-fold content armed by JS; content stays visible without it. */
@media(prefers-reduced-motion:no-preference){
 .nd-reveal-pending{opacity:0;transform:translateY(24px)}
 .nd-reveal-pending.nd-reveal-in{opacity:1;transform:translateY(0);animation:none;transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1);transition-delay:var(--nd-reveal-delay,0ms)}
 #main [data-framer-name="Featured Projects Grid"]>.featured-card.nd-reveal-pending{transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1),box-shadow .35s!important;transition-delay:var(--nd-reveal-delay,0ms)!important}
}
@media(prefers-reduced-motion:reduce){.nd-reveal-pending{opacity:1;transform:none}.portfolio-dock .portfolio-top-link{transform:none}}
@media print{.nd-reveal-pending{opacity:1;transform:none}.portfolio-dock{display:none}}
@media(min-width:768px) and (max-width:1050px){.portfolio-footer{--footer-columns:2fr 3fr 3fr 2.8fr}.portfolio-footer-top,.portfolio-footer-columns{gap:24px}.portfolio-footer .portfolio-footer-name{font-size:25px}.portfolio-footer-group>a,.portfolio-footer-group>p,.portfolio-footer-socials{font-size:14px}}
@media(max-width:767px){
 .portfolio-dock--top{top:16px;right:20px}
 .portfolio-footer{margin:32px auto!important}.portfolio-footer-inner{padding:36px 26px 26px;gap:48px}
 .portfolio-footer-top{grid-template-columns:1fr;gap:30px}
 .portfolio-footer .portfolio-footer-statement{grid-column:1;font-size:clamp(30px,7.5vw,42px);max-width:580px}
 .portfolio-footer-statement br{display:none}
 .portfolio-footer-identity{grid-column:1}.portfolio-footer .portfolio-footer-name{font-size:24px;margin-bottom:10px}.portfolio-footer-identity>p:last-child{font-size:13px}.portfolio-footer-identity br{display:none}
 .portfolio-footer-columns{grid-template-columns:1fr 1fr;gap:32px 24px}
 .portfolio-footer-column{gap:28px}.portfolio-footer-column:nth-child(2){grid-column:1/-1;grid-row:1}.portfolio-footer-group h3{font-size:11px;margin-bottom:12px}.portfolio-footer-group>a,.portfolio-footer-group>p,.portfolio-footer-socials{font-size:14px}
 .portfolio-footer-socials li{display:flex;flex-direction:column;gap:0}.portfolio-footer-socials{gap:10px}
 .portfolio-footer-bottom{align-items:flex-start;flex-direction:column;gap:12px;padding-top:24px}.portfolio-footer-bottom p{font-size:10px}
}

/* Keep every media layer on the same curve; legacy Framer image radii must not
   round more deeply than their containing card. Pills and circles stay circular. */
.nd-portfolio,.nd-portfolio *,.nd-portfolio *::before,.nd-portfolio *::after{corner-shape:round!important}
#main .featured-media :is(img,video,[data-framer-background-image-wrapper]),
#main [data-framer-name="Project Carousel Window"] :is([data-framer-name="Project Image"],[data-framer-background-image-wrapper],img,video){border-radius:var(--nd-radius-media-inset)!important}
#main .featured-card::after,
#main [data-framer-name="Project Carousel Window"]>div:not([data-framer-name$="Inset"])::after{border-radius:inherit!important}

/* Bottom showcase is visual only; carousel controls remain interactive. */
#main [data-showcase-item],#main [data-showcase-item] *{cursor:default!important}
#main [data-showcase-item] [data-framer-name="Project Image"]{display:block!important;position:relative!important}
#main [data-showcase-item]:hover,#main [data-showcase-item] [data-framer-name="Project Image"]:hover{transform:none!important;box-shadow:none!important}
#main [data-showcase-item] span{color:inherit!important;text-decoration:none!important}


/* Reference-inspired upward colour wipe and looping arrow for case-study links. */
#main .featured-card>div:last-child a.case-button{position:relative!important;overflow:hidden!important;isolation:isolate;gap:10px!important;min-height:36px!important;padding:8px 14px!important;border:1px solid #252522!important;border-radius:999px!important;font-size:11px!important;line-height:18px!important;letter-spacing:.035em!important;text-transform:uppercase;background:#fff!important;transition:none!important;transform:none!important}
#main .case-button .case-button-content{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}
#main .case-button .case-button-muted{opacity:.55}
#main .case-button .case-button-arrow{display:block;width:20px;height:12px;overflow:hidden}
#main .case-button svg{display:block;width:20px;height:12px;fill:none;stroke:currentColor;stroke-width:1.2}
#main .case-button .case-button-fill{position:absolute;inset:0;overflow:hidden;background:#252522;color:#fff;transform:translateY(110%);pointer-events:none}
#main .case-button .case-button-fill>.case-button-content{position:absolute;inset:0;transform:translateY(-110%)}
#main .case-button.is-active .case-button-fill{animation:case-fill-in .6s cubic-bezier(.16,1,.3,1) both}
#main .case-button.is-active .case-button-fill>.case-button-content{animation:case-text-in .6s cubic-bezier(.16,1,.3,1) both}
#main .case-button.is-active svg{animation:case-arrow-loop .5s ease-out both}
#main .case-button.is-leaving .case-button-fill{animation:case-fill-out .35s cubic-bezier(.16,1,.3,1) both}
#main .case-button.is-leaving .case-button-fill>.case-button-content{animation:case-text-out .35s cubic-bezier(.16,1,.3,1) both}
#main .case-button:focus-visible{outline:2px solid #252522;outline-offset:4px}
@keyframes case-fill-in{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes case-text-in{from{transform:translateY(-110%)}to{transform:translateY(0)}}
@keyframes case-fill-out{from{transform:translateY(0)}to{transform:translateY(-110%)}}
@keyframes case-text-out{from{transform:translateY(0)}to{transform:translateY(110%)}}
@keyframes case-arrow-loop{0%{transform:translateX(0)}49.9%{transform:translateX(110%)}50%{transform:translateX(-110%)}100%{transform:translateX(0)}}
@media(pointer:coarse),(max-width:600px){#main .featured-card>div:last-child a.case-button{min-height:44px!important}#main .case-button:active .case-button-fill,#main .case-button:active .case-button-fill>.case-button-content{transform:none}}
@media(prefers-reduced-motion:reduce){#main .case-button *{animation:none!important}#main .case-button.is-active .case-button-fill,#main .case-button.is-active .case-button-fill>.case-button-content{transform:none}}

/* Compact case-study controls: 75% of the approved button dimensions. */
#main .featured-card>div:last-child a.case-button{zoom:.75}

/* NDA variant keeps the current control footprint and colour wipe. */
#main .featured-card>div:last-child a.case-button-locked{width:164.333333px!important;box-sizing:border-box!important;justify-content:center!important;cursor:default!important}
#main .case-button-locked .case-button-lock,#main .case-button-locked svg{width:16px;height:16px;display:block}
#main .case-button-locked svg{animation:none!important}
#main [data-case-locked] a{cursor:default!important}
#main [data-case-locked]:hover{transform:none!important;box-shadow:none!important}

/* Sanitised, blurred case-page backdrop and accessible NDA notice. */
.nda-page{min-height:100svh;display:grid;place-items:center;font-family:var(--nd-font-sans);margin:0;padding:24px;box-sizing:border-box}
.nda-backdrop{position:fixed;inset:0;overflow:hidden;padding:12vh max(24px,calc((100vw - 1100px)/2));filter:blur(12px);opacity:.3;pointer-events:none;user-select:none}
.nda-skeleton-title{width:65%;height:52px;background:#888;border-radius:9px;margin-bottom:24px}
.nda-skeleton-line{height:16px;width:90%;background:#aaa;border-radius:4.5px;margin:18px 0}
.nda-skeleton-line:last-child{width:65%}
.nda-skeleton-media{height:40vh;margin:46px 0;background:linear-gradient(135deg,#d1d1c5,#777f78);border-radius:18px}
.nda-notice{position:relative;z-index:1;text-align:center;background:#fffffff2;border:1px solid #dededb;border-radius:18px;padding:44px 32px;width:min(100%,440px);box-sizing:border-box;box-shadow:0 12px 48px #25252208;color:#252522}
.nda-notice>svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.3;margin-bottom:18px}
.nda-notice h1{font-size:32px;font-weight:400;letter-spacing:-.035em;margin:0 0 14px}
.nda-notice p{font-size:16px;line-height:1.5;color:#656560;margin:0 0 28px}
.nda-notice a{display:inline-flex;align-items:center;gap:20px;border:1px solid #252522;border-radius:999px;padding:12px 18px;color:inherit;text-decoration:none;font-size:12px;text-transform:uppercase}
.nda-notice a:focus-visible{outline:2px solid #252522;outline-offset:4px}

#main .context-app-link{display:inline;margin-top:0;font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important;color:inherit!important;text-decoration:none!important}
#main .context-app-link:focus-visible{outline:2px solid #252522;outline-offset:4px}

#main [data-framer-name="Info"] .framer-5mqwyz p+p{margin-top:1em!important}
/* Navigation follows the viewport edge, independently of the content modules. */
.portfolio-dock--top{right:20px}
.portfolio-contact-dialog{padding:0;border:0;background:transparent;color:#252522;width:min(1200px,calc(100vw - 40px));max-width:none;max-height:calc(100svh - 40px);overflow:auto;border-radius:var(--nd-radius-card);overscroll-behavior:contain}
.portfolio-contact-dialog::backdrop{background:rgb(37 37 34 / .28);backdrop-filter:blur(5px)}
.portfolio-contact-dialog .portfolio-footer{width:100%!important;margin:0!important}
.portfolio-contact-dialog .portfolio-footer-inner{padding-top:76px}
.portfolio-contact-close{position:absolute;right:20px;top:20px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #d3d3ce;border-radius:50%;background:#fff;color:#252522;cursor:pointer;z-index:1}
.portfolio-contact-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.portfolio-contact-close:hover{background:#e2f896}
.portfolio-contact-close:focus-visible{outline:2px solid #656560;outline-offset:3px}
@media(prefers-reduced-motion:no-preference){.portfolio-contact-dialog[open]{animation:contact-pop .28s cubic-bezier(.22,1,.36,1)}@keyframes contact-pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}}
@media(max-width:767px){.portfolio-contact-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px)}.portfolio-contact-dialog .portfolio-footer-inner{padding-top:68px}}
