/* MK Vision clean integration: site-1 remains the only visual/layout base. */
@view-transition { navigation: auto; }
::view-transition-old(root),::view-transition-new(root){animation:none!important}
::view-transition-group(root){z-index:auto!important}
::view-transition-image-pair(root){isolation:isolate;will-change:transform,opacity,clip-path;z-index:1}
::view-transition-new(root){z-index:10000;border-radius:4rem;overflow:hidden;will-change:transform,border-radius}
::view-transition-old(root){z-index:1;will-change:transform,filter}

/* Template-2 loader, homepage only. */
.loader-wrapper{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;overflow:hidden;user-select:none;background:#0c1016}
.loader-wrapper .logo-wrapper{display:flex;align-items:center;justify-content:center;width:6rem;will-change:width}
@media(min-width:1024px){.loader-wrapper .logo-wrapper{width:11rem}}
.loader-wrapper .logo-svg{display:block;width:100%;height:auto;opacity:0;transform:scale(.75) rotate(120deg);will-change:transform,opacity;filter:brightness(0) invert(1)}
html.mkv-loader-lock,html.mkv-loader-lock body{overflow:hidden!important}
html.mkv-skip-intro .loader-wrapper{display:none!important}
/* Disable the old home loader only; this build uses the imported loader. */
body .preloader-root{display:none!important}

/* Never let old reveal generations permanently hide content. The T2 reveal
   file animates split lines/children, while the original section markup stays visible. */
html.mkv-t2-reveals-ready main .reveal-item,
html.mkv-t2-reveals-ready main [data-mk-reveal],
html.mkv-t2-reveals-ready main [data-reveal],
html.mkv-t2-reveals-ready main .mk-reveal-section{
  visibility:visible!important;
}
.mkv-t2-line,.mkv-t2-copy-line{will-change:transform,opacity}

/* User requested larger heading for the reviews/testimonials block. */
.mk-testim__title,.testimonials__title{font-size:clamp(72px,10.5vw,184px)!important}
@media(max-width:812px){.mk-testim__title,.testimonials__title{font-size:clamp(48px,12.5vw,82px)!important}}

/* Contact modal: native site-1 modal shell, template-2 flow, no utility-CSS leakage. */
.cmodal__panel--mkf{
  width:min(1120px,calc(100vw - 48px))!important;
  max-width:1120px!important;
  height:min(760px,calc(100vh - 72px))!important;
  max-height:calc(100vh - 72px)!important;
  padding:0!important;border-radius:30px!important;background:#fff!important;
  overflow:hidden!important;border:1px solid rgba(12,16,22,.08)!important;
  box-shadow:0 40px 120px rgba(12,16,22,.22)!important;
}
.cmodal .mkv-modal-wizard{position:relative;width:100%;height:100%;min-height:0;padding:clamp(64px,7vh,92px) clamp(28px,5vw,76px) clamp(74px,8vh,96px);font-family:Aeonik,Arial,sans-serif;color:#1a1a1a;overflow:auto;overscroll-behavior:contain;background:#fff}
.cmodal .mkv-cstep{display:none!important;min-height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.cmodal .mkv-cstep.is-active{display:flex!important}
.cmodal .mkv-cstep>[data-cstep-text]{margin:0!important;width:min(100%,880px)!important;font-family:Aeonik,Arial,sans-serif!important;font-size:clamp(34px,4.2vw,68px)!important;font-weight:500!important;letter-spacing:-.06em!important;line-height:.95!important;color:#1a1a1a!important;text-align:center!important}
.cmodal .mkv-cstep>span:not(.mkv-ccontinue__icon){display:block;margin:0 0 22px;font-family:IBMPlexMono,MKVMono,monospace;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#69727a}
.cmodal .mkv-cpanel{width:min(100%,900px)!important;margin-top:clamp(30px,5vh,58px)!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:12px!important;opacity:1!important;transform:none!important}
.cmodal .mkv-cstep:not(.is-active) .mkv-cpanel{display:none!important}
.cmodal .mkv-cstep[data-cstep="form"] .mkv-cpanel,.cmodal .mkv-cstep[data-cstep="hi"] .mkv-cpanel{width:min(100%,920px)!important}
.cmodal .mkv-copt,.cmodal [data-ccontinue]{appearance:none!important;border:0!important;border-radius:999px!important;min-height:54px!important;padding:14px 28px!important;background:#333841!important;color:#f0f6f8!important;font-family:Aeonik,Arial,sans-serif!important;font-size:clamp(15px,1.25vw,20px)!important;font-weight:500!important;letter-spacing:-.035em!important;line-height:1.1!important;text-decoration:none!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;transition:transform .35s cubic-bezier(.22,.68,0,1.25),background-color .25s ease,color .25s ease!important}
.cmodal .mkv-copt:hover,.cmodal .mkv-copt.is-selected,.cmodal [data-ccontinue]:hover{background:#fc5b34!important;color:#fff!important;transform:scale(1.04)!important}
.cmodal [data-ccontinue]{margin-top:28px!important;padding:6px 7px 6px 30px!important;background:#1e242c!important}
/* Critical icon containment: prevents the 271x226 arrow SVG from becoming a full-panel graphic. */
.cmodal [data-ccontinue] > span:last-child{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;flex:0 0 44px!important;border-radius:50%!important;display:grid!important;place-items:center!important;overflow:hidden!important}
.cmodal [data-ccontinue] > span:last-child > span{position:absolute!important;width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;display:block!important}
.cmodal [data-ccontinue] svg,.cmodal .cmodal__close svg{display:block!important;width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}
.cmodal .cmodal__close svg{width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important}
.cmodal .mkv-price{width:min(100%,720px);display:flex;flex-direction:column;gap:18px}
.cmodal .mkv-price output{display:block;font-size:clamp(48px,6vw,82px);line-height:1;font-weight:500;letter-spacing:-.065em;color:#1a1a1a}
.cmodal .mkv-price input[type="range"]{width:100%;accent-color:#fc5b34}
.cmodal .mkv-price>div{display:flex;justify-content:space-between;font-family:IBMPlexMono,MKVMono,monospace;font-size:12px;color:#69727a;width:100%}
.cmodal form[data-ajax]{width:100%;display:flex;flex-direction:column;gap:16px;align-items:center}
.cmodal .mkv-form-shell{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}
.cmodal .mkv-field{min-width:0}.cmodal .mkv-field--full{grid-column:1/-1}
.cmodal .mkv-field input,.cmodal .mkv-field textarea,.cmodal .mkv-field select{width:100%!important;min-height:62px!important;border:0!important;border-radius:16px!important;background:#f1f1f3!important;padding:16px 20px!important;color:#1a1a1a!important;font:500 17px/1.35 Aeonik,Arial,sans-serif!important;outline:none!important;box-shadow:none!important}
.cmodal .mkv-field textarea{min-height:132px!important;resize:vertical}.cmodal .mkv-field input::placeholder,.cmodal .mkv-field textarea::placeholder{color:#69727a!important;opacity:1!important}
.cmodal .mkv-field input:focus,.cmodal .mkv-field textarea:focus,.cmodal .mkv-field select:focus{background:#e7f5fd!important;box-shadow:0 0 0 2px #fc5b34!important}
.cmodal .mkv-form-status{min-height:1.4em;margin:0;text-align:center;font-size:15px;font-weight:500}.cmodal .mkv-form-status.is-error{color:#b42318}.cmodal .mkv-form-status.is-ok{color:#16794b}
.cmodal .mkv-cerror{position:absolute;left:50%;top:24px;transform:translateX(-50%);margin:0;color:#b42318;font-size:14px;opacity:0;pointer-events:none}.cmodal .mkv-cerror.is-visible{opacity:1}
.cmodal .mkv-cback{position:absolute;left:clamp(28px,4vw,58px);bottom:clamp(24px,3vw,40px);appearance:none;border:0;background:transparent;padding:8px 0;color:#69727a;font:500 15px/1 Aeonik,Arial,sans-serif;cursor:pointer;z-index:20}.cmodal .mkv-cback:hover{color:#fc5b34}
.cmodal input[name="website_url"]{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
@media(max-width:720px){.cmodal__panel--mkf{width:calc(100vw - 20px)!important;height:calc(100vh - 28px)!important;max-height:calc(100vh - 28px)!important;border-radius:22px!important}.cmodal .mkv-modal-wizard{padding:70px 18px 72px}.cmodal .mkv-cstep>[data-cstep-text]{font-size:clamp(30px,9vw,44px)!important}.cmodal .mkv-cpanel{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:30px!important}.cmodal .mkv-copt{width:100%!important;min-height:50px!important;padding:13px 18px!important}.cmodal .mkv-form-shell{grid-template-columns:1fr!important}.cmodal .mkv-field--full{grid-column:auto}.cmodal .mkv-cback{left:20px;bottom:20px}}
.cmodal .mkv-ccontinue__label{display:block!important;padding:0 10px 0 2px!important;color:#f0f6f8!important;font-size:15px!important;font-weight:500!important;line-height:1!important;text-transform:uppercase!important;white-space:nowrap!important}
.cmodal .mkv-ccontinue__icon{position:relative!important;width:44px!important;height:44px!important;min-width:44px!important;flex:0 0 44px!important;border-radius:50%!important;background:#0c1016!important;color:#f0f6f8!important;display:grid!important;place-items:center!important;font:400 24px/1 Aeonik,Arial,sans-serif!important;overflow:hidden!important;transform:none!important}


/* v7 — modal shell is self-contained; no legacy utility-CSS dimensions leak in. */
.cmodal{
  position:fixed!important;inset:0!important;z-index:1000000!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:24px!important;opacity:0!important;visibility:hidden!important;
  pointer-events:none!important;transition:opacity .28s ease,visibility 0s linear .28s!important;
}
.cmodal.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition:opacity .28s ease!important}
.cmodal__backdrop{position:absolute!important;inset:0!important;background:rgba(12,16,22,.58)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
.cmodal__panel--mkf{position:relative!important;z-index:2!important;display:flex!important;flex-direction:column!important}
.cmodal .cmodal__close{
  appearance:none!important;position:absolute!important;right:18px!important;top:18px!important;z-index:100!important;
  width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:999px!important;
  background:#1e242c!important;color:#f0f6f8!important;display:grid!important;place-items:center!important;
  cursor:pointer!important;transition:transform .3s cubic-bezier(.22,.68,0,1.3),background-color .25s ease!important;
}
.cmodal .cmodal__close:hover{background:#fc5b34!important;transform:scale(1.06)!important}
/* Form typography/spacing follows template 2; only MK Vision site-1 accent colours differ. */
.cmodal .mkv-cstep>[data-cstep-text]{font-size:clamp(30px,3.35vw,56px)!important;line-height:1!important;font-weight:600!important;letter-spacing:-.045em!important;width:min(100%,850px)!important}
.cmodal .mkv-cpanel{margin-top:clamp(26px,4.5vh,48px)!important;gap:16px!important}
.cmodal .mkv-copt{padding:14px 30px!important;min-height:52px!important;font-size:clamp(15px,1.05vw,18px)!important;background:#333841!important}
.cmodal .mkv-copt:hover,.cmodal .mkv-copt.is-selected{background:#fc5b34!important}
.cmodal .mkv-form-shell{width:min(100%,760px)!important;margin-inline:auto!important;gap:16px!important}
.cmodal .mkv-field input,.cmodal .mkv-field textarea,.cmodal .mkv-field select{background:#e9edef!important;border-radius:16px!important}
.cmodal .mkv-field input:hover,.cmodal .mkv-field textarea:hover,.cmodal .mkv-field select:hover{background:#e7f5fd!important}
@media(max-width:720px){
  .cmodal{padding:10px!important}
  .cmodal .cmodal__close{right:14px!important;top:14px!important;width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important}
  .cmodal .mkv-cstep>[data-cstep-text]{font-size:clamp(28px,8.2vw,42px)!important}
}
/* Brand mapping of template-2's soft-grey contact surface to site-1 palette. */
.cmodal__panel--mkf,.cmodal .mkv-modal-wizard{background:#e7f5fd!important}
.cmodal .mkv-field input,.cmodal .mkv-field textarea,.cmodal .mkv-field select{background:rgba(255,255,255,.86)!important}
.cmodal .mkv-field input:hover,.cmodal .mkv-field textarea:hover,.cmodal .mkv-field select:hover{background:#fff!important}

/* ========================================================================== */
/* v8 — project cases: preserve template-2 spacing inside the site-1 shell.   */
/* ========================================================================== */
html.mkv-project-page{font-size:16px!important}
body.mkv-project-theme main.project-case{width:100%!important;max-width:none!important;margin:0!important}
body.mkv-project-theme .project-hero{padding:7rem 1rem 0!important}
body.mkv-project-theme .project-gallery,
body.mkv-project-theme .project-secondary,
body.mkv-project-theme .project-content-section{padding-left:1rem!important;padding-right:1rem!important}
body.mkv-project-theme .project-gallery{margin-top:4rem!important}
body.mkv-project-theme .project-content-section{margin-top:3.5rem!important}
body.mkv-project-theme .mkv-breakout>div:first-child{padding-left:1rem!important;padding-right:1rem!important}

/* View-site pill from the case template. Explicit dimensions prevent the
   site-1 global button/icon rules from stretching the arrow or text. */
body.mkv-project-theme .view-website-link{
  position:fixed!important;left:1rem!important;bottom:1.5rem!important;z-index:995!important;
  width:auto!important;height:auto!important;margin:0!important;padding:0!important;
}
body.mkv-project-theme .case-view-link{
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
  width:auto!important;height:2.625rem!important;min-height:2.625rem!important;max-width:calc(100vw - 2rem)!important;
  padding:.3rem!important;margin:0!important;border:0!important;border-radius:999px!important;
  background:#d9e0e3!important;color:#0c1016!important;text-decoration:none!important;
  overflow:hidden!important;box-sizing:border-box!important;white-space:nowrap!important;
  transform-origin:left center!important;
}
body.mkv-project-theme .case-view-link>span:first-child{
  display:block!important;width:auto!important;height:auto!important;min-width:0!important;
  padding:0 1rem 0 1.25rem!important;margin:0!important;color:#0c1016!important;
  font-family:Aeonik,Arial,sans-serif!important;font-size:.75rem!important;font-weight:500!important;
  line-height:1!important;letter-spacing:-.02em!important;text-transform:uppercase!important;white-space:nowrap!important;
}
body.mkv-project-theme .case-view-link>span:last-child{
  position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 2rem!important;width:2rem!important;height:2rem!important;min-width:2rem!important;min-height:2rem!important;
  max-width:2rem!important;max-height:2rem!important;padding:0!important;margin:0!important;border-radius:50%!important;
  overflow:hidden!important;background:#f0f6f8!important;
}
body.mkv-project-theme .case-view-link>span:last-child>span{
  display:block!important;width:.72rem!important;height:.72rem!important;max-width:.72rem!important;max-height:.72rem!important;
}
body.mkv-project-theme .case-view-link svg{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important}

/* If WebGL is unavailable, keep the exact original project cards usable by
   falling back to their DOM thumbnails. When WebGL is active, its canvas still
   owns the media exactly as in site 1. */
html.mk-substance-ready:not(.mk-gl-media) #home-featured .project-grid__image{
  opacity:1!important;visibility:visible!important;
}

@media(min-width:768px){
  body.mkv-project-theme .project-gallery,
  body.mkv-project-theme .project-secondary,
  body.mkv-project-theme .project-content-section{padding-left:2rem!important;padding-right:2rem!important}
  body.mkv-project-theme .mkv-breakout>div:first-child{padding-left:2rem!important;padding-right:2rem!important}
}
@media(min-width:1024px){
  body.mkv-project-theme .project-hero{padding:9rem 3rem 5rem!important}
  body.mkv-project-theme .project-gallery,
  body.mkv-project-theme .project-secondary,
  body.mkv-project-theme .project-content-section{padding-left:3rem!important;padding-right:3rem!important}
  body.mkv-project-theme .project-gallery{margin-top:8rem!important}
  body.mkv-project-theme .project-content-section{margin-top:8rem!important}
  body.mkv-project-theme .project-secondary{padding-top:5rem!important}
  body.mkv-project-theme .mkv-breakout>div:first-child{padding-left:3rem!important;padding-right:3rem!important}
  body.mkv-project-theme .view-website-link{left:3rem!important;bottom:2.5rem!important}
  body.mkv-project-theme .case-view-link{height:3.625rem!important;min-height:3.625rem!important}
  body.mkv-project-theme .case-view-link>span:first-child{padding:0 1.5rem 0 2rem!important;font-size:1.125rem!important}
  body.mkv-project-theme .case-view-link>span:last-child{flex-basis:3rem!important;width:3rem!important;height:3rem!important;min-width:3rem!important;min-height:3rem!important;max-width:3rem!important;max-height:3rem!important}
  body.mkv-project-theme .case-view-link>span:last-child>span{width:1rem!important;height:1rem!important;max-width:1rem!important;max-height:1rem!important}
}
@media(min-width:1280px){
  body.mkv-project-theme .project-gallery,
  body.mkv-project-theme .project-secondary,
  body.mkv-project-theme .project-content-section{padding-left:5rem!important;padding-right:5rem!important}
  body.mkv-project-theme .mkv-breakout>div:first-child{padding-left:5rem!important;padding-right:5rem!important}
}
