/*
Theme Name: Inspiro Child
Template: inspiro
Version: 1.0
*/

/* ===== Multi-page CSS below. Scope per page with body classes, e.g. .page-id-12 { } ===== */

/*Homepage CSS Start*/
/* ===== MONTREAL — Homepage "Editorial" (same system as page 129: royal / electric blue) ===== */

/* ---------- site-wide tokens + fonts (every page) ---------- */
:root{
  --brand:#1d4ed8; --brand-2:#2f6bff; --brand-3:#7cc4ff;
  --ink:#0b1437; --glow:29,78,216; --glow2:47,107,255; --shadow:15,23,60;
  --line:#dbe3f5; --cream:#f4f7ff; --card:#ffffff;
  --font-head:'Space Grotesk',sans-serif; --font-body:'Manrope',sans-serif;
}
html,body{overflow-x:hidden;}
body{background:var(--cream)!important;}
.elementor-kit-5{
  --e-global-typography-primary-font-family:"Space Grotesk"!important;
  --e-global-typography-secondary-font-family:"Manrope"!important;
  --e-global-typography-text-font-family:"Manrope"!important;
  --e-global-typography-accent-font-family:"Manrope"!important;
}
body,button,input,select,textarea{font-family:'Manrope',sans-serif!important;}
h1,h2,h3,h4,h5,h6,.elementor-heading-title{font-family:'Space Grotesk',sans-serif!important;letter-spacing:-0.02em;}

/* ---------- homepage scope ---------- */
body.home{
  --m-brand:#1d4ed8; --m-brand-2:#2f6bff; --m-brand-3:#7cc4ff;
  --m-ink:#0b1437; --m-muted:#4a5a80; --m-line:#dbe3f5; --m-paper:#f4f7ff; --m-card:#ffffff;
  --m-glow:47,107,255; --m-block:var(--m-brand);
  --m-ease:cubic-bezier(.19,1,.22,1);
  background:#fff!important;
}
/* light hero → solid header */
body.home .site-header.headroom--top .navbar{background:rgba(11,20,55,.97)!important;}
/* sticky columns need clip (not hidden) on html/body — "hidden" silently disables position:sticky */
html:has(body.home),body.home{overflow-x:clip!important;}

/* ---------- base ---------- */
.elementor-12{counter-reset:mhsec;}
.elementor-12 .elementor-heading-title{font-family:'Space Grotesk',sans-serif!important;color:var(--m-ink)!important;letter-spacing:-0.035em;}
.elementor-12 p,.elementor-12 li{font-family:'Manrope',sans-serif!important;color:var(--m-muted);font-size:17px;line-height:1.8;}
.elementor-12 .elementor-widget__width-initial{width:100%!important;max-width:100%!important;--container-widget-width:100%!important;}
.elementor-12 .elementor-widget-text-editor a{
  color:var(--m-brand);font-weight:600;text-decoration:underline;text-decoration-color:var(--m-brand-3);
  text-decoration-thickness:1px;text-underline-offset:4px;transition:color .2s ease,text-decoration-thickness .2s ease;
}
.elementor-12 .elementor-widget-text-editor a:hover{color:var(--m-brand-2);text-decoration-thickness:2px;}
/* drop caps on the lead paragraphs */
.elementor-12 .elementor-element-e3a8790 p:first-child::first-letter,
.elementor-12 .elementor-element-69e9ceb h3::first-letter,
.elementor-12 .elementor-element-46f10d9 p:first-child::first-letter{
  float:left;margin:6px 14px 0 0;font:700 76px/.82 'Space Grotesk',sans-serif;color:var(--m-brand);
}

/* ---------- buttons: ink pill, blue fills up from the bottom ---------- */
.elementor-12 .elementor-button{
  position:relative;overflow:hidden;isolation:isolate;display:inline-flex!important;align-items:center;
  padding:18px 34px!important;border-radius:999px!important;border:2px solid var(--m-ink)!important;box-shadow:none!important;
  background:var(--m-ink)!important;color:#fff!important;font:700 16px/1 'Manrope',sans-serif!important;text-decoration:none!important;
  transition:border-color .35s ease,color .35s ease;
}
.elementor-12 .elementor-button::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--m-brand);transform:translateY(101%);transition:transform .45s var(--m-ease);
}
.elementor-12 .elementor-button .elementor-button-text{color:inherit!important;}
.elementor-12 .elementor-button .elementor-button-text::after{content:"\2197";display:inline-block;margin-left:10px;transition:transform .35s ease;}
.elementor-12 .elementor-button:hover{border-color:var(--m-brand)!important;}
.elementor-12 .elementor-button:hover::before{transform:none;}
.elementor-12 .elementor-button:hover .elementor-button-text::after{transform:translate(3px,-3px);}

/* ---------- section rhythm + backgrounds ---------- */
.elementor-12 > .e-con.e-parent:not(.elementor-element-914b88c):not(.elementor-element-3c09c6b){
  padding-top:130px!important;padding-bottom:110px!important;min-height:0!important;--min-height:0px!important;
}
.elementor-12 > .e-con.e-parent > .e-con-inner{min-height:0!important;}
.elementor-12 .elementor-element.elementor-element-c093a84{background:#fff!important;background-image:none!important;}
.elementor-12 .elementor-element.elementor-element-48ef507{background:var(--m-paper)!important;background-image:none!important;}
.elementor-12 .elementor-element.elementor-element-5f6a067{background:#fff!important;background-image:none!important;}
.elementor-12 .elementor-element.elementor-element-9b86bca{background:linear-gradient(180deg,#eef3ff 0%,#f8faff 100%)!important;}
.elementor-12 .elementor-element.elementor-element-b88340c{background:#fff!important;background-image:none!important;}
.elementor-12 .elementor-element.elementor-element-4931854{background:var(--m-paper)!important;background-image:none!important;}
.elementor-12 .elementor-element.elementor-element-4259d2b{background:#fff!important;background-image:none!important;}
.elementor-12 .elementor-element.elementor-element-7468012{background:var(--m-paper)!important;background-image:none!important;}
.elementor-12 .elementor-element.elementor-element-4931854::before,
.elementor-12 .elementor-element.elementor-element-4259d2b::before,
.elementor-12 .elementor-element.elementor-element-4a4497d::before{display:none!important;}
.elementor-12 .elementor-element.elementor-element-4a4497d{background:none!important;background-image:none!important;}

/* ---------- section rule + "Nº 01" label (JS adds .mh-sec) ---------- */
.elementor-12 > .e-con.mh-sec{counter-increment:mhsec;}
.elementor-12 > .e-con.mh-sec > .e-con-inner{position:relative;}
.elementor-12 > .e-con.mh-sec > .e-con-inner::before{
  content:"";position:absolute;left:0;right:0;top:-52px;height:1px;background:var(--m-line);
  transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--m-ease);
}
.elementor-12 > .e-con.mh-sec > .e-con-inner::after{
  content:"N\00BA  " counter(mhsec,decimal-leading-zero);position:absolute;right:0;top:-78px;
  font:600 12px/1 'Manrope',sans-serif;letter-spacing:.2em;color:var(--m-muted);
  opacity:0;transform:translateY(6px);transition:opacity .8s ease .4s,transform .8s var(--m-ease) .4s;
}
.elementor-12 > .e-con.mh-sec.mh-in > .e-con-inner::before{transform:scaleX(1);}
.elementor-12 > .e-con.mh-sec.mh-in > .e-con-inner::after{opacity:1;transform:none;}

/* ---------- headings ---------- */
.elementor-12 > .e-con.e-parent:not(.elementor-element-914b88c) > .e-con-inner > .elementor-widget-heading .elementor-heading-title,
.elementor-12 .mh-aside .elementor-heading-title{font-size:clamp(34px,4vw,56px)!important;font-weight:700!important;line-height:1.08!important;}
.elementor-12 .mh-aside .elementor-heading-title{font-size:clamp(30px,3vw,44px)!important;line-height:1.1!important;}
/* BLOCK-WIPE reveal */
.elementor-12 .mh-head .elementor-heading-title{position:relative;display:inline-block;}
.elementor-12 .mh-head .elementor-heading-title::after{
  content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px;background:var(--m-block);
  transform:scaleX(0);transform-origin:left;pointer-events:none;
}
html.mh-ready .elementor-12 .mh-head:not(.mh-in) .elementor-heading-title{-webkit-text-fill-color:transparent;}
html.mh-ready .elementor-12 .mh-head:not(.mh-in) .mh-accent{visibility:hidden;}
.elementor-12 .mh-head.mh-in .elementor-heading-title{animation:mhText 1.1s linear var(--d,0ms) both;}
.elementor-12 .mh-head.mh-in .elementor-heading-title::after{animation:mhBlock 1.1s var(--m-ease) var(--d,0ms) both;}
.elementor-12 .mh-head.mh-in .mh-accent{animation:mhShow 1.1s linear var(--d,0ms) both;}
@keyframes mhBlock{
  0%{transform:scaleX(0);transform-origin:left}
  45%{transform:scaleX(1);transform-origin:left}
  55%{transform:scaleX(1);transform-origin:right}
  100%{transform:scaleX(0);transform-origin:right}
}
@keyframes mhText{0%,49%{-webkit-text-fill-color:transparent}50%,100%{-webkit-text-fill-color:currentColor}}
@keyframes mhShow{0%,49%{opacity:0}50%,100%{opacity:1}}

/* ---------- editorial grid: sticky heading left, content right (JS builds .mh-aside) ---------- */
.elementor-12 .elementor-element-48ef507 > .e-con-inner,
.elementor-12 .elementor-element-b88340c > .e-con-inner,
.elementor-12 .elementor-element-4931854 > .e-con-inner{
  display:grid!important;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px 80px;align-items:start;
}
.elementor-12 .mh-aside{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;gap:22px;min-width:0;}
.elementor-12 .mh-aside .elementor-widget-text-editor p{margin:0;}
/* Elementor's own justify/centre alignment → plain left alignment in the editorial grids */
.elementor-12 .elementor-element-48ef507 > .e-con-inner :is(.elementor-widget,.elementor-heading-title,h1,h2,h3,h4,p),
.elementor-12 .elementor-element-b88340c > .e-con-inner :is(.elementor-widget,.elementor-heading-title,h1,h2,h3,h4,p),
.elementor-12 .elementor-element-4931854 > .e-con-inner :is(.elementor-widget,.elementor-heading-title,h1,h2,h3,h4,p){
  text-align:left!important;text-align-last:auto!important;word-spacing:normal!important;
}

/* ================= HERO (914b88c) — light editorial over your hero photo ================= */
.elementor-12 .elementor-element.elementor-element-914b88c{
  position:relative;isolation:isolate;overflow:hidden;min-height:88vh!important;
  display:flex!important;align-items:center;padding:170px 24px 56px!important;
  background-color:var(--m-paper)!important;background-size:cover!important;background-position:center center!important;
}
/* the photo has black bars baked into its sides: zoom in on the centre so they fall outside the hero.
   Raise --hero-zoom if a bar still peeks in, lower it to show more of the photo. */
@media (min-width:901px){
  .elementor-12 .elementor-element.elementor-element-914b88c{--hero-zoom:160%;background-size:var(--hero-zoom) auto!important;}
}
.elementor-12 .elementor-element.elementor-element-914b88c::before{display:none!important;}
.elementor-12 .elementor-element.elementor-element-914b88c::after{
  content:""!important;position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
  width:auto!important;height:auto!important;z-index:1!important;pointer-events:none;border-radius:0!important;opacity:1!important;mix-blend-mode:normal!important;
  /* solid behind the headline, clearing quickly so the photo reads on the right */
  background-image:
    radial-gradient(rgba(29,78,216,.16) 1.2px,transparent 1.7px),
    linear-gradient(90deg,rgba(244,247,255,1) 0%,rgba(244,247,255,.94) 32%,rgba(244,247,255,.55) 48%,rgba(244,247,255,.08) 66%,rgba(244,247,255,0) 100%)!important;
  background-size:22px 22px,auto!important;background-color:transparent!important;
  /* the whole wash (dots included) fades out so the photo shows clearly on the right */
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 42%,transparent 70%);mask-image:linear-gradient(90deg,#000 0%,#000 42%,transparent 70%);
}
.elementor-12 .elementor-element.elementor-element-914b88c > .e-con-inner{
  position:relative;z-index:2;display:grid!important;width:100%;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:32px 72px;align-items:end;
  min-height:0!important;height:auto!important;padding-bottom:0!important;
}
/* rotating dashed ring */
.elementor-12 .elementor-element-914b88c > .e-con-inner::before{
  content:"";position:absolute;right:-140px;top:-190px;width:540px;height:540px;border-radius:50%;
  border:1.5px dashed rgba(var(--m-glow),.35);z-index:-1;pointer-events:none;animation:mhSpin 70s linear infinite;
}
@keyframes mhSpin{to{transform:rotate(1turn)}}
.elementor-12 .elementor-element-d3d7175{grid-column:1;grid-row:1;text-align:left!important;}
.elementor-12 .elementor-element-d3d7175 .elementor-heading-title{
  font-size:clamp(40px,5.4vw,78px)!important;font-weight:700!important;line-height:1.02!important;letter-spacing:-0.045em;text-align:left!important;
}
.elementor-12 .mh-accent{
  position:relative;display:inline-block;
  background:linear-gradient(90deg,var(--m-brand),var(--m-brand-2) 60%,#5aa8ff);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.elementor-12 .mh-accent::after{
  content:"";position:absolute;left:0;right:0;bottom:.04em;height:.1em;border-radius:4px;background:var(--m-brand-3);opacity:.55;
  transform:scaleX(0);transform-origin:left;transition:transform 1s var(--m-ease) 1.2s;
}
.elementor-12 .mh-head.mh-in .mh-accent::after{transform:scaleX(1);}
.elementor-12 .elementor-element-94a541b{grid-column:1;grid-row:2;justify-self:start;}
/* intro text → blue card that flips in */
.elementor-12 .elementor-element.elementor-element-c3c5b53{
  grid-column:2;grid-row:1 / span 2;align-self:end;width:100%!important;
  padding:36px 34px 32px!important;border-radius:8px;
  background:linear-gradient(150deg,var(--m-brand) 0%,var(--m-brand-2) 100%)!important;
  box-shadow:0 34px 70px rgba(29,78,216,.35);
}
.elementor-12 .elementor-element-c3c5b53 p{margin:0;color:rgba(255,255,255,.9)!important;font-size:18px;line-height:1.7;}
.elementor-12 .elementor-element-c3c5b53 p::before{
  content:"";display:block;width:36px;height:3px;margin-bottom:20px;background:rgba(255,255,255,.7);border-radius:2px;
}
html.mh-ready .elementor-12 .mh-flip{
  opacity:0;transform:perspective(900px) rotateY(-28deg) translateX(40px);transform-origin:right center;
  transition:opacity .9s ease,transform 1.2s var(--m-ease);transition-delay:var(--d,0ms);
}
html.mh-ready .elementor-12 .mh-flip.mh-in{opacity:1;transform:none;}
/* ticker → editorial rule strip */
.elementor-12 .elementor-element-f0f5efb{grid-column:1 / -1;grid-row:3;margin-top:70px!important;width:100%!important;}
.elementor-12 .elementor-element-f0f5efb .ids-marquee{
  background:rgba(255,255,255,.7);border-top:1px solid var(--m-line);border-bottom:1px solid var(--m-line);padding:16px 0!important;
}
.elementor-12 .elementor-element-f0f5efb .ids-marquee__item{
  color:var(--m-ink)!important;font:600 13px/1.6 'Manrope',sans-serif!important;letter-spacing:.14em;text-transform:uppercase;
}
.elementor-12 .elementor-element-f0f5efb .ids-marquee__item::before{content:"N\00BA";margin-right:16px;color:var(--m-brand);font-weight:700;}

/* ================= IMAGES (JS wraps each in .mh-frame) ================= */
.elementor-12 .elementor-widget-image{width:100%!important;}
.elementor-12 .mh-frame{position:relative;display:block;overflow:hidden;border-radius:6px;aspect-ratio:16 / 10;}
.elementor-12 .mh-frame img{
  display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;border-radius:0!important;
  transform:scale(var(--z,1.06));filter:saturate(.8);transition:filter .6s ease;will-change:transform;
}
.elementor-12 .elementor-widget-image:hover .mh-frame img{filter:saturate(1.12);}
.elementor-12 .mh-cap{
  display:flex;align-items:center;gap:12px;margin-top:16px;
  font:600 12px/1.4 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--m-muted);
}
.elementor-12 .mh-cap::before{content:"";flex:0 0 28px;height:2px;background:var(--m-brand);}
/* shutter reveal (clip on the inner frame, so the widget stays observable) */
html.mh-ready .elementor-12 .mh-shutter .mh-frame{clip-path:inset(100% 0 0 0);transition:clip-path 1.4s var(--m-ease);transition-delay:var(--d,0ms);}
html.mh-ready .elementor-12 .mh-shutter .mh-cap{opacity:0;transform:translateY(8px);transition:opacity .7s ease,transform .7s ease;transition-delay:calc(var(--d,0ms) + 700ms);}
html.mh-ready .elementor-12 .mh-shutter.mh-in .mh-frame{clip-path:inset(0 0 0 0);}
html.mh-ready .elementor-12 .mh-shutter.mh-in .mh-cap{opacity:1;transform:none;}

/* ================= c093a84 — two magazine columns ================= */
.elementor-12 .elementor-element-c093a84 > .e-con-inner{display:grid!important;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0;align-items:start;}
.elementor-12 .elementor-element.elementor-element-03d52e6,
.elementor-12 .elementor-element.elementor-element-f5fdb50{display:flex!important;flex-direction:column;gap:18px;width:100%!important;padding:0!important;}
.elementor-12 .elementor-element.elementor-element-03d52e6{padding-right:48px!important;}
.elementor-12 .elementor-element.elementor-element-f5fdb50{padding-left:48px!important;border-left:1px solid var(--m-line);}
.elementor-12 .elementor-element-03d52e6 .elementor-widget-image,
.elementor-12 .elementor-element-f5fdb50 .elementor-widget-image{order:-1;margin-bottom:14px!important;}
.elementor-12 .elementor-element-f5fdb50 .mh-frame{aspect-ratio:4 / 3;}
/* the shorter column travels with you down the section */
.elementor-12 .elementor-element.elementor-element-f5fdb50{position:sticky;top:110px;align-self:start;}
.elementor-12 .elementor-element-03d52e6 .elementor-heading-title,
.elementor-12 .elementor-element-f5fdb50 .elementor-heading-title{font-size:clamp(26px,2.4vw,34px)!important;font-weight:700!important;line-height:1.12!important;}
.elementor-12 .elementor-element-03d52e6 p,.elementor-12 .elementor-element-f5fdb50 p{margin:0;}
.elementor-12 .elementor-element-e3a8790 p{color:var(--m-ink)!important;font-size:clamp(18px,1.5vw,20px);font-weight:500;line-height:1.7;}

/* ================= 48ef507 — editorial grid: services as stacked articles ================= */
.elementor-12 .elementor-element-79f19fc p{color:var(--m-ink)!important;font-size:clamp(18px,1.5vw,20px);font-weight:500;line-height:1.7;}
.elementor-12 .elementor-element.elementor-element-39f85df{display:flex!important;flex-direction:column;gap:0;width:100%!important;}
.elementor-12 .elementor-element.elementor-element-536fcaa,
.elementor-12 .elementor-element.elementor-element-0076c50{display:flex!important;flex-direction:column;gap:16px;width:100%!important;padding:0!important;}
.elementor-12 .elementor-element.elementor-element-0076c50{margin-top:56px!important;padding-top:56px!important;border-top:1px solid var(--m-line);}
.elementor-12 .elementor-element-536fcaa .elementor-widget-image,
.elementor-12 .elementor-element-0076c50 .elementor-widget-image{order:-1;margin-bottom:10px!important;}
.elementor-12 .elementor-element-536fcaa .elementor-heading-title,
.elementor-12 .elementor-element-0076c50 .elementor-heading-title{font-size:clamp(26px,2.4vw,34px)!important;font-weight:700!important;line-height:1.12!important;}
.elementor-12 .elementor-element-536fcaa p,.elementor-12 .elementor-element-0076c50 p{margin:0;}

/* ================= 5f6a067 — two panels + "+" connector ================= */
.elementor-12 .elementor-element-5f6a067 > .e-con-inner{display:flex!important;flex-direction:column;align-items:center;}
.elementor-12 .elementor-element-55bf961{max-width:780px;text-align:center!important;margin-bottom:56px!important;}
.elementor-12 .elementor-element.elementor-element-14f9a42{
  display:grid!important;grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);align-items:stretch;width:100%!important;
  min-height:0!important;--min-height:0px!important;
}
.elementor-12 .elementor-element-8dd84f6,
.elementor-12 .elementor-element-36d1b3e{position:relative;z-index:1;grid-row:1;padding:40px 38px!important;border-radius:8px;width:100%!important;max-width:none!important;}
.elementor-12 .elementor-element-8dd84f6{grid-column:1;background:#fff;border:1px solid var(--m-line);}
.elementor-12 .elementor-element-36d1b3e{grid-column:3;background:linear-gradient(160deg,#eef3ff,#fff);border:1px solid rgba(var(--m-glow),.28);}
.elementor-12 .elementor-element-8dd84f6 p,.elementor-12 .elementor-element-36d1b3e p{margin:0;}
.elementor-12 .elementor-element-36d1b3e p{color:var(--m-ink)!important;}
.elementor-12 .elementor-element.elementor-element-14f9a42::before{
  content:"+"!important;position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  display:flex!important;align-items:center;justify-content:center;grid-column:2;grid-row:1;align-self:center;justify-self:center;
  width:64px!important;height:64px!important;border-radius:50%!important;opacity:1!important;mix-blend-mode:normal!important;z-index:2;
  font:500 34px/1 'Space Grotesk',sans-serif;color:#fff;
  background:linear-gradient(135deg,var(--m-brand),var(--m-brand-2))!important;
  box-shadow:0 12px 30px rgba(29,78,216,.35);
  transition:transform .8s cubic-bezier(.34,1.56,.64,1) .5s;animation:mhRing 2.6s ease-out infinite;
}
@keyframes mhRing{0%{box-shadow:0 12px 30px rgba(29,78,216,.35),0 0 0 0 rgba(47,107,255,.45)}70%{box-shadow:0 12px 30px rgba(29,78,216,.35),0 0 0 18px rgba(47,107,255,0)}100%{box-shadow:0 12px 30px rgba(29,78,216,.35),0 0 0 0 rgba(47,107,255,0)}}
.elementor-12 .elementor-element.elementor-element-14f9a42::after{
  content:""!important;position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  display:block!important;grid-column:1 / -1;grid-row:1;align-self:center;z-index:0;
  width:auto!important;height:2px!important;opacity:1!important;mix-blend-mode:normal!important;border-radius:0!important;
  background:repeating-linear-gradient(90deg,var(--m-brand-3) 0 10px,transparent 10px 20px)!important;
  background-size:20px 2px!important;animation:mhMarch 1s linear infinite;
}
@keyframes mhMarch{from{background-position:0 0}to{background-position:20px 0}}
html.mh-ready .elementor-12 .elementor-element-14f9a42::before{transform:scale(0);}
html.mh-ready .elementor-12 .elementor-element-5f6a067.mh-in .elementor-element-14f9a42::before{transform:scale(1);}
html.mh-ready .elementor-12 .mh-left,
html.mh-ready .elementor-12 .mh-right{opacity:0;transition:opacity .9s ease,transform 1.1s var(--m-ease);transition-delay:var(--d,0ms);}
html.mh-ready .elementor-12 .mh-left{transform:translateX(-56px);}
html.mh-ready .elementor-12 .mh-right{transform:translateX(56px);}
html.mh-ready .elementor-12 .mh-left.mh-in,
html.mh-ready .elementor-12 .mh-right.mh-in{opacity:1;transform:none;}

/* ================= 9b86bca — photo + overlapping card (JS builds .mh-over) ================= */
.elementor-12 .elementor-element-9b86bca > .e-con-inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:start;}
.elementor-12 .elementor-element.elementor-element-5f7afb4,
.elementor-12 .elementor-element.elementor-element-4412cd6{display:flex!important;flex-direction:column;width:100%!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;}
.elementor-12 .elementor-element.elementor-element-4412cd6{margin-top:90px!important;}
.elementor-12 .elementor-element-5f7afb4 .elementor-widget-image,
.elementor-12 .elementor-element-4412cd6 .elementor-widget-image{order:-1;}
.elementor-12 .elementor-element-5f7afb4 .mh-cap,
.elementor-12 .elementor-element-4412cd6 .mh-cap{display:none;}
.elementor-12 .mh-over{
  position:relative;z-index:2;width:88%;margin:-90px 0 0 auto;padding:34px 36px;
  background:var(--m-card);border-top:4px solid var(--m-brand);border-radius:0 0 6px 6px;box-shadow:0 30px 70px rgba(11,20,55,.14);
  display:flex;flex-direction:column;gap:14px;
}
.elementor-12 .mh-over .elementor-heading-title{font-size:clamp(22px,2vw,28px)!important;font-weight:700!important;line-height:1.15!important;}
.elementor-12 .mh-over p{margin:0;}

/* ================= afdae96 — AI band: navy, breathing glow, flowing dot grid ================= */
.elementor-12 .elementor-element.elementor-element-afdae96{
  --m-block:var(--m-brand-3);position:relative;isolation:isolate;overflow:hidden;background:var(--m-ink)!important;background-image:none!important;
}
.elementor-12 .elementor-element.elementor-element-afdae96::before{
  content:""!important;position:absolute!important;top:30%!important;left:50%!important;right:auto!important;bottom:auto!important;
  width:640px!important;height:640px!important;border-radius:50%!important;opacity:1!important;mix-blend-mode:normal!important;
  transform:translate(-50%,-50%);z-index:0!important;pointer-events:none;
  background:radial-gradient(circle,rgba(47,107,255,.45),transparent 65%)!important;filter:blur(20px);
  animation:mhBreath 7s ease-in-out infinite;
}
.elementor-12 .elementor-element.elementor-element-afdae96::after{
  content:""!important;position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
  width:auto!important;height:auto!important;z-index:0!important;pointer-events:none;opacity:1!important;border-radius:0!important;
  background-image:radial-gradient(rgba(124,196,255,.28) 1.2px,transparent 1.7px)!important;background-size:24px 24px!important;background-color:transparent!important;
  -webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 70%);
  animation:mhFlow 14s linear infinite;
}
@keyframes mhBreath{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.85}50%{transform:translate(-50%,-50%) scale(1.15);opacity:1}}
@keyframes mhFlow{from{background-position:0 0}to{background-position:240px 240px}}
.elementor-12 .elementor-element-afdae96 > .e-con-inner{position:relative;z-index:1;display:flex!important;flex-direction:column;align-items:center;}
.elementor-12 .elementor-element-afdae96 > .e-con-inner::before{background:rgba(255,255,255,.14);}
.elementor-12 .elementor-element-afdae96 > .e-con-inner::after{color:rgba(255,255,255,.55);}
.elementor-12 .ai-heading{text-align:center!important;max-width:820px;margin:0 auto 26px;}
.elementor-12 .ai-heading__eyebrow{display:block;margin:0 0 16px!important;color:var(--m-brand-3)!important;font:700 12px/1.2 'Manrope',sans-serif;letter-spacing:.2em;text-transform:uppercase;}
.elementor-12 .ai-heading__title{display:block;color:#fff!important;font-family:'Space Grotesk',sans-serif!important;font-size:clamp(34px,4vw,56px)!important;font-weight:700!important;line-height:1.08!important;letter-spacing:-0.035em;}
.elementor-12 .elementor-element-16696b0,
.elementor-12 .elementor-element-6086c10{max-width:760px!important;text-align:center;}
.elementor-12 .elementor-element-16696b0 p,
.elementor-12 .elementor-element-6086c10 p{margin:0;color:rgba(255,255,255,.8)!important;font-size:18px;}
.elementor-12 .elementor-element-afdae96 > .e-con-inner > .elementor-widget-text-editor a{color:var(--m-brand-3)!important;text-decoration-color:rgba(124,196,255,.5)!important;}
.elementor-12 .elementor-element.elementor-element-cad1f38{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 48px;width:100%!important;margin:64px 0 56px!important;counter-reset:mhai;
}
.elementor-12 .elementor-element-cad1f38 > .e-child{
  display:flex!important;flex-direction:column;gap:14px;width:100%!important;max-width:none!important;padding:28px 0 0!important;
  background:none!important;border:0!important;border-top:1px solid rgba(255,255,255,.18)!important;border-radius:0!important;box-shadow:none!important;
  counter-increment:mhai;backdrop-filter:none!important;
}
.elementor-12 .elementor-element-cad1f38 > .e-child .elementor-widget-image{order:-1;margin-bottom:8px!important;}
.elementor-12 .elementor-element-cad1f38 .mh-cap{display:none;}
.elementor-12 .elementor-element-cad1f38 > .e-child .elementor-widget-heading::before{
  content:"N\00BA  " counter(mhai,decimal-leading-zero);display:block;margin-bottom:12px;
  font:600 12px/1 'Manrope',sans-serif;letter-spacing:.2em;color:var(--m-brand-3);
}
.elementor-12 .elementor-element-cad1f38 .elementor-heading-title{color:#fff!important;font-size:clamp(22px,2vw,28px)!important;font-weight:700!important;line-height:1.15!important;}
.elementor-12 .elementor-element-cad1f38 p{margin:0;color:rgba(255,255,255,.75)!important;font-size:16px;}
.elementor-12 .elementor-element-cad1f38 a{color:var(--m-brand-3)!important;}

/* ================= b88340c — editorial grid + drop-cap lead ================= */
.elementor-12 .elementor-element-69e9ceb{max-width:none!important;}
.elementor-12 .elementor-element-69e9ceb h3,
.elementor-12 .elementor-element-69e9ceb h3 span{
  margin:0;color:var(--m-ink)!important;font-family:'Space Grotesk',sans-serif!important;
  font-size:clamp(20px,1.9vw,26px)!important;line-height:1.55!important;font-weight:500!important;letter-spacing:-0.01em;
}
.elementor-12 .elementor-element-69e9ceb a{font-family:'Space Grotesk',sans-serif!important;}

/* ================= 4931854 — Why INNO: pull quote ================= */
.elementor-12 .elementor-element.elementor-element-cd3b6f8{display:flex!important;flex-direction:column;gap:28px;width:100%!important;}
.elementor-12 .elementor-element-b5a8e34,
.elementor-12 .elementor-element-aa2bc3a{position:relative;padding-left:64px!important;width:100%!important;max-width:none!important;}
.elementor-12 .elementor-element-b5a8e34::before{
  content:"\201C";position:absolute;left:-6px;top:-18px;font:700 120px/1 'Space Grotesk',sans-serif;color:var(--m-brand-3);
}
.elementor-12 .elementor-element-b5a8e34 p{
  margin:0;color:var(--m-ink)!important;font-family:'Space Grotesk',sans-serif!important;
  font-size:clamp(22px,2.1vw,28px);line-height:1.45;font-weight:500;letter-spacing:-0.015em;
}
.elementor-12 .elementor-element-aa2bc3a p{margin:0;}

/* ================= 4259d2b — lead paragraph + office info tiles ================= */
.elementor-12 .elementor-element-4259d2b > .e-con-inner{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;}
.elementor-12 .elementor-element.elementor-element-4a4497d{width:100%!important;padding:0!important;min-height:0!important;}
.elementor-12 .elementor-element-46f10d9{max-width:none!important;}
.elementor-12 .elementor-element-46f10d9 p{margin:0;color:var(--m-ink)!important;font-size:clamp(18px,1.5vw,20px);font-weight:500;line-height:1.7;}
.elementor-12 .elementor-element-f5ee23d{width:100%!important;}
.elementor-12 .elementor-element-f5ee23d .inno-office__card{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.elementor-12 .elementor-element-f5ee23d .inno-office__eyebrow{
  grid-column:1 / -1;margin:0 0 8px;text-transform:none;
  font:700 clamp(26px,2.6vw,34px)/1.1 'Space Grotesk',sans-serif!important;color:var(--m-ink)!important;letter-spacing:-0.03em;
}
.elementor-12 .elementor-element-f5ee23d .inno-office__row{
  display:block;margin:0;padding:22px 24px;border-radius:10px;background:var(--m-paper);border:1px solid var(--m-line);
  transition:border-color .3s ease,box-shadow .3s ease,translate .3s ease;
}
.elementor-12 .elementor-element-f5ee23d .inno-office__row:first-of-type{grid-column:1 / -1;}
.elementor-12 .elementor-element-f5ee23d .inno-office__row:hover{border-color:rgba(var(--m-glow),.45);box-shadow:0 14px 30px rgba(var(--m-glow),.12);translate:0 -3px;}
.elementor-12 .elementor-element-f5ee23d .inno-office__icon{display:none;}
.elementor-12 .elementor-element-f5ee23d .inno-office__text{gap:8px;padding:0;}
.elementor-12 .elementor-element-f5ee23d .inno-office__label{font:700 12px/1 'Manrope',sans-serif;letter-spacing:.14em;color:var(--m-brand)!important;}
.elementor-12 .elementor-element-f5ee23d .inno-office__value{font:500 16px/1.6 'Manrope',sans-serif;color:var(--m-ink)!important;}
.elementor-12 .elementor-element-f5ee23d .inno-office__value a{color:var(--m-ink)!important;border-bottom:1px solid var(--m-brand-3);}
.elementor-12 .elementor-element-f5ee23d .inno-office__value a:hover{color:var(--m-brand-2)!important;border-color:var(--m-brand-2);}

/* ================= 7468012 — FAQ: centred numbered list ================= */
.elementor-12 .elementor-element-7468012 > .e-con-inner{display:flex!important;flex-direction:column;align-items:center;}
.elementor-12 .elementor-element-586b9a9{text-align:center!important;margin-bottom:48px!important;}
.elementor-12 .elementor-element-c1eb80f{width:100%!important;max-width:880px;counter-reset:mhfaq;}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item{
  counter-increment:mhfaq;position:relative;margin:0!important;border:0!important;border-top:1px solid var(--m-line)!important;
  border-radius:0!important;background:transparent;transition:background .35s ease;
}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item:last-child{border-bottom:1px solid var(--m-line)!important;}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--m-brand);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--m-ease);
}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item[open]{background:#fff;}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item[open]::before{transform:scaleY(1);}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item-title{
  position:relative;display:flex!important;align-items:center;justify-content:space-between;gap:24px;
  padding:28px 20px 28px 84px!important;border:0!important;background:transparent!important;cursor:pointer;list-style:none;
}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item-title::-webkit-details-marker{display:none;}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item-title::before{
  content:counter(mhfaq,decimal-leading-zero);position:absolute;left:20px;top:50%;transform:translateY(-50%);margin:0;
  font:700 26px/1 'Space Grotesk',sans-serif;color:var(--m-brand-3);-webkit-text-fill-color:currentColor;background:none;transition:color .3s ease;
}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item[open] .e-n-accordion-item-title::before{color:var(--m-brand);}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item-title-text{font:600 19px/1.4 'Space Grotesk',sans-serif!important;color:var(--m-ink)!important;}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item-title-icon{
  position:relative;flex:0 0 36px;width:36px;height:36px;border-radius:8px;border:1.5px solid var(--m-line);background:#fff;
  transition:transform .45s var(--m-ease),background .3s ease,border-color .3s ease;
}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item-title-icon > span{display:none!important;}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item-title-icon::before{
  content:"";position:absolute;left:50%;top:44%;width:9px;height:9px;border-right:2px solid var(--m-brand);border-bottom:2px solid var(--m-brand);
  transform:translate(-50%,-50%) rotate(45deg);transition:border-color .3s ease;
}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item[open] .e-n-accordion-item-title-icon{transform:rotate(180deg);background:var(--m-brand);border-color:var(--m-brand);}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item[open] .e-n-accordion-item-title-icon::before{border-color:#fff;}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item > [role="region"]{padding:0 24px 28px 84px!important;border:0!important;}
.elementor-12 .elementor-element-c1eb80f .e-n-accordion-item[open] > [role="region"]{animation:mhFaq .55s var(--m-ease);}
@keyframes mhFaq{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
.elementor-12 .elementor-element-c1eb80f [role="region"] p{margin:0;}

/* ================= 3c09c6b — final CTA banner ================= */
.elementor-12 .elementor-element.elementor-element-3c09c6b{
  position:relative;isolation:isolate;overflow:hidden;padding:96px 24px!important;
  background:linear-gradient(120deg,var(--m-ink) 0%,var(--m-brand) 60%,var(--m-brand-2) 100%)!important;
}
.elementor-12 .elementor-element.elementor-element-3c09c6b::before{display:none!important;}
.elementor-12 .elementor-element.elementor-element-3c09c6b::after{
  content:""!important;position:absolute!important;top:0!important;bottom:0!important;left:-40%!important;right:auto!important;
  width:30%!important;height:auto!important;opacity:1!important;z-index:0!important;pointer-events:none;border-radius:0!important;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent)!important;
  transform:skewX(-20deg);animation:mhBeam 6.5s ease-in-out infinite;
}
@keyframes mhBeam{0%{left:-40%}60%,100%{left:130%}}
.elementor-12 .elementor-element-3c09c6b > .e-con-inner{
  position:relative;z-index:1;display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:40px;
}
.elementor-12 .elementor-element-7b6d24a{max-width:720px!important;width:auto!important;}
.elementor-12 .elementor-element-7b6d24a :is(h3,b,strong,p){
  margin:0;color:#fff!important;font-family:'Space Grotesk',sans-serif!important;font-size:clamp(22px,2.3vw,30px);line-height:1.35;font-weight:600;letter-spacing:-0.02em;
}
.elementor-12 .elementor-element-cc556f3{flex:0 0 auto;width:auto!important;}
.elementor-12 .elementor-element-cc556f3 .elementor-button{background:transparent!important;border-color:#fff!important;}
.elementor-12 .elementor-element-cc556f3 .elementor-button::before{background:#fff;}
.elementor-12 .elementor-element-cc556f3 .elementor-button:hover{color:var(--m-brand)!important;border-color:#fff!important;}

/* ================= SECTION DOT NAV (added by JS, desktop only) ================= */
body.home .mh-rail{
  position:fixed;left:26px;top:50%;transform:translate(-8px,-50%);z-index:998;
  display:flex;flex-direction:column;gap:14px;opacity:0;pointer-events:none;transition:opacity .4s ease,transform .4s ease;
}
body.home .mh-rail.is-on{opacity:1;pointer-events:auto;transform:translate(0,-50%);}
body.home .mh-rail__dot{
  position:relative;width:10px;height:10px;padding:0;border-radius:50%;cursor:pointer;
  background:transparent;border:1.5px solid var(--m-brand-2);transition:background .3s ease,transform .3s ease;
}
body.home .mh-rail__dot:hover,body.home .mh-rail__dot:focus-visible{background:var(--m-brand-3);outline:none;}
body.home .mh-rail__dot.is-active{background:var(--m-brand);border-color:var(--m-brand);transform:scale(1.35);}
body.home .mh-rail__label{
  position:absolute;left:22px;top:50%;transform:translate(-6px,-50%);white-space:nowrap;
  padding:6px 12px;border-radius:6px;background:var(--m-ink);color:#fff;font:600 12px/1 'Manrope',sans-serif;
  opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;
}
body.home .mh-rail__dot:hover .mh-rail__label,body.home .mh-rail__dot:focus-visible .mh-rail__label{opacity:1;transform:translate(0,-50%);}
@media (max-width:1279px){body.home .mh-rail{display:none;}}

/* ================= TEXT REVEAL (focus-in) ================= */
html.mh-ready .elementor-12 .mh-blur{
  opacity:0;filter:blur(10px);transform:translateY(18px);
  transition:opacity .9s ease,filter .9s ease,transform 1s var(--m-ease);transition-delay:var(--d,0ms);
}
html.mh-ready .elementor-12 .mh-blur.mh-in{opacity:1;filter:none;transform:none;}

/* ================= RESPONSIVE ================= */
@media (max-width:1024px){
  .elementor-12 .elementor-element-48ef507 > .e-con-inner,
  .elementor-12 .elementor-element-b88340c > .e-con-inner,
  .elementor-12 .elementor-element-4931854 > .e-con-inner{gap:32px 48px;}
}
@media (max-width:900px){
  .elementor-12 > .e-con.e-parent:not(.elementor-element-914b88c):not(.elementor-element-3c09c6b){padding-top:96px!important;padding-bottom:72px!important;}
  .elementor-12 .elementor-element.elementor-element-914b88c{min-height:0!important;padding:140px 20px 40px!important;}
  .elementor-12 .elementor-element.elementor-element-914b88c > .e-con-inner{grid-template-columns:1fr;}
  /* phones: text covers the full width, so keep a readable wash over the photo */
  .elementor-12 .elementor-element.elementor-element-914b88c::after{
    -webkit-mask-image:none;mask-image:none;
    background-image:linear-gradient(180deg,rgba(244,247,255,.92) 0%,rgba(244,247,255,.8) 100%)!important;
  }
  .elementor-12 .elementor-element-d3d7175,.elementor-12 .elementor-element-94a541b,
  .elementor-12 .elementor-element.elementor-element-c3c5b53,.elementor-12 .elementor-element-f0f5efb{grid-column:1;grid-row:auto;}
  .elementor-12 .elementor-element-d3d7175{order:1;}
  .elementor-12 .elementor-element.elementor-element-c3c5b53{order:2;margin-top:8px;}
  .elementor-12 .elementor-element-94a541b{order:3;}
  .elementor-12 .elementor-element-f0f5efb{order:4;margin-top:40px!important;}
  .elementor-12 .elementor-element-914b88c > .e-con-inner::before{width:320px;height:320px;right:-120px;top:-120px;}
  .elementor-12 .elementor-element-48ef507 > .e-con-inner,
  .elementor-12 .elementor-element-b88340c > .e-con-inner,
  .elementor-12 .elementor-element-4931854 > .e-con-inner,
  .elementor-12 .elementor-element-c093a84 > .e-con-inner,
  .elementor-12 .elementor-element-9b86bca > .e-con-inner,
  .elementor-12 .elementor-element.elementor-element-cad1f38,
  .elementor-12 .elementor-element-4259d2b > .e-con-inner{grid-template-columns:1fr;gap:28px;}
  .elementor-12 .mh-aside,.elementor-12 .elementor-element.elementor-element-f5fdb50{position:static;}
  .elementor-12 .elementor-element.elementor-element-03d52e6{padding-right:0!important;}
  .elementor-12 .elementor-element.elementor-element-f5fdb50{padding-left:0!important;padding-top:40px!important;border-left:0;border-top:1px solid var(--m-line);}
  .elementor-12 .elementor-element.elementor-element-4412cd6{margin-top:20px!important;}
  .elementor-12 .mh-over{width:94%;margin:-40px auto 0;padding:28px 24px;}
  .elementor-12 .elementor-element.elementor-element-14f9a42{grid-template-columns:1fr;gap:0;}
  .elementor-12 .elementor-element-8dd84f6{grid-column:1;grid-row:1;}
  .elementor-12 .elementor-element.elementor-element-14f9a42::before{grid-column:1;grid-row:2;margin:-14px auto;}
  .elementor-12 .elementor-element-36d1b3e{grid-column:1;grid-row:3;}
  .elementor-12 .elementor-element.elementor-element-14f9a42::after{display:none!important;}
  .elementor-12 .elementor-element-b5a8e34,
  .elementor-12 .elementor-element-aa2bc3a{padding-left:0!important;}
  .elementor-12 .elementor-element-b5a8e34::before{position:static;display:block;height:60px;font-size:96px;}
  .elementor-12 .elementor-element-f5ee23d .inno-office__card{grid-template-columns:1fr;}
  .elementor-12 .elementor-element-c1eb80f .e-n-accordion-item-title{padding:22px 14px 22px 62px!important;}
  .elementor-12 .elementor-element-c1eb80f .e-n-accordion-item-title::before{left:14px;font-size:20px;}
  .elementor-12 .elementor-element-c1eb80f .e-n-accordion-item > [role="region"]{padding:0 16px 22px 62px!important;}
  .elementor-12 .elementor-element-3c09c6b > .e-con-inner{flex-direction:column!important;align-items:flex-start;gap:28px;}
}
@media (prefers-reduced-motion:reduce){
  .elementor-12 *,.elementor-12 *::before,.elementor-12 *::after{animation:none!important;transition:none!important;}
  html.mh-ready .elementor-12 .mh-blur,
  html.mh-ready .elementor-12 .mh-left,
  html.mh-ready .elementor-12 .mh-right,
  html.mh-ready .elementor-12 .mh-flip{opacity:1;filter:none;transform:none;}
  html.mh-ready .elementor-12 .mh-shutter .mh-frame{clip-path:none;}
  html.mh-ready .elementor-12 .mh-shutter .mh-cap{opacity:1;transform:none;}
  .elementor-12 .mh-head .elementor-heading-title{-webkit-text-fill-color:currentColor!important;}
  .elementor-12 .mh-head .mh-accent{visibility:visible!important;-webkit-text-fill-color:transparent!important;}
  .elementor-12 .mh-head .elementor-heading-title::after{display:none;}
}
/*Homepage CSS End*/

/*Marketing & Web Design Services CSS Start*/
/* ===== MONTREAL — page 129 "Editorial" (royal / electric blue) ===== */

body.page-id-129{
  --m-brand:#1d4ed8; --m-brand-2:#2f6bff; --m-brand-3:#7cc4ff;
  --m-ink:#0b1437; --m-muted:#4a5a80; --m-line:#dbe3f5; --m-paper:#f4f7ff; --m-card:#ffffff;
  --m-glow:47,107,255; --m-block:var(--m-brand);
  --m-ease:cubic-bezier(.19,1,.22,1);
  background:#fff!important;
}
/* light hero needs a solid header on this page */
body.page-id-129 .site-header.headroom--top .navbar{background:rgba(11,20,55,.97)!important;}
/* sticky headings need clip (not hidden) on html/body — "hidden" silently disables position:sticky */
html:has(body.page-id-129),body.page-id-129{overflow-x:clip!important;}

/* ---------- base ---------- */
.elementor-129{counter-reset:mtlsec;}
.elementor-129 .elementor-heading-title{font-family:'Space Grotesk',sans-serif!important;color:var(--m-ink)!important;letter-spacing:-0.035em;}
.elementor-129 p,.elementor-129 li{font-family:'Manrope',sans-serif!important;color:var(--m-muted);font-size:17px;line-height:1.8;}
.elementor-129 .elementor-widget__width-initial{width:100%!important;max-width:100%!important;--container-widget-width:100%!important;}
.elementor-129 .elementor-widget-text-editor a{
  color:var(--m-brand);font-weight:600;text-decoration:underline;text-decoration-color:var(--m-brand-3);
  text-decoration-thickness:1px;text-underline-offset:4px;transition:color .2s ease,text-decoration-thickness .2s ease;
}
.elementor-129 .elementor-widget-text-editor a:hover{color:var(--m-brand-2);text-decoration-thickness:2px;}

/* ---------- section rhythm + backgrounds ---------- */
.elementor-129 > .e-con.e-parent:not(.elementor-element-4f942f3):not(.elementor-element-941bd7c){padding-top:130px!important;padding-bottom:110px!important;}
.elementor-129 .elementor-element-3a48df2{background:#fff!important;}
.elementor-129 .elementor-element-6a84c72{background:var(--m-paper)!important;}
.elementor-129 .elementor-element-1e2e9a6{background:#fff!important;}
.elementor-129 .elementor-element-ce44c86{background:linear-gradient(180deg,#eef3ff 0%,#f8faff 100%)!important;}
.elementor-129 .elementor-element-0e55ce3{background:#fff!important;}
.elementor-129 .elementor-element-36767a1{background:var(--m-paper)!important;}
.elementor-129 .elementor-element-9087d72{background:#fff!important;}

/* ---------- section rule + "Nº 01" label (JS adds .mtl-sec) ---------- */
.elementor-129 > .e-con.mtl-sec{counter-increment:mtlsec;}
.elementor-129 > .e-con.mtl-sec > .e-con-inner{position:relative;}
.elementor-129 > .e-con.mtl-sec > .e-con-inner::before{
  content:"";position:absolute;left:0;right:0;top:-52px;height:1px;background:var(--m-line);
  transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--m-ease);
}
.elementor-129 > .e-con.mtl-sec > .e-con-inner::after{
  content:"N\00BA  " counter(mtlsec,decimal-leading-zero);position:absolute;right:0;top:-78px;
  font:600 12px/1 'Manrope',sans-serif;letter-spacing:.2em;color:var(--m-muted);
  opacity:0;transform:translateY(6px);transition:opacity .8s ease .4s,transform .8s var(--m-ease) .4s;
}
.elementor-129 > .e-con.mtl-sec.mtl-in > .e-con-inner::before{transform:scaleX(1);}
.elementor-129 > .e-con.mtl-sec.mtl-in > .e-con-inner::after{opacity:1;transform:none;}

/* ---------- editorial grid: sticky heading left, content right ---------- */
.elementor-129 .elementor-element-3a48df2 > .e-con-inner,
.elementor-129 .elementor-element-1e2e9a6 > .e-con-inner,
.elementor-129 .elementor-element-ce44c86 > .e-con-inner{
  display:grid!important;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px 80px;align-items:start;
}
.elementor-129 .elementor-element-40cc097,
.elementor-129 .elementor-element-e83637b,
.elementor-129 .elementor-element-e90973e{position:sticky;top:110px;align-self:start;}
.elementor-129 .elementor-element-40cc097 .elementor-heading-title,
.elementor-129 .elementor-element-e83637b .elementor-heading-title,
.elementor-129 .elementor-element-e90973e .elementor-heading-title{font-size:clamp(30px,3vw,44px)!important;font-weight:700!important;line-height:1.1!important;}
.elementor-129 .elementor-element-61fb45d .elementor-heading-title,
.elementor-129 .elementor-element-aa5a07b .elementor-heading-title,
.elementor-129 .elementor-element-7b58a79 .elementor-heading-title,
.elementor-129 .elementor-element-46b2b94 .elementor-heading-title{font-size:clamp(34px,4vw,56px)!important;font-weight:700!important;line-height:1.08!important;}

/* ---------- heading BLOCK-WIPE reveal ---------- */
.elementor-129 .mtl-head .elementor-heading-title{position:relative;display:inline-block;}
.elementor-129 .mtl-head .elementor-heading-title::after{
  content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px;background:var(--m-block);
  transform:scaleX(0);transform-origin:left;pointer-events:none;
}
html.mtl-ready .elementor-129 .mtl-head:not(.mtl-in) .elementor-heading-title{-webkit-text-fill-color:transparent;}
html.mtl-ready .elementor-129 .mtl-head:not(.mtl-in) .mtl-accent{visibility:hidden;}
.elementor-129 .mtl-head.mtl-in .elementor-heading-title{animation:mtlText 1.1s linear var(--d,0ms) both;}
.elementor-129 .mtl-head.mtl-in .elementor-heading-title::after{animation:mtlBlock 1.1s var(--m-ease) var(--d,0ms) both;}
.elementor-129 .mtl-head.mtl-in .mtl-accent{animation:mtlShow 1.1s linear var(--d,0ms) both;}
@keyframes mtlBlock{
  0%{transform:scaleX(0);transform-origin:left}
  45%{transform:scaleX(1);transform-origin:left}
  55%{transform:scaleX(1);transform-origin:right}
  100%{transform:scaleX(0);transform-origin:right}
}
@keyframes mtlText{0%,49%{-webkit-text-fill-color:transparent}50%,100%{-webkit-text-fill-color:currentColor}}
@keyframes mtlShow{0%,49%{opacity:0}50%,100%{opacity:1}}

/* ================= HERO (4f942f3) — light editorial ================= */
.elementor-129 .elementor-element.elementor-element-4f942f3{
  position:relative;isolation:isolate;overflow:hidden;min-height:88vh;
  display:flex!important;align-items:center;padding:170px 24px 120px!important;
  background-color:var(--m-paper)!important;background-size:cover!important;background-position:center right!important;
}
.elementor-129 .elementor-element-4f942f3::after{
  content:""!important;position:absolute!important;top:0;left:0;right:0;bottom:0;width:auto;height:auto;z-index:1;pointer-events:none;border-radius:0;opacity:1;
  background-image:
    radial-gradient(rgba(29,78,216,.14) 1.2px,transparent 1.7px),
    linear-gradient(90deg,rgba(244,247,255,1) 0%,rgba(244,247,255,.95) 45%,rgba(244,247,255,.50) 100%)!important;
  background-size:22px 22px,auto!important;
}
.elementor-129 .elementor-element-4f942f3 > .e-con-inner{
  position:relative;z-index:2;display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);
  gap:32px 72px;align-items:end;width:100%;
}
/* rotating dashed ring */
.elementor-129 .elementor-element-4f942f3 > .e-con-inner::before{
  content:"";position:absolute;right:-140px;top:-190px;width:540px;height:540px;border-radius:50%;
  border:1.5px dashed rgba(var(--m-glow),.35);z-index:-1;pointer-events:none;animation:mtlSpin 70s linear infinite;
}
/* bottom rule draws in */
.elementor-129 .elementor-element-4f942f3 > .e-con-inner::after{
  content:"";position:absolute;left:0;right:0;bottom:-60px;height:1px;background:var(--m-line);
  transform-origin:left;animation:mtlRule 1.6s var(--m-ease) .9s both;
}
@keyframes mtlSpin{to{transform:rotate(1turn)}}
@keyframes mtlRule{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.elementor-129 .elementor-element-afb2e16{grid-column:1;}
.elementor-129 .elementor-element-afb2e16 .elementor-heading-title{
  font-size:clamp(44px,6.4vw,84px)!important;font-weight:700!important;line-height:1.0!important;letter-spacing:-0.045em;
}
.elementor-129 .mtl-accent{
  position:relative;display:inline-block;
  background:linear-gradient(90deg,var(--m-brand),var(--m-brand-2) 60%,#5aa8ff);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.elementor-129 .mtl-accent::after{
  content:"";position:absolute;left:0;right:0;bottom:.04em;height:.1em;border-radius:4px;background:var(--m-brand-3);opacity:.55;
  transform:scaleX(0);transform-origin:left;transition:transform 1s var(--m-ease) 1.2s;
}
.elementor-129 .mtl-head.mtl-in .mtl-accent::after{transform:scaleX(1);}
.elementor-129 .elementor-element-d9e091b{grid-column:1;}
.elementor-129 .elementor-element-d9e091b p{font-size:clamp(17px,1.4vw,20px);max-width:540px;margin:0;color:var(--m-muted);}

/* blue card — flips in */
.elementor-129 .elementor-element.elementor-element-88069fa{
  --m-block:#ffffff;grid-column:2;grid-row:1 / span 2;align-self:end;width:100%!important;
  padding:36px 34px 32px!important;border-radius:8px;
  background:linear-gradient(150deg,var(--m-brand) 0%,var(--m-brand-2) 100%)!important;
  box-shadow:0 34px 70px rgba(29,78,216,.35);
}
.elementor-129 .elementor-element-88069fa .elementor-heading-title{color:#fff!important;font-size:22px!important;font-weight:600!important;line-height:1.3!important;}
.elementor-129 .elementor-element-88069fa p{color:rgba(255,255,255,.86)!important;font-size:15.5px;margin:12px 0 0;}
html.mtl-ready .elementor-129 .mtl-flip{
  opacity:0;transform:perspective(900px) rotateY(-28deg) translateX(40px);transform-origin:right center;
  transition:opacity .9s ease,transform 1.2s var(--m-ease);transition-delay:var(--d,0ms);
}
html.mtl-ready .elementor-129 .mtl-flip.mtl-in{opacity:1;transform:none;}

/* ================= IMAGES (JS wraps each in .mtl-frame) ================= */
.elementor-129 .elementor-widget-image{width:100%!important;}
.elementor-129 .mtl-frame{position:relative;display:block;overflow:hidden;border-radius:6px;aspect-ratio:16 / 10;}
.elementor-129 .mtl-frame img{
  display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;border-radius:0!important;
  transform:scale(var(--z,1.06));filter:saturate(.8);transition:filter .6s ease;will-change:transform;
}
.elementor-129 .elementor-widget-image:hover .mtl-frame img{filter:saturate(1.12);}
.elementor-129 .mtl-cap{
  display:flex;align-items:center;gap:12px;margin-top:16px;
  font:600 12px/1.4 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--m-muted);
}
.elementor-129 .mtl-cap::before{content:"";flex:0 0 28px;height:2px;background:var(--m-brand);}
/* shutter reveal (clip is on the inner frame, so the widget stays observable) */
html.mtl-ready .elementor-129 .mtl-shutter .mtl-frame{clip-path:inset(100% 0 0 0);transition:clip-path 1.4s var(--m-ease);transition-delay:var(--d,0ms);}
html.mtl-ready .elementor-129 .mtl-shutter .mtl-cap{opacity:0;transform:translateY(8px);transition:opacity .7s ease,transform .7s ease;transition-delay:calc(var(--d,0ms) + 700ms);}
html.mtl-ready .elementor-129 .mtl-shutter.mtl-in .mtl-frame{clip-path:inset(0 0 0 0);}
html.mtl-ready .elementor-129 .mtl-shutter.mtl-in .mtl-cap{opacity:1;transform:none;}

/* ================= WEB DESIGN EXPERTS (3a48df2) ================= */
.elementor-129 .elementor-element.elementor-element-19d6321{display:flex!important;flex-direction:column;gap:40px;width:100%!important;}
.elementor-129 .elementor-element-2dd8788{display:flex!important;flex-direction:column;gap:18px;width:100%!important;}
.elementor-129 .elementor-element-4b3e12e p{color:var(--m-ink)!important;font-size:clamp(19px,1.6vw,22px);line-height:1.65;font-weight:500;margin:0;}
.elementor-129 .elementor-element-4b3e12e p::first-letter{
  float:left;margin:6px 14px 0 0;font:700 76px/.82 'Space Grotesk',sans-serif;color:var(--m-brand);
}
.elementor-129 .elementor-element-9f2e6d3 p{margin:0;}

/* ================= WEB DESIGN WITH PURPOSE (6a84c72) — banner + overlapping card ================= */
.elementor-129 .elementor-element-61fb45d{margin-bottom:44px!important;max-width:760px;}
.elementor-129 .elementor-element.elementor-element-4fb22a0{display:block!important;position:relative;width:100%!important;}
.elementor-129 .elementor-element-fb299ec .mtl-frame{aspect-ratio:21 / 9;}
.elementor-129 .elementor-element.elementor-element-84dc0e7{
  position:relative;z-index:2;width:min(640px,92%)!important;margin:-150px 0 0 auto!important;
  padding:44px 48px!important;background:var(--m-card)!important;border-top:4px solid var(--m-brand);
  border-radius:0 0 6px 6px;box-shadow:0 30px 70px rgba(11,20,55,.14);
}
.elementor-129 .elementor-element-c49362a p{margin:0;color:var(--m-ink)!important;font-size:18px;line-height:1.75;}

/* ================= TRUSTED (1e2e9a6) — pull quote ================= */
.elementor-129 .elementor-element.elementor-element-1675bf0{display:flex!important;flex-direction:column;gap:28px;width:100%!important;}
.elementor-129 .elementor-element-40bfb0a,
.elementor-129 .elementor-element-ac812be{position:relative;padding-left:64px!important;}
.elementor-129 .elementor-element-40bfb0a::before{
  content:"\201C";position:absolute;left:-6px;top:-18px;font:700 120px/1 'Space Grotesk',sans-serif;color:var(--m-brand-3);
}
.elementor-129 .elementor-element-40bfb0a p{
  margin:0;color:var(--m-ink)!important;font-family:'Space Grotesk',sans-serif!important;
  font-size:clamp(22px,2.1vw,28px);line-height:1.45;font-weight:500;letter-spacing:-0.015em;
}
.elementor-129 .elementor-element-ac812be p{margin:0;}

/* ================= BRAND CONSISTENCY (ce44c86) — timeline ================= */
.elementor-129 .elementor-element.elementor-element-c521106{
  position:relative;display:flex!important;flex-direction:column;gap:34px;padding-left:48px!important;width:100%!important;
}
.elementor-129 .elementor-element.elementor-element-c521106::after{
  content:""!important;position:absolute!important;left:11px!important;top:10px!important;bottom:10px!important;right:auto!important;
  width:2px!important;height:auto!important;border-radius:2px;opacity:1!important;mix-blend-mode:normal!important;
  background:linear-gradient(var(--m-brand),var(--m-brand-3))!important;
  transform:scaleY(0);transform-origin:top;transition:transform 1.6s var(--m-ease) .2s;
}
.elementor-129 .elementor-element-ce44c86.mtl-in .elementor-element-c521106::after{transform:scaleY(1);}
.elementor-129 .elementor-element-c9dd653,
.elementor-129 .elementor-element-ae8209c{position:relative;}
.elementor-129 .elementor-element-c9dd653::before,
.elementor-129 .elementor-element-ae8209c::before{
  content:"";position:absolute;left:-46px;top:6px;width:18px;height:18px;border-radius:50%;
  background:#fff;border:3px solid var(--m-brand);box-shadow:0 0 0 6px rgba(var(--m-glow),.12);
  transform:scale(0);transition:transform .6s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(var(--d,0ms) + 350ms);
}
.elementor-129 .elementor-element-c9dd653.mtl-in::before,
.elementor-129 .elementor-element-ae8209c.mtl-in::before{transform:scale(1);}
.elementor-129 .elementor-element-c9dd653 p{color:var(--m-ink)!important;font-size:19px;font-weight:500;margin:0;}
.elementor-129 .elementor-element-ae8209c p{margin:0;}

/* ================= AI BAND (a0d4055) — navy, flowing dot grid ================= */
.elementor-129 .elementor-element.elementor-element-a0d4055{
  --m-block:var(--m-brand-3);position:relative;isolation:isolate;overflow:hidden;background:var(--m-ink)!important;
}
.elementor-129 .elementor-element.elementor-element-a0d4055::before{
  content:""!important;position:absolute!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;
  width:640px!important;height:640px!important;border-radius:50%!important;opacity:1!important;mix-blend-mode:normal!important;
  transform:translate(-50%,-50%);z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(47,107,255,.45),transparent 65%)!important;filter:blur(20px);
  animation:mtlBreath 7s ease-in-out infinite;
}
.elementor-129 .elementor-element.elementor-element-a0d4055::after{
  content:""!important;position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
  width:auto!important;height:auto!important;z-index:0;pointer-events:none;opacity:1!important;
  background-image:radial-gradient(rgba(124,196,255,.28) 1.2px,transparent 1.7px)!important;background-size:24px 24px!important;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 25%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 25%,transparent 75%);
  animation:mtlFlow 14s linear infinite;
}
@keyframes mtlBreath{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.85}50%{transform:translate(-50%,-50%) scale(1.15);opacity:1}}
@keyframes mtlFlow{from{background-position:0 0}to{background-position:240px 240px}}
.elementor-129 .elementor-element-a0d4055 > .e-con-inner{position:relative;z-index:1;display:flex!important;flex-direction:column;align-items:center;text-align:center;}
.elementor-129 .elementor-element-a0d4055 > .e-con-inner::before{background:rgba(255,255,255,.14);}
.elementor-129 .elementor-element-a0d4055 > .e-con-inner::after{color:rgba(255,255,255,.55);}
.elementor-129 .elementor-element-a0d4055 .elementor-heading-title{color:#fff!important;}
.elementor-129 .elementor-element-aa5a07b{max-width:820px;margin-bottom:28px!important;}
.elementor-129 .elementor-element-6cbb14f{width:100%!important;max-width:760px;}
.elementor-129 .elementor-element-ce5fe14 p{color:rgba(255,255,255,.8)!important;font-size:18px;margin:0;}
.elementor-129 .elementor-element-ce5fe14 a{color:var(--m-brand-3)!important;text-decoration-color:rgba(124,196,255,.5)!important;}

/* ================= ONE SYSTEM (0e55ce3) — two panels + connector ================= */
.elementor-129 .elementor-element-0e55ce3 > .e-con-inner{display:flex!important;flex-direction:column;align-items:center;}
.elementor-129 .elementor-element-7b58a79{max-width:780px;text-align:center;margin-bottom:56px!important;}
.elementor-129 .elementor-element.elementor-element-518e552{
  display:grid!important;grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);align-items:stretch;width:100%!important;
}
.elementor-129 .elementor-element-ac19a97,
.elementor-129 .elementor-element-f041482{
  position:relative;z-index:1;grid-row:1;padding:40px 38px!important;border-radius:8px;width:100%!important;
}
.elementor-129 .elementor-element-ac19a97{grid-column:1;background:#fff;border:1px solid var(--m-line);}
.elementor-129 .elementor-element-f041482{grid-column:3;background:linear-gradient(160deg,#eef3ff,#fff);border:1px solid rgba(var(--m-glow),.28);}
.elementor-129 .elementor-element-ac19a97 p,
.elementor-129 .elementor-element-f041482 p{margin:0;}
.elementor-129 .elementor-element-f041482 p{color:var(--m-ink)!important;}
/* "+" connector (grid item) */
.elementor-129 .elementor-element.elementor-element-518e552::before{
  content:"+"!important;position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  display:flex!important;align-items:center;justify-content:center;grid-column:2;grid-row:1;align-self:center;justify-self:center;
  width:64px!important;height:64px!important;border-radius:50%!important;opacity:1!important;mix-blend-mode:normal!important;z-index:2;
  font:500 34px/1 'Space Grotesk',sans-serif;color:#fff;
  background:linear-gradient(135deg,var(--m-brand),var(--m-brand-2))!important;
  box-shadow:0 12px 30px rgba(29,78,216,.35);
  transition:transform .8s cubic-bezier(.34,1.56,.64,1) .5s;animation:mtlRing 2.6s ease-out infinite;
}
@keyframes mtlRing{0%{box-shadow:0 12px 30px rgba(29,78,216,.35),0 0 0 0 rgba(47,107,255,.45)}70%{box-shadow:0 12px 30px rgba(29,78,216,.35),0 0 0 18px rgba(47,107,255,0)}100%{box-shadow:0 12px 30px rgba(29,78,216,.35),0 0 0 0 rgba(47,107,255,0)}}
/* marching dashed line behind */
.elementor-129 .elementor-element.elementor-element-518e552::after{
  content:""!important;position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  display:block!important;grid-column:1 / -1;grid-row:1;align-self:center;z-index:0;
  width:auto!important;height:2px!important;opacity:1!important;mix-blend-mode:normal!important;
  background:repeating-linear-gradient(90deg,var(--m-brand-3) 0 10px,transparent 10px 20px)!important;
  background-size:20px 2px!important;animation:mtlMarch 1s linear infinite;
}
@keyframes mtlMarch{from{background-position:0 0}to{background-position:20px 0}}
html.mtl-ready .elementor-129 .elementor-element-518e552::before{transform:scale(0);}
html.mtl-ready .elementor-129 .elementor-element-0e55ce3.mtl-in .elementor-element-518e552::before{transform:scale(1);}
html.mtl-ready .elementor-129 .mtl-left,
html.mtl-ready .elementor-129 .mtl-right{opacity:0;transition:opacity .9s ease,transform 1.1s var(--m-ease);transition-delay:var(--d,0ms);}
html.mtl-ready .elementor-129 .mtl-left{transform:translateX(-56px);}
html.mtl-ready .elementor-129 .mtl-right{transform:translateX(56px);}
html.mtl-ready .elementor-129 .mtl-left.mtl-in,
html.mtl-ready .elementor-129 .mtl-right.mtl-in{opacity:1;transform:none;}

/* ================= OFFICE (36767a1) — info tiles + duotone photo ================= */
.elementor-129 .elementor-element-36767a1 > .e-con-inner{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;}
.elementor-129 .elementor-element.elementor-element-2f655cf{display:grid!important;grid-template-columns:1fr 1fr;gap:14px;width:100%!important;}
.elementor-129 .elementor-element-2f655cf p{margin:0;}
.elementor-129 .elementor-element-2f655cf p:first-child{grid-column:1 / -1;margin-bottom:8px;}
.elementor-129 .elementor-element-2f655cf p:first-child b{font:700 clamp(26px,2.6vw,34px)/1.1 'Space Grotesk',sans-serif;color:var(--m-ink);letter-spacing:-0.03em;}
.elementor-129 .elementor-element-2f655cf p:not(:first-child){
  padding:22px 24px;border-radius:10px;background:#fff;border:1px solid var(--m-line);
  color:var(--m-ink)!important;font-size:16px;line-height:1.6;
  transition:border-color .3s ease,box-shadow .3s ease,translate .3s ease;
}
.elementor-129 .elementor-element-2f655cf p:nth-child(2){grid-column:1 / -1;}
.elementor-129 .elementor-element-2f655cf p:not(:first-child):hover{border-color:rgba(var(--m-glow),.45);box-shadow:0 14px 30px rgba(var(--m-glow),.12);translate:0 -3px;}
.elementor-129 .elementor-element-2f655cf p:not(:first-child) b{
  display:block;margin-bottom:8px;font:700 12px/1 'Manrope',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--m-brand);
}
.elementor-129 .elementor-element-2f655cf p > b + span{display:none;}   /* removes the stray <br> after each label */
.elementor-129 .elementor-element-e69f269 .mtl-frame{aspect-ratio:4 / 3;}
.elementor-129 .elementor-element-e69f269 .mtl-frame::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(29,78,216,.55),rgba(124,196,255,.25));mix-blend-mode:multiply;transition:opacity .6s ease;
}
.elementor-129 .elementor-element-e69f269:hover .mtl-frame::after{opacity:0;}

/* ================= FAQ (9087d72) — centred numbered list ================= */
.elementor-129 .elementor-element-9087d72 > .e-con-inner{display:flex!important;flex-direction:column;align-items:center;}
.elementor-129 .elementor-element-46b2b94{text-align:center;margin-bottom:48px!important;}
.elementor-129 .elementor-element-ec1c1bb{width:100%!important;max-width:880px;counter-reset:mtlfaq;}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item{
  counter-increment:mtlfaq;position:relative;margin:0!important;border:0!important;border-top:1px solid var(--m-line)!important;
  border-radius:0!important;background:transparent;transition:background .35s ease;
}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item:last-child{border-bottom:1px solid var(--m-line)!important;}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--m-brand);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--m-ease);
}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item[open]{background:var(--m-paper);}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item[open]::before{transform:scaleY(1);}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item-title{
  position:relative;display:flex!important;align-items:center;justify-content:space-between;gap:24px;
  padding:28px 20px 28px 84px!important;border:0!important;background:transparent!important;cursor:pointer;list-style:none;
}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item-title::-webkit-details-marker{display:none;}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item-title::before{
  content:counter(mtlfaq,decimal-leading-zero);position:absolute;left:20px;top:50%;transform:translateY(-50%);
  font:700 26px/1 'Space Grotesk',sans-serif;color:var(--m-brand-3);transition:color .3s ease;
}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item[open] .e-n-accordion-item-title::before{color:var(--m-brand);}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item-title-text{font:600 19px/1.4 'Space Grotesk',sans-serif!important;color:var(--m-ink)!important;}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item-title-icon{
  position:relative;flex:0 0 36px;width:36px;height:36px;border-radius:8px;border:1.5px solid var(--m-line);background:#fff;
  transition:transform .45s var(--m-ease),background .3s ease,border-color .3s ease;
}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item-title-icon > span{display:none!important;}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item-title-icon::before{
  content:"";position:absolute;left:50%;top:44%;width:9px;height:9px;border-right:2px solid var(--m-brand);border-bottom:2px solid var(--m-brand);
  transform:translate(-50%,-50%) rotate(45deg);transition:border-color .3s ease;
}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item[open] .e-n-accordion-item-title-icon{transform:rotate(180deg);background:var(--m-brand);border-color:var(--m-brand);}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item[open] .e-n-accordion-item-title-icon::before{border-color:#fff;}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item > [role="region"]{padding:0 24px 28px 84px!important;border:0!important;}
.elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item[open] > [role="region"]{animation:mtlFaq .55s var(--m-ease);}
@keyframes mtlFaq{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
.elementor-129 .elementor-element-ec1c1bb [role="region"] p{margin:0;}

/* ================= FINAL CTA (941bd7c) — full-width banner ================= */
.elementor-129 .elementor-element.elementor-element-941bd7c{
  position:relative;isolation:isolate;overflow:hidden;padding:96px 24px!important;
  background:linear-gradient(120deg,var(--m-ink) 0%,var(--m-brand) 60%,var(--m-brand-2) 100%)!important;
}
.elementor-129 .elementor-element.elementor-element-941bd7c::after{
  content:""!important;position:absolute!important;top:0!important;bottom:0!important;left:-40%!important;right:auto!important;
  width:30%!important;height:auto!important;opacity:1!important;z-index:0;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent)!important;
  transform:skewX(-20deg);animation:mtlBeam 6.5s ease-in-out infinite;
}
@keyframes mtlBeam{0%{left:-40%}60%,100%{left:130%}}
.elementor-129 .elementor-element-941bd7c > .e-con-inner{position:relative;z-index:1;}
.elementor-129 .elementor-element.elementor-element-dd7ff24{
  display:flex!important;align-items:center;justify-content:space-between;gap:40px;width:100%!important;text-align:left!important;
}
.elementor-129 .elementor-element-dd7ff24 p{margin:0;}
.elementor-129 .elementor-element-dd7ff24 p:first-child{max-width:720px;}
.elementor-129 .elementor-element-dd7ff24 p:first-child,
.elementor-129 .elementor-element-dd7ff24 p:first-child b{
  color:#fff!important;font-family:'Space Grotesk',sans-serif!important;font-size:clamp(22px,2.3vw,30px);line-height:1.35;font-weight:600;letter-spacing:-0.02em;
}
.elementor-129 .elementor-element-dd7ff24 p:last-child{flex:0 0 auto;}
.elementor-129 .elementor-element-dd7ff24 p:last-child a{
  position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:10px;
  padding:18px 36px;border:2px solid #fff;border-radius:999px;
  font:700 16px/1 'Manrope',sans-serif;color:#fff!important;text-decoration:none;transition:color .35s ease;
}
.elementor-129 .elementor-element-dd7ff24 p:last-child a span{color:inherit!important;}
.elementor-129 .elementor-element-dd7ff24 p:last-child a::before{
  content:"";position:absolute;inset:0;z-index:-1;background:#fff;transform:translateY(101%);transition:transform .45s var(--m-ease);
}
.elementor-129 .elementor-element-dd7ff24 p:last-child a::after{content:"\2197";transition:transform .35s ease;}
.elementor-129 .elementor-element-dd7ff24 p:last-child a:hover{color:var(--m-brand)!important;}
.elementor-129 .elementor-element-dd7ff24 p:last-child a:hover::before{transform:none;}
.elementor-129 .elementor-element-dd7ff24 p:last-child a:hover::after{transform:translate(3px,-3px);}

/* ================= SECTION DOT NAV (added by JS, desktop only) ================= */
.mtl-rail{
  position:fixed;left:26px;top:50%;transform:translate(-8px,-50%);z-index:998;
  display:flex;flex-direction:column;gap:14px;opacity:0;pointer-events:none;transition:opacity .4s ease,transform .4s ease;
}
.mtl-rail.is-on{opacity:1;pointer-events:auto;transform:translate(0,-50%);}
.mtl-rail__dot{
  position:relative;width:10px;height:10px;padding:0;border-radius:50%;cursor:pointer;
  background:transparent;border:1.5px solid var(--m-brand-2);transition:background .3s ease,transform .3s ease;
}
.mtl-rail__dot:hover,.mtl-rail__dot:focus-visible{background:var(--m-brand-3);outline:none;}
.mtl-rail__dot.is-active{background:var(--m-brand);border-color:var(--m-brand);transform:scale(1.35);}
.mtl-rail__label{
  position:absolute;left:22px;top:50%;transform:translate(-6px,-50%);white-space:nowrap;
  padding:6px 12px;border-radius:6px;background:var(--m-ink);color:#fff;font:600 12px/1 'Manrope',sans-serif;
  opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;
}
.mtl-rail__dot:hover .mtl-rail__label,.mtl-rail__dot:focus-visible .mtl-rail__label{opacity:1;transform:translate(0,-50%);}
@media (max-width:1279px){.mtl-rail{display:none;}}

/* ================= TEXT REVEAL (focus-in) ================= */
html.mtl-ready .elementor-129 .mtl-blur{
  opacity:0;filter:blur(10px);transform:translateY(18px);
  transition:opacity .9s ease,filter .9s ease,transform 1s var(--m-ease);transition-delay:var(--d,0ms);
}
html.mtl-ready .elementor-129 .mtl-blur.mtl-in{opacity:1;filter:none;transform:none;}

/* ================= RESPONSIVE ================= */
@media (max-width:1024px){
  .elementor-129 .elementor-element-3a48df2 > .e-con-inner,
  .elementor-129 .elementor-element-1e2e9a6 > .e-con-inner,
  .elementor-129 .elementor-element-ce44c86 > .e-con-inner{gap:32px 48px;}
}
@media (max-width:900px){
  .elementor-129 > .e-con.e-parent:not(.elementor-element-4f942f3):not(.elementor-element-941bd7c){padding-top:96px!important;padding-bottom:72px!important;}
  .elementor-129 .elementor-element.elementor-element-4f942f3{min-height:0;padding:140px 20px 100px!important;}
  .elementor-129 .elementor-element-4f942f3 > .e-con-inner{grid-template-columns:1fr;}
  .elementor-129 .elementor-element.elementor-element-88069fa{grid-column:1;grid-row:auto;margin-top:8px;}
  .elementor-129 .elementor-element-4f942f3 > .e-con-inner::before{width:320px;height:320px;right:-120px;top:-120px;}
  .elementor-129 .elementor-element-3a48df2 > .e-con-inner,
  .elementor-129 .elementor-element-1e2e9a6 > .e-con-inner,
  .elementor-129 .elementor-element-ce44c86 > .e-con-inner,
  .elementor-129 .elementor-element-36767a1 > .e-con-inner{grid-template-columns:1fr;gap:28px;}
  .elementor-129 .elementor-element-40cc097,
  .elementor-129 .elementor-element-e83637b,
  .elementor-129 .elementor-element-e90973e{position:static;}
  .elementor-129 .elementor-element-fb299ec .mtl-frame{aspect-ratio:16 / 10;}
  .elementor-129 .elementor-element.elementor-element-84dc0e7{width:94%!important;margin:-40px auto 0!important;padding:30px 26px!important;}
  .elementor-129 .elementor-element-40bfb0a,
  .elementor-129 .elementor-element-ac812be{padding-left:0!important;}
  .elementor-129 .elementor-element-40bfb0a::before{position:static;display:block;height:60px;font-size:96px;}
  .elementor-129 .elementor-element.elementor-element-518e552{grid-template-columns:1fr;gap:0;}
  .elementor-129 .elementor-element-ac19a97{grid-column:1;grid-row:1;}
  .elementor-129 .elementor-element.elementor-element-518e552::before{grid-column:1;grid-row:2;margin:-14px auto;}
  .elementor-129 .elementor-element-f041482{grid-column:1;grid-row:3;}
  .elementor-129 .elementor-element.elementor-element-518e552::after{display:none!important;}
  .elementor-129 .elementor-element.elementor-element-2f655cf{grid-template-columns:1fr;}
  .elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item-title{padding:22px 14px 22px 62px!important;}
  .elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item-title::before{left:14px;font-size:20px;}
  .elementor-129 .elementor-element-ec1c1bb .e-n-accordion-item > [role="region"]{padding:0 16px 22px 62px!important;}
  .elementor-129 .elementor-element.elementor-element-dd7ff24{flex-direction:column;align-items:flex-start;gap:28px;}
}
@media (prefers-reduced-motion:reduce){
  .elementor-129 *,.elementor-129 *::before,.elementor-129 *::after{animation:none!important;transition:none!important;}
  html.mtl-ready .elementor-129 .mtl-blur,
  html.mtl-ready .elementor-129 .mtl-left,
  html.mtl-ready .elementor-129 .mtl-right,
  html.mtl-ready .elementor-129 .mtl-flip{opacity:1;filter:none;transform:none;}
  html.mtl-ready .elementor-129 .mtl-shutter .mtl-frame{clip-path:none;}
  html.mtl-ready .elementor-129 .mtl-shutter .mtl-cap{opacity:1;transform:none;}
  .elementor-129 .mtl-head .elementor-heading-title{-webkit-text-fill-color:currentColor!important;}
  .elementor-129 .mtl-head .mtl-accent{visibility:visible!important;-webkit-text-fill-color:transparent!important;}
  .elementor-129 .mtl-head .elementor-heading-title::after{display:none;}
}
/*Marketing & Web Design Services CSS End*/