/* mdesign adaptation of the Kivo reference. Isolated to v2.html. */
:root{--colors--green:#e3001b;--accent:#e3001b;color-scheme:dark}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{overflow-x:clip}
section{scroll-margin-top:30px}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:6px}
.v2-skip{position:fixed;top:12px;left:12px;padding:12px 20px;z-index:10000;background:#fff;color:#000;transform:translateY(-160%)}
.v2-skip:focus{transform:none}
.mdesign-logo{display:block;width:152px;height:auto;border:0;box-shadow:none;filter:url('#footerLogoOnDark');mix-blend-mode:screen;clip-path:inset(1px)}
.footer-logo.mdesign-logo{width:240px;max-width:100%}
.navbar{z-index:20}
.navbar-wrapper{min-height:66px;border-radius:0}
.navbar-left,.navbar-right{flex:1}
.v2-navigation{display:flex;align-items:center;gap:38px}
.v2-navigation a{font-size:16px;text-transform:uppercase;color:#96969b;transition:color .2s}
.v2-navigation a:hover,.v2-navigation a:focus-visible{color:#fff}
.v2-navigation a:first-child{color:#fff}
.v2-contact-link{display:flex;align-items:center;justify-content:center;gap:18px;min-height:66px;padding:20px 30px;background:var(--accent);color:#fff;font-size:18px;text-transform:uppercase;transition:background .3s}
.v2-contact-link:hover{background:#b80016;color:#fff}
.v2-menu-toggle{display:none;background:none;border:0;padding:12px;color:#fff}
.v2-menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:6px 0}
.hero-v1{height:100svh;min-height:720px;isolation:isolate}
.hero-v1-wrap{z-index:2;pointer-events:none}
.hero-v1-wrap a,.hero-v1-wrap button{pointer-events:auto}
.hero-v1-bg-wrap{z-index:0;mix-blend-mode:normal;pointer-events:none}
.hero-v1-video{opacity:.7;mix-blend-mode:normal}
.hero-v1-video video{filter:grayscale(1) sepia(1) saturate(7) hue-rotate(310deg);object-fit:cover}
.hero-v1-bg-cover{display:none}
.hero-v1-bg-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080a0d30,#080a0d00);z-index:1001}
.hero-v1-content-wrap{max-width:1180px}
.hero-v1-top-wrap>.h6{font-size:22px;white-space:nowrap}
.hero-badge-review{color:#fff}
.hero-badge-review .paragraph-04.badge-review-title{color:#fff}
.hero-heading-wrap h1{font-size:clamp(58px,8.25vw,110px)}
#v2-motion{position:absolute;right:28px;bottom:134px;z-index:1005;border:1px solid #ffffff38;border-radius:50%;width:42px;height:42px;background:#141416;pointer-events:auto;color:#fff;font-size:20px;display:grid;place-items:center}
.hero-v1-brands{background:transparent;border:0;box-shadow:none}
.brand-marquee{width:max-content;animation:md-brands 75s linear infinite}
.brand-logo{width:145px;height:48px;object-fit:contain;margin-right:90px;filter:grayscale(1) invert(1);mix-blend-mode:screen;opacity:.65}
.brand-logo.client-logo-white{filter:grayscale(1)}
@keyframes md-brands{to{transform:translateX(-50%)}}
.v2-paused .brand-marquee{animation-play-state:paused}
.about-v1-card{color:white}
.about-v1-card .h6.about-v1-title{color:white}
.about-v1-arrow{filter:brightness(0) invert(1)}
.about-v1-image-wrap{position:relative;overflow:hidden}
.studio-photo{object-fit:cover;object-position:60% 35%;filter:saturate(.65);transition:filter .6s,transform 1s}
.about-v1-image-wrap:hover .studio-photo{filter:saturate(1);transform:scale(1.025)}
.about-v1-content{z-index:2;background:linear-gradient(transparent,#000c);padding-top:80px;inset:auto 0 0;position:absolute}
.about-v1-image-wrap .h4{font-size:64px}
.about-v1-heading-wrap h3{font-size:40px;line-height:1.18;letter-spacing:-1.2px;font-weight:500}
.work-v2-image-wrap.medium.project-stage{height:auto;aspect-ratio:auto;padding:70px 30px 44px;border:1px solid #ffffff0c;border-radius:16px;background:linear-gradient(135deg,var(--stage-light),var(--stage-base) 78%);display:block;position:relative;overflow:hidden;isolation:isolate}
.project-stage-label{position:absolute;top:23px;left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;letter-spacing:.12em;color:#ffffff80}
.project-visit{color:#ffffffc9;letter-spacing:0;font-size:11px;transition:color .3s}
.project-browser{position:relative;border-radius:9px;overflow:hidden;background:#111317;border:1px solid #ffffff40;box-shadow:0 18px 28px -18px #000a;transform:perspective(1100px) rotateY(var(--frame-angle)) rotateZ(var(--frame-angle));transform-origin:50% 50%;transition:transform .65s cubic-bezier(.2,.7,.2,1),border-color .65s}
.project-browser-bar{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;background:#ececef;color:#6d6d74;gap:12px;border-bottom:1px solid #00000012}
.project-browser-dots{display:flex;gap:4px;flex:0 0 32px}
.project-browser-dots i{display:block;width:4px;height:4px;border-radius:50%;background:#b4b4bd}
.project-browser-domain{font-size:9px;letter-spacing:.02em;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-browser-icon{flex:0 0 32px;text-align:right;font-size:12px;color:#92929a}
.project-browser-screen{aspect-ratio:8/5;background:#101114;overflow:hidden}
.project-browser-screen .project-capture{display:block;position:static;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;border-radius:0}
.work-link:hover .project-browser,.work-link:focus-visible .project-browser{transform:perspective(1100px) rotateY(0) rotateZ(0) translateY(-5px);border-color:#ffffff70}
.work-link:hover .project-visit{color:#fff}
.work-v4-list{row-gap:54px}
/* Exact supplied screens, composed as a single preview within the standard card. */
.project-composition{position:relative;display:flex;align-items:center;gap:4%;padding:5%;background:radial-gradient(ellipse at 80% 20%,#6a5937 0,transparent 65%),#211e18;container-type:inline-size}
.composition-main{flex:0 0 43%;transform:rotate(-3deg)}
.composition-page{overflow:hidden;border-radius:4px;border:1px solid #ffffff38;box-shadow:0 10px 24px #0005;background:#fff}
.composition-page img{display:block;width:100%;height:auto;max-width:100%;border-radius:0}
.composition-side{flex:1;min-width:0;transform:rotate(2deg)}
.composition-caption,.composition-footnote{display:block;color:#dfcfaa}
.composition-caption{font-size:clamp(5px,1.6cqw,10px);letter-spacing:.13em;margin-bottom:5%;line-height:1.4}
.composition-footnote{font-size:clamp(5px,1.5cqw,9px);margin-top:5%;line-height:1.5;opacity:.7}
.school-composition{background:radial-gradient(ellipse at 80% 20%,#754525 0,transparent 65%),#211710}
.school-composition .composition-caption,.school-composition .composition-footnote{color:#ffc396}
.course-detail{position:relative;aspect-ratio:1.12;background:#050505}
.course-detail img{position:absolute;max-width:none;max-height:none;width:180%;left:-40%;top:0;height:auto}
.work-v1-title{font-weight:500}
.services-list{border-radius:14px;overflow:hidden;transition:background .35s,padding .35s}
.services-list:hover,.services-list:focus-visible{background:var(--accent);padding-inline:24px}
.services-v1-title{font-size:clamp(46px,7vw,100px);line-height:1.1;letter-spacing:-.04em;margin:0}
.services-v1-arrow{transition:transform .45s}
.services-list:hover .services-v1-arrow{transform:rotate(-40deg)}
.button-01-text-wrap,.button-02-text-wrap,.button-01-arrow-wrap,.button-02-arrow-wrap{transition:transform .35s}
.button-01:hover .button-01-text-wrap,.button-02:hover .button-02-text-wrap{transform:translateY(-50%)}
.button-01,.button-02{isolation:isolate}
.cta .button-02 .button-title-01{color:#fff}
.cta .button-02 .button-02-arrow{filter:brightness(0) invert(1)}
.button-01:not(.v2) .button-title-01{color:white}
.button-01.v2 .button-title-03{color:white}
.button-01:not(.v2) .button-01-arrow{filter:brightness(0) invert(1)}
.pricing-v1-card.green,.pricing-v1-card.green .text-black,.pricing-v1-card.green .v1-duration-02{color:white}
.pricing-v1-card.green .pricing-v1-check{filter:brightness(0) invert(1)}
.testimonial-v1-mask{display:flex;gap:24px;max-width:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:12px;scroll-behavior:smooth}
/* Extend the review viewport to the section's right edge, keeping the left alignment. */
#reviews{container-type:inline-size}
#reviews .testimonial-v1-mask{width:calc(50cqw + 50%)}
@media(min-width:1024px){
 #reviews>.container{width:80%;max-width:none;margin-left:20%;margin-right:0;padding-left:0;padding-right:24px}
 #reviews .testimonial-v1-mask{width:calc(100% + 24px)}
}
.stat-counter{display:inline-flex;align-items:baseline;font-variant-numeric:tabular-nums;line-height:1.1}
.stat-counter-value{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.stat-counter-visual{display:inline-flex;align-items:baseline}
.stat-counter-digit{display:inline-block;overflow:hidden;height:1.1em;width:.6em}
.stat-counter-reel{display:flex;flex-direction:column}
.stat-counter-reel>span{display:block;height:1.1em;line-height:1.1;flex:none;text-align:center}
.testimonial-v1-mask::-webkit-scrollbar{display:none}
.testimonial-v1-slide-wrapper{display:block;flex:0 0 min(518px,83vw);max-width:none;width:auto;margin:0;white-space:normal;scroll-snap-align:start;vertical-align:top}
.testimonial-v1-slide{height:570px}
.testimonial-v1-slide-wrapper:nth-child(even) .testimonial-v1-slide{background:#161619}
.testimonial-v1-image{border-radius:50%;object-fit:cover}
.testimonial-v1-content-wrap{padding-top:66px}
.testimonial-v1-details{font-size:26px;line-height:1.4}
.testimonial-slide-nav,.testimonial-slider-left,.testimonial-slider-right{display:none!important}
.v2-review-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:22px}
.v2-review-controls button{width:48px;height:48px;border:1px solid #444;background:none;color:#fff;border-radius:50%;font-size:24px;cursor:pointer;transition:background .3s}
.v2-review-controls button:hover{background:var(--accent);border-color:var(--accent)}
.v2-review-status{color:#999;font-size:14px;margin-right:12px}
.awards-v1-list{transition:padding .3s,background .3s}
.awards-v1-list:hover{padding-inline:18px;background:#111}
.blog-image-wrap{overflow:hidden}
.blog-link img{transition:transform .8s}
.blog-link:hover img{transform:scale(1.035)}
.v2-faq{border-bottom:1px solid #303034;padding:27px 0;width:100%}
.v2-faq summary{display:flex;align-items:center;justify-content:space-between;gap:30px;cursor:pointer;list-style:none}
.v2-faq summary::-webkit-details-marker{display:none}
.v2-faq summary .h6{font-size:22px;line-height:1.3}
.v2-faq-plus{font-size:30px;font-weight:300;transition:transform .65s cubic-bezier(.22,1,.36,1);color:var(--accent)}
.v2-faq[open] .v2-faq-plus{transform:rotate(45deg)}
.v2-faq[data-expanded="false"] .v2-faq-plus{transform:rotate(0)}
.v2-faq p{margin:20px 45px 0 0;font-size:18px;line-height:1.5}
.faq-v1-bg-wrap img{filter:grayscale(1) sepia(1) saturate(6) hue-rotate(310deg)}
.cta{background-color:#000;color:white}
.cta .cta-bg{width:100%;height:100%;background-size:cover;background-position:center}
.cta h3,.cta .text-black{color:white}
.footer-menu-list a{overflow-wrap:anywhere}
.footer-column{min-width:0}
.v2-email-link{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:clamp(20px,2.2vw,30px);border-bottom:1px solid #454549;padding:18px 0}
.v2-email-link:hover{color:var(--accent)}
.v2-article{color:#eee;background:#111114;border:1px solid #454549;border-radius:14px;width:min(780px,calc(100% - 32px));max-height:85svh;padding:55px 44px;overflow:auto}
.v2-article::backdrop{background:#000b;backdrop-filter:blur(8px)}
.v2-article h3{font-size:36px;line-height:1.15;margin:24px 0}
.v2-article p{font-size:18px;color:#bbb;line-height:1.65}
.v2-dialog-close{position:absolute;top:12px;right:16px;color:#fff;background:none;border:0;font-size:32px;cursor:pointer}
.md-reveal{transition:opacity .8s,transform .8s,filter .8s;will-change:auto}
.motion-ready .md-reveal:not(.md-visible){opacity:0;transform:translateY(35px);filter:blur(4px)}
.hero-heading-wrap{animation:md-hero-in 1.25s cubic-bezier(.2,.7,.2,1) both}
.hero-v1-top-wrap{animation:md-hero-in 1s .12s both}
@keyframes md-hero-in{from{opacity:0;transform:translateY(45px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@media(min-width:1440px){.container{max-width:1320px}}
@media(max-width:1050px){.v2-navigation{gap:22px}.v2-navigation a{font-size:14px}.navbar-right{padding-left:12px}.mdesign-logo{width:132px}.v2-contact-link{padding-inline:20px;font-size:16px}.about-v1-heading-wrap h3{font-size:34px}}
@media(max-width:767px){
 .navbar-wrapper{min-height:70px}.navbar-right{gap:8px}.v2-menu-toggle{display:block}.v2-contact-link{min-height:46px;padding:12px 14px;font-size:13px}.v2-contact-link span{display:none}
 .v2-navigation{display:none;position:absolute;top:70px;left:0;right:0;padding:25px;background:#101013;border-bottom:1px solid #333;flex-direction:column;align-items:flex-start;gap:24px;z-index:30}
 .v2-navigation.is-open{display:flex}.v2-navigation a{font-size:20px}
 .hero-v1{height:auto;min-height:100vh;min-height:100svh}.hero-v1-wrap{height:auto;min-height:100vh;min-height:100svh}.hero-v1 .container.hv1{display:flex;flex:1;height:auto}.hero-v1-main{flex:1;width:100%;padding-top:42px;padding-bottom:64px;gap:38px;height:auto}
 .hero-v1-top-wrap{display:flex}.hero-v1-top-wrap>.h6{display:none}.hero-v1-left{max-width:100%}.hero-v1-subtitle-wrap .paragraph-m-02{font-size:15px}
 .hero-heading-wrap h1{font-size:clamp(47px,8.5vw,68px);letter-spacing:-.045em}.hero-v1-content-wrap{gap:32px}.hero-v1-hide{display:none}
 .hero-v1-brands{padding-block:24px}.brand-logo{width:112px;height:38px;margin-right:55px}
 #v2-motion{bottom:112px;right:20px;width:36px;height:36px}
 .about-v1-heading-wrap h3{font-size:28px;letter-spacing:-.8px}.about-v1-image-wrap{min-height:360px}
 .work-v4-item.sticky{position:static}.work-v2-image-wrap.medium.project-stage{padding:58px 20px 32px;border-radius:12px}.project-stage-label{top:20px;left:20px;right:20px;font-size:9px}.project-visit{font-size:10px}.project-browser-bar{height:23px;padding-inline:8px;gap:6px}.project-browser-domain{font-size:8px}.project-browser{border-radius:6px;transform:none}.work-v4-list{row-gap:32px}
 .services-v1-title{font-size:clamp(38px,8.5vw,62px)}.services-v1-arrow{width:48px}.services-list:hover{padding-inline:10px}
 .testimonial-v1-slide{height:530px}.testimonial-v1-details{font-size:22px}.testimonial-v1-content-wrap,.testimonial-v1-author-wrap{padding:28px}
 .v2-faq summary .h6{font-size:19px}.v2-faq p{font-size:16px;margin-right:10px}
 .footer-logo.mdesign-logo{width:190px}.footer-menu-wrap{flex-wrap:wrap}.footer-column{flex:1 1 130px}.v2-article{padding:48px 24px 28px}.v2-article h3{font-size:28px}
}
@media(prefers-reduced-motion:reduce){html,.testimonial-v1-mask{scroll-behavior:auto}.brand-marquee{animation:none}.hero-heading-wrap,.hero-v1-top-wrap{animation:none}.md-reveal{transition:none}.motion-ready .md-reveal:not(.md-visible){opacity:1;transform:none;filter:none}*,*:before,*:after{transition-duration:0s!important}.hero-v1-brands{overflow-x:auto}.brand-list[aria-hidden]{display:none}}

/* Focus the training-page panel on the curriculum, trimming blank margins. */
.training-preview{position:relative;aspect-ratio:2000/2259}
.training-preview img{position:absolute;width:180%;max-width:none;max-height:none;height:auto;left:-40%;top:-40%}
.studio-word-reveal .studio-word{color:#616166;transition:color .3s linear}
.studio-word-reveal .studio-word.is-lit{color:#fff}
@media(prefers-reduced-motion:reduce){.studio-word-reveal .studio-word{color:#fff;transition:none}}
.upwork-credential{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:22px}
.upwork-credential img{width:104px;height:28px;object-fit:contain;filter:brightness(0) invert(1)}
.upwork-credential span{font-size:12px;line-height:1.3;letter-spacing:.04em;color:#fff;border:1px solid #ffffff32;padding:7px 11px;border-radius:20px}
.review-initials{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:#29292e;color:#fff;font-size:17px;font-weight:500;letter-spacing:.04em;border:1px solid #ffffff12}
.mdesign-review .testimonial-v1-content-wrap{padding-top:40px}
.mdesign-review .testimonial-v1-details{font-size:24px;line-height:1.4}
.review-draft,.review-source{display:block;margin-bottom:20px;font-size:11px;line-height:1.5;letter-spacing:.03em;color:#a5a5ad}
.review-draft{color:#dbc197}
.mdesign-review .testimonial-v1-author-info{min-width:0}
.mdesign-review .author-name{font-size:21px;line-height:1.2}
.review-portrait{display:block;flex:0 0 56px;width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:55% 30%;border:1px solid #ffffff20}
@media(max-width:767px){.review-portrait{flex-basis:44px;width:44px;height:44px}}
@media(max-width:767px){.mdesign-review .testimonial-v1-details{font-size:21px}.mdesign-review .testimonial-v1-content-wrap{padding-top:26px}.mdesign-review .author-name{font-size:19px}.review-initials{flex-basis:44px;width:44px;height:44px;font-size:14px}.review-draft,.review-source{font-size:10px;margin-bottom:14px}.upwork-credential{margin-bottom:16px}}
/* Let the tallest review set the row height; author details must never shrink. */
.testimonial-v1-mask{height:auto;align-items:stretch}
.testimonial-v1-slide-wrapper{display:flex;height:auto;align-items:stretch}
.testimonial-v1-slide.mdesign-review{height:auto;min-height:570px;width:100%;overflow:hidden}
.mdesign-review .testimonial-v1-content-wrap{flex:1 0 auto;padding:40px}
.mdesign-review .testimonial-v1-details{margin-top:120px}
.mdesign-review .testimonial-v1-author-wrap{flex:0 0 auto;padding:32px 40px}
.mdesign-review .author-name,.mdesign-review .author-tagline{overflow-wrap:anywhere}
@media(max-width:767px){
 .testimonial-v1-slide.mdesign-review{min-height:530px}
 .mdesign-review .testimonial-v1-content-wrap{padding:26px 28px 28px}
 .mdesign-review .testimonial-v1-details{margin-top:60px}
 .mdesign-review .testimonial-v1-author-wrap{padding:28px}
}
