/*
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*/
/* ===== GUELPH — Homepage "Aurora" (dark violet, glass, gradient light) ===== */
/* site-wide fonts + tokens */
:root{--brand:#7c3aed;--brand-dark:#6d28d9;--brand-light:#a78bfa;--brand-glow:124,58,237;--font-head:'Space Grotesk',sans-serif;--font-body:'Manrope',sans-serif;}
html,body{overflow-x:hidden;}
.elementor-kit-6{
  --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;}

/* ---------- tokens (dark, violet) ---------- */
body.home{
  --g-bg:#07030f; --g-bg2:#0d0719; --g-card:rgba(255,255,255,.035); --g-card2:rgba(255,255,255,.06);
  --g-line:rgba(255,255,255,.08); --g-line2:rgba(167,139,250,.38);
  --g-text:#aaa3c2; --g-soft:#d6d0ea; --g-head:#f5f2fc;
  --g-v1:#7c3aed; --g-v2:#a78bfa; --g-v3:#c4b5fd; --g-pink:#e879f9; --g-glow:124,58,237;
  --g-ease:cubic-bezier(.16,1,.3,1);
  background:transparent!important;color-scheme:dark;
}
html:has(body.home){background:#07030f!important;}
body.home #page,body.home .site-content-contain,body.home .site-content{background:transparent!important;}
/* ambient aurora behind the whole page */
body.home::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(900px 600px at 85% -10%,rgba(124,58,237,.22),transparent 60%),
    radial-gradient(700px 500px at -10% 40%,rgba(217,70,239,.10),transparent 60%),
    radial-gradient(800px 600px at 60% 110%,rgba(99,102,241,.12),transparent 60%);
}
/* footer on the dark page */
body.home .site-footer{background:#05020b!important;border-top:1px solid rgba(255,255,255,.06);}
body.home .site-footer,body.home .site-footer span,body.home .site-footer a{color:#8d86a6!important;}
body.home .site-header .navbar,
body.home .site-header.headroom--top .navbar{background:rgba(7,3,15,.72)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06);}

/* ---------- base type ---------- */
.elementor-12 .elementor-heading-title{font-family:'Space Grotesk',sans-serif!important;color:var(--g-head)!important;letter-spacing:-0.035em;}
.elementor-12 p,.elementor-12 li{font-family:'Manrope',sans-serif!important;color:var(--g-text);font-size:17px;line-height:1.75;}
.elementor-12 p :is(b,strong){color:#ece8f7;}
.elementor-12 .elementor-widget__width-initial{width:100%!important;max-width:100%!important;--container-widget-width:100%!important;}
.elementor-12 .elementor-widget-heading,.elementor-12 .elementor-widget-heading .elementor-heading-title,
.elementor-12 .elementor-widget-text-editor,.elementor-12 .elementor-widget-text-editor :is(p,h2,h3,h4){text-align:left!important;text-align-last:auto!important;word-spacing:normal!important;}
.elementor-12 .elementor-widget-text-editor a:not(.gp-btn){
  color:var(--g-v3)!important;font-weight:700;text-decoration:none;
  background:linear-gradient(90deg,var(--g-v2),var(--g-pink)) 0 100% / 100% 1px no-repeat;transition:background-size .3s ease,color .2s ease;
}
.elementor-12 .elementor-widget-text-editor a:not(.gp-btn):hover{color:#fff!important;background-size:100% 100%;}
.elementor-12 .elementor-widget-text-editor a:not(.gp-btn) *{color:inherit!important;}

/* ---------- sections ---------- */
.elementor-12 > .e-con.e-parent{background:transparent!important;background-image:none!important;padding-top:120px!important;padding-bottom:120px!important;min-height:0!important;--min-height:0px!important;}
.elementor-12 > .e-con.e-parent::before,.elementor-12 > .e-con.e-parent::after{display:none!important;}
.elementor-12 > .e-con.e-parent > .e-con-inner{position:relative;min-height:0!important;}
/* hairline between sections */
.elementor-12 > .e-con.e-parent:not(:first-child):not(:last-child) > .e-con-inner::before{
  content:"";position:absolute;left:0;right:0;top:-120px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(167,139,250,.35),transparent);
}

/* ---------- section headings: eyebrow pill + gradient text ---------- */
.elementor-12{counter-reset:gpsec;}
.elementor-12 > .e-con.e-parent:not(:first-child) > .e-con-inner > .elementor-widget-heading,
.elementor-12 .ai-heading{counter-increment:gpsec;margin-bottom:28px!important;}
.elementor-12 > .e-con.e-parent:not(:first-child) > .e-con-inner > .elementor-widget-heading::before,
.elementor-12 .ai-heading::before{
  content:"\2726  " counter(gpsec,decimal-leading-zero);display:flex;width:max-content;align-items:center;margin-bottom:22px;
  padding:7px 14px;border-radius:999px;border:1px solid var(--g-line2);background:rgba(124,58,237,.12);
  font:600 12px/1 'Manrope',sans-serif;letter-spacing:.18em;color:var(--g-v3);
}
.elementor-12 > .e-con.e-parent:not(:first-child) > .e-con-inner > .elementor-widget-heading .elementor-heading-title,
.elementor-12 .ai-heading__title{
  display:inline-block;font-size:clamp(34px,4.4vw,58px)!important;font-weight:700!important;line-height:1.04!important;letter-spacing:-0.04em;
  background:linear-gradient(180deg,#ffffff 25%,#b9a6f7 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  padding-bottom:.06em;
}
.elementor-12 .ai-heading{text-align:left!important;}
.elementor-12 .ai-heading__eyebrow{display:block;margin:0 0 10px!important;color:var(--g-v2)!important;font:700 13px/1.2 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;}
.elementor-12 .ai-heading__title{margin:0!important;}
/* intro paragraph straight under a section heading */
.elementor-12 > .e-con.e-parent:not(:first-child) > .e-con-inner > .elementor-widget-text-editor{max-width:760px!important;}
.elementor-12 > .e-con.e-parent:not(:first-child) > .e-con-inner > .elementor-widget-text-editor p{font-size:18.5px;color:var(--g-soft);}

/* ---------- buttons: gradient pill with a shine ---------- */
.elementor-12 .elementor-button,.elementor-12 a.gp-btn{
  position:relative;overflow:hidden;isolation:isolate;display:inline-flex!important;align-items:center;gap:10px;
  padding:17px 30px!important;border-radius:999px!important;border:0!important;text-decoration:none!important;
  font:700 16px/1 'Manrope',sans-serif!important;color:#fff!important;
  background:linear-gradient(135deg,#7c3aed 0%,#a855f7 55%,#d946ef 100%)!important;background-size:100% 100%!important;
  box-shadow:0 14px 34px -10px rgba(168,85,247,.75),inset 0 1px 0 rgba(255,255,255,.28);
  transition:transform .3s var(--g-ease),box-shadow .3s ease;
}
.elementor-12 .elementor-button::before,.elementor-12 a.gp-btn::before{
  content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);
  animation:gpShine 4.5s ease-in-out infinite;
}
@keyframes gpShine{0%,55%{left:-60%}85%,100%{left:130%}}
.elementor-12 .elementor-button .elementor-button-text,.elementor-12 a.gp-btn span,.elementor-12 a.gp-btn *{color:inherit!important;font-weight:inherit!important;}
.elementor-12 .elementor-button .elementor-button-text::after,.elementor-12 a.gp-btn::after{content:"\2192";display:inline-block;margin-left:8px;transition:transform .3s ease;}
.elementor-12 .elementor-button:hover,.elementor-12 a.gp-btn:hover{transform:translateY(-2px);box-shadow:0 20px 44px -10px rgba(217,70,239,.8),inset 0 1px 0 rgba(255,255,255,.3);}
.elementor-12 .elementor-button:hover .elementor-button-text::after,.elementor-12 a.gp-btn:hover::after{transform:translateX(4px);}

/* ---------- glass cards (+ JS spotlight layer) ---------- */
.elementor-12 .gp-card{
  --mx:50%;--my:50%;position:relative;isolation:isolate;overflow:hidden;
  background:var(--g-card)!important;border:1px solid var(--g-line)!important;border-radius:24px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 30px 60px -40px rgba(0,0,0,.8);
  transition:border-color .4s ease,box-shadow .4s ease,transform .5s var(--g-ease);
}
.elementor-12 .gp-card:hover{border-color:var(--g-line2)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 80px -30px rgba(var(--g-glow),.55);}
.elementor-12 .gp-spot{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .35s ease;
  background:radial-gradient(420px circle at var(--mx) var(--my),rgba(167,139,250,.16),transparent 60%);}
.elementor-12 .gp-card:hover > .gp-spot{opacity:1;}
.elementor-12 .gp-card > *:not(.gp-spot){position:relative;z-index:1;}
.elementor-12 .gp-card .elementor-heading-title{font-size:clamp(22px,2vw,28px)!important;font-weight:700!important;line-height:1.15!important;}
.elementor-12 .gp-card p{margin:0;}

/* ---------- images (JS wraps each in .gp-frame) ---------- */
.elementor-12 .elementor-widget-image{width:100%!important;}
.elementor-12 .gp-frame{position:relative;display:block;overflow:hidden;border-radius:18px;aspect-ratio:16 / 10;background:var(--g-bg2);}
.elementor-12 .gp-frame img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;border-radius:0!important;transition:transform 1.2s var(--g-ease),filter .6s ease;}
.elementor-12 .gp-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.elementor-12 .gp-card:hover .gp-frame img,.elementor-12 .elementor-widget-image:hover .gp-frame img{transform:scale(1.05);}
html.gp-ready .elementor-12 .gp-img .gp-frame img{opacity:0;transform:scale(1.14);filter:blur(14px);transition:opacity 1s ease,transform 1.4s var(--g-ease),filter 1s ease;transition-delay:var(--d,0ms);}
html.gp-ready .elementor-12 .gp-img.gp-in .gp-frame img{opacity:1;transform:none;filter:none;}

/* ---------- callout (✦ icon) ---------- */
.elementor-12 .gp-callout{
  display:flex!important;gap:18px;align-items:flex-start;padding:26px 28px!important;border-radius:20px;
  background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(217,70,239,.06))!important;border:1px solid var(--g-line2)!important;
}
.elementor-12 .gp-callout::before{
  content:"\2726";flex:0 0 42px;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:18px;color:#fff;background:linear-gradient(135deg,#7c3aed,#d946ef);box-shadow:0 10px 24px -8px rgba(217,70,239,.7);
}
.elementor-12 .gp-callout p{margin:0;color:var(--g-soft)!important;}

/* ---------- hero: aurora, grid, pill, words, photo window ---------- */
.elementor-12 .gp-hero{position:relative;isolation:isolate;overflow:hidden;min-height:100vh!important;display:flex!important;align-items:center;
  padding:160px 24px 90px!important;background:transparent!important;background-image:none!important;}
.elementor-12 .gp-hero::before,.elementor-12 .gp-hero::after{display:none!important;}
.elementor-12 .gp-aurora{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.elementor-12 .gp-aurora i{position:absolute;display:block;border-radius:50%;filter:blur(70px);opacity:.75;mix-blend-mode:screen;}
.elementor-12 .gp-aurora .b1{width:620px;height:620px;left:-8%;top:-18%;background:radial-gradient(circle,rgba(124,58,237,.75),transparent 65%);animation:gpB1 18s ease-in-out infinite alternate;}
.elementor-12 .gp-aurora .b2{width:560px;height:560px;right:-6%;top:6%;background:radial-gradient(circle,rgba(217,70,239,.45),transparent 65%);animation:gpB2 22s ease-in-out infinite alternate;}
.elementor-12 .gp-aurora .b3{width:700px;height:520px;left:30%;bottom:-30%;background:radial-gradient(circle,rgba(99,102,241,.45),transparent 65%);animation:gpB3 20s ease-in-out infinite alternate;}
@keyframes gpB1{to{transform:translate(18%,22%) scale(1.15)}}
@keyframes gpB2{to{transform:translate(-22%,18%) scale(.9)}}
@keyframes gpB3{to{transform:translate(-14%,-16%) scale(1.1)}}
.elementor-12 .gp-aurora .gp-grid{position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);}
.elementor-12 .gp-hero > .e-con-inner{position:relative;z-index:2;display:grid!important;grid-template-columns:minmax(0,1fr);gap:26px 64px;align-items:center;width:100%;min-height:0!important;height:auto!important;padding-bottom:0!important;}
.elementor-12 .gp-hero.gp-has-win > .e-con-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);}
.elementor-12 .gp-hero > .e-con-inner > *{grid-column:1;}
.elementor-12 .gp-pill{
  justify-self:start;display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border-radius:999px;
  border:1px solid var(--g-line2);background:rgba(124,58,237,.12);backdrop-filter:blur(8px);
  font:600 13px/1 'Manrope',sans-serif;letter-spacing:.06em;color:var(--g-v3);
}
.elementor-12 .gp-pill i{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:gpPing 2s ease-out infinite;}
@keyframes gpPing{70%{box-shadow:0 0 0 9px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.elementor-12 .gp-h1 .elementor-heading-title{
  font-size:clamp(42px,5.6vw,84px)!important;font-weight:700!important;line-height:1.02!important;letter-spacing:-0.045em;
  color:#fff!important;
}
.elementor-12 .gp-w{display:inline-block;transition:opacity .9s ease,filter .9s ease,transform 1s var(--g-ease);transition-delay:calc(var(--i,0) * 70ms + 120ms);}
html.gp-ready .elementor-12 .gp-w{opacity:0;filter:blur(12px);transform:translateY(18px);}
html.gp-ready .elementor-12 .gp-hero-in .gp-w{opacity:1;filter:none;transform:none;}
.elementor-12 .gp-accent{background:linear-gradient(90deg,#c4b5fd,#a855f7 45%,#e879f9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.elementor-12 .gp-lead p{font-size:clamp(17px,1.35vw,20px)!important;color:var(--g-soft)!important;max-width:560px;margin:0;}
/* photo window */
.elementor-12 .gp-win{grid-column:2!important;grid-row:1 / span 4;position:relative;perspective:1600px;}
.elementor-12 .gp-win__glow{position:absolute;inset:8% 6%;border-radius:40px;background:radial-gradient(circle,rgba(168,85,247,.55),transparent 70%);filter:blur(60px);z-index:0;}
.elementor-12 .gp-win__box{
  position:relative;z-index:1;border-radius:24px;padding:10px;border:1px solid var(--g-line2);
  background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.03));backdrop-filter:blur(10px);
  box-shadow:0 60px 120px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.15);
  transform:rotateY(var(--ry,-12deg)) rotateX(var(--rx,6deg));transform-style:preserve-3d;transition:transform .6s var(--g-ease);
}
.elementor-12 .gp-win__bar{display:flex;gap:7px;padding:6px 6px 12px;}
.elementor-12 .gp-win__bar i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.18);}
.elementor-12 .gp-win__bar i:first-child{background:#f472b6;}.elementor-12 .gp-win__bar i:nth-child(2){background:#a78bfa;}.elementor-12 .gp-win__bar i:nth-child(3){background:#60a5fa;}
.elementor-12 .gp-win__img{display:block;aspect-ratio:4 / 3;border-radius:16px;background-size:cover;background-position:center;}
html.gp-ready .elementor-12 .gp-win{opacity:0;transform:translateY(40px);transition:opacity 1.2s ease .5s,transform 1.4s var(--g-ease) .5s;}
html.gp-ready .elementor-12 .gp-hero-in .gp-win{opacity:1;transform:none;}

/* ---------- scroll-lit statement ---------- */
.elementor-12 .gp-statement :is(h1,h2,h3,h4,p){
  margin:0;text-align:center!important;font-family:'Space Grotesk',sans-serif!important;
  font-size:clamp(26px,3.2vw,44px)!important;line-height:1.3!important;font-weight:600!important;letter-spacing:-0.03em;color:var(--g-head)!important;
}
.elementor-12 .gp-statement{max-width:1000px!important;margin:0 auto!important;}
.elementor-12 .gp-word{opacity:.16;transition:opacity .4s ease;}
.elementor-12 .gp-word.on{opacity:1;}
.elementor-12 .gp-word.on.hl{background:linear-gradient(90deg,#c4b5fd,#e879f9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* ---------- FAQ (glass accordion) ---------- */
.elementor-12 .gp-faq{width:100%!important;max-width:880px;margin:0 auto!important;}
.elementor-12 .gp-faq .e-n-accordion-item{
  margin:0 0 12px!important;border:1px solid var(--g-line)!important;border-radius:18px!important;background:var(--g-card)!important;overflow:hidden;
  transition:border-color .35s ease,background .35s ease,box-shadow .35s ease;
}
.elementor-12 .gp-faq .e-n-accordion-item::before{display:none!important;}
.elementor-12 .gp-faq .e-n-accordion-item:hover{border-color:rgba(167,139,250,.28)!important;}
.elementor-12 .gp-faq .e-n-accordion-item[open]{border-color:var(--g-line2)!important;background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(255,255,255,.02))!important;box-shadow:0 24px 60px -30px rgba(var(--g-glow),.6);}
.elementor-12 .gp-faq .e-n-accordion-item-title{
  display:flex!important;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 24px!important;border:0!important;background:transparent!important;cursor:pointer;list-style:none;
}
.elementor-12 .gp-faq .e-n-accordion-item-title::-webkit-details-marker{display:none;}
.elementor-12 .gp-faq .e-n-accordion-item-title-text{font:600 18px/1.4 'Space Grotesk',sans-serif!important;color:var(--g-head)!important;}
.elementor-12 .gp-faq .e-n-accordion-item-title-icon{
  position:relative;flex:0 0 36px;width:36px;height:36px;border-radius:50%;border:1px solid var(--g-line2);background:rgba(124,58,237,.12);
  transition:transform .45s var(--g-ease),background .3s ease;
}
.elementor-12 .gp-faq .e-n-accordion-item-title-icon > span{display:none!important;}
.elementor-12 .gp-faq .e-n-accordion-item-title-icon::before,
.elementor-12 .gp-faq .e-n-accordion-item-title-icon::after{content:"";position:absolute;top:50%;left:50%;width:13px;height:2px;border-radius:2px;background:var(--g-v3);transform:translate(-50%,-50%);}
.elementor-12 .gp-faq .e-n-accordion-item-title-icon::after{transform:translate(-50%,-50%) rotate(90deg);}
.elementor-12 .gp-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon{transform:rotate(135deg);background:linear-gradient(135deg,#7c3aed,#d946ef);border-color:transparent;}
.elementor-12 .gp-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon::before,
.elementor-12 .gp-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon::after{background:#fff;}
.elementor-12 .gp-faq .e-n-accordion-item > [role="region"]{padding:0 24px 24px!important;border:0!important;}
.elementor-12 .gp-faq .e-n-accordion-item[open] > [role="region"]{animation:gpFaq .5s var(--g-ease);}
@keyframes gpFaq{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.elementor-12 .gp-faq [role="region"] p{margin:0;}
.elementor-12 .gp-faq-head{text-align:center!important;margin-left:auto!important;margin-right:auto!important;}
.elementor-12 .gp-faq-head::before{margin-left:auto!important;margin-right:auto!important;}
.elementor-12 .gp-faq-head .elementor-heading-title{text-align:center!important;}

/* ---------- final CTA card with a rotating ring ---------- */
@property --gp-ang{syntax:'<angle>';inherits:false;initial-value:0deg;}
.elementor-12 .gp-cta > .e-con-inner{
  position:relative;isolation:isolate;overflow:hidden;display:flex!important;flex-direction:column;align-items:center;text-align:center;
  max-width:980px!important;margin:0 auto!important;padding:84px 40px!important;border-radius:32px;
  background:radial-gradient(ellipse 80% 70% at 50% 0%,rgba(124,58,237,.38),transparent 70%),linear-gradient(180deg,#120a24,#0b0616);
  box-shadow:0 60px 120px -50px rgba(var(--g-glow),.7);
}
.elementor-12 .gp-cta > .e-con-inner::before{
  content:"";position:absolute!important;inset:0!important;top:0!important;height:auto!important;border-radius:inherit;padding:1.5px;z-index:-1;pointer-events:none;
  background:conic-gradient(from var(--gp-ang),rgba(167,139,250,.15) 0 60%,#a78bfa 72%,#e879f9 80%,rgba(167,139,250,.15) 92%)!important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:gpRing 6s linear infinite;
}
@keyframes gpRing{to{--gp-ang:360deg}}
.elementor-12 .gp-cta .elementor-widget-text-editor{max-width:760px!important;}
.elementor-12 .gp-cta .elementor-widget-text-editor :is(p,h2,h3,h4),.elementor-12 .gp-cta .elementor-widget-text-editor :is(p,h2,h3,h4) :is(b,strong,span){
  text-align:center!important;margin:0;font-family:'Space Grotesk',sans-serif!important;color:#fff!important;
  font-size:clamp(24px,2.8vw,38px);line-height:1.25;font-weight:700;letter-spacing:-0.03em;
}
.elementor-12 .gp-cta .elementor-widget-button,.elementor-12 .gp-cta .gp-btn-wrap{margin-top:34px!important;text-align:center!important;}

/* ---------- reveals (hidden only once JS is running) ---------- */
html.gp-ready .elementor-12 .gp-up{opacity:0;transform:translateY(30px);filter:blur(8px);
  transition:opacity .9s ease,transform 1s var(--g-ease),filter .9s ease;transition-delay:var(--d,0ms);}
html.gp-ready .elementor-12 .gp-up.gp-in{opacity:1;transform:none;filter:none;}

/* ---------- responsive + motion ---------- */
@media (max-width:900px){
  .elementor-12 > .e-con.e-parent{padding-top:80px!important;padding-bottom:80px!important;}
  .elementor-12 > .e-con.e-parent:not(:first-child):not(:last-child) > .e-con-inner::before{top:-80px;}
  .elementor-12 .gp-hero{min-height:0!important;padding:130px 20px 60px!important;}
  .elementor-12 .gp-hero.gp-has-win > .e-con-inner{grid-template-columns:1fr;}
  .elementor-12 .gp-win{grid-column:1!important;grid-row:auto;margin-top:24px;}
  .elementor-12 .gp-win__box{transform:none;}
  .elementor-12 .gp-cta > .e-con-inner{padding:56px 22px!important;border-radius:24px;}
}
@media (prefers-reduced-motion:reduce){
  .elementor-12 *,.elementor-12 *::before,.elementor-12 *::after{animation:none!important;transition:none!important;}
  html.gp-ready .elementor-12 .gp-up,html.gp-ready .elementor-12 .gp-w,html.gp-ready .elementor-12 .gp-win{opacity:1;transform:none;filter:none;}
  html.gp-ready .elementor-12 .gp-img .gp-frame img{opacity:1;transform:none;filter:none;}
  .elementor-12 .gp-word{opacity:1;}
}

/* ================= HOMEPAGE LAYOUT ================= */
.elementor-12 .elementor-element.elementor-element-914b88c{background-image:none!important;}
/* hero (914b88c) */
.elementor-12 .elementor-element.elementor-element-914b88c > .e-con-inner{display:grid!important;}
.elementor-12 .elementor-element-f0f5efb{grid-column:1 / -1!important;margin-top:70px!important;width:100%!important;}
.elementor-12 .elementor-element-f0f5efb .ids-marquee{
  background:transparent!important;padding:18px 0!important;border-top:1px solid var(--g-line);border-bottom:1px solid var(--g-line);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.elementor-12 .elementor-element-f0f5efb .ids-marquee__item{color:var(--g-text)!important;font:500 15px/1.6 'Manrope',sans-serif!important;}
.elementor-12 .elementor-element-f0f5efb .ids-marquee__item::before{content:"\2726";margin-right:18px;color:var(--g-v2);}
.elementor-12 .elementor-element-94a541b{justify-self:start;margin-top:8px!important;}

/* c093a84 — bento: elephant card wide on the left, owl card narrow on the right */
.elementor-12 .elementor-element-c093a84 > .e-con-inner{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;align-items:stretch;}
/* elephant photo grows to fill its (bigger) card so both cards end level */
.elementor-12 .elementor-element-f5fdb50 > .elementor-widget-image{flex:1 1 auto;display:flex;flex-direction:column;}
.elementor-12 .elementor-element-f5fdb50 .gp-frame{aspect-ratio:auto;flex:1 1 auto;min-height:380px;}
.elementor-12 .elementor-element.elementor-element-f5fdb50{grid-column:1 / span 7;grid-row:1;}
.elementor-12 .elementor-element.elementor-element-03d52e6{grid-column:8 / -1;grid-row:1;}
/* owl: show the whole photo at its own proportions (no crop) */
.elementor-12 .elementor-element-03d52e6 .gp-frame{aspect-ratio:auto;}
.elementor-12 .elementor-element-03d52e6 .gp-frame img{height:auto!important;object-fit:contain;}
.elementor-12 .elementor-element.elementor-element-03d52e6,
.elementor-12 .elementor-element.elementor-element-f5fdb50,
.elementor-12 .elementor-element.elementor-element-536fcaa,
.elementor-12 .elementor-element.elementor-element-0076c50,
.elementor-12 .elementor-element.elementor-element-5f7afb4,
.elementor-12 .elementor-element.elementor-element-4412cd6,
.elementor-12 .elementor-element-cad1f38 > .e-child{
  display:flex!important;flex-direction:column;gap:14px;width:100%!important;max-width:none!important;min-height:0!important;
  padding:12px 12px 30px!important;transform:none;opacity:1!important;flex:none!important;
}
.elementor-12 :is(.elementor-element-03d52e6,.elementor-element-f5fdb50,.elementor-element-536fcaa,.elementor-element-0076c50,.elementor-element-5f7afb4,.elementor-element-4412cd6) > .elementor-widget-image,
.elementor-12 .elementor-element-cad1f38 > .e-child > .elementor-widget-image{order:-1;position:relative!important;inset:auto!important;opacity:1!important;transform:none!important;margin:0 0 10px!important;z-index:1!important;}
.elementor-12 :is(.elementor-element-03d52e6,.elementor-element-f5fdb50,.elementor-element-536fcaa,.elementor-element-0076c50,.elementor-element-5f7afb4,.elementor-element-4412cd6) > .elementor-widget:not(.elementor-widget-image),
.elementor-12 .elementor-element-cad1f38 > .e-child > .elementor-widget:not(.elementor-widget-image){padding:0 18px;max-width:none!important;}
.elementor-12 .elementor-element-e3a8790 p,.elementor-12 .elementor-element-f0b0a35 p{color:var(--g-soft)!important;font-size:18px;}
.elementor-12 .elementor-element-5f7afb4::before,.elementor-12 .elementor-element-4412cd6::before,.elementor-12 .elementor-element-cad1f38 > .e-child::before{display:none!important;}

/* 48ef507 — two image cards */
.elementor-12 .elementor-element.elementor-element-39f85df{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%!important;margin-top:48px;}
.elementor-12 .elementor-element-39f85df > .e-child .elementor-widget-text-editor{max-height:none!important;opacity:1!important;overflow:visible!important;}

/* 5f6a067 — lead + callout */
.elementor-12 .elementor-element.elementor-element-14f9a42{display:flex!important;flex-direction:column;gap:28px;width:100%!important;max-width:880px;min-height:0!important;}
.elementor-12 .elementor-element-36d1b3e{order:-1;}
.elementor-12 .elementor-element-36d1b3e p{margin:0;color:var(--g-soft)!important;font-size:clamp(19px,1.6vw,22px);line-height:1.65;}
.elementor-12 .elementor-element.elementor-element-5f6a067{padding-bottom:40px!important;}
.elementor-12 .elementor-element.elementor-element-9b86bca{padding-top:40px!important;}
.elementor-12 .elementor-element.elementor-element-9b86bca > .e-con-inner::before{display:none;}

/* 9b86bca — two cards */
.elementor-12 .elementor-element-9b86bca > .e-con-inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch;}

/* afdae96 — AI bento (wide / narrow / narrow / wide) */
.elementor-12 .elementor-element.elementor-element-cad1f38{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%!important;margin:48px 0 40px!important;}
.elementor-12 .elementor-element-cad1f38 > .e-child:nth-child(1),.elementor-12 .elementor-element-cad1f38 > .e-child:nth-child(4){grid-column:span 2;}
.elementor-12 .elementor-element-cad1f38 .gp-frame{aspect-ratio:auto;height:230px;}
.elementor-12 .elementor-element-6086c10 p{color:var(--g-text)!important;}

/* b88340c — statement */
.elementor-12 .elementor-element-b88340c > .e-con-inner{display:flex!important;flex-direction:column;align-items:center;}
.elementor-12 .elementor-element-b88340c > .e-con-inner::after{
  content:"";position:absolute;left:10%;right:10%;top:-20%;bottom:-20%;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(124,58,237,.22),transparent 65%);filter:blur(30px);
}
.elementor-12 .elementor-element-b88340c > .e-con-inner{z-index:1;}

@media (max-width:1024px){
  .elementor-12 .elementor-element.elementor-element-03d52e6,.elementor-12 .elementor-element.elementor-element-f5fdb50{grid-column:1 / -1;grid-row:auto;}
  .elementor-12 .elementor-element-f5fdb50 .gp-frame{flex:none;aspect-ratio:16 / 10;min-height:0;}
  .elementor-12 .elementor-element.elementor-element-cad1f38{grid-template-columns:repeat(2,minmax(0,1fr));}
  .elementor-12 .elementor-element-cad1f38 > .e-child:nth-child(n){grid-column:auto;}
}
@media (max-width:900px){
  .elementor-12 .elementor-element-f0f5efb{order:9;margin-top:48px!important;}   /* photo window sits above the ticker */
}
@media (max-width:767px){
  .elementor-12 .elementor-element.elementor-element-39f85df,
  .elementor-12 .elementor-element-9b86bca > .e-con-inner,
  .elementor-12 .elementor-element.elementor-element-cad1f38{grid-template-columns:1fr;}
}
/*Homepage CSS End*/

/*Marketing & Web Design Services CSS Start*/
/* ===== GUELPH — Marketing & Web Design Services (page 129) "Aurora" (dark violet, glass, gradient light) ===== */

/* ---------- tokens (dark, violet) ---------- */
body.page-id-129{
  --g-bg:#07030f; --g-bg2:#0d0719; --g-card:rgba(255,255,255,.035); --g-card2:rgba(255,255,255,.06);
  --g-line:rgba(255,255,255,.08); --g-line2:rgba(167,139,250,.38);
  --g-text:#aaa3c2; --g-soft:#d6d0ea; --g-head:#f5f2fc;
  --g-v1:#7c3aed; --g-v2:#a78bfa; --g-v3:#c4b5fd; --g-pink:#e879f9; --g-glow:124,58,237;
  --g-ease:cubic-bezier(.16,1,.3,1);
  background:transparent!important;color-scheme:dark;
}
html:has(body.page-id-129){background:#07030f!important;}
body.page-id-129 #page,body.page-id-129 .site-content-contain,body.page-id-129 .site-content{background:transparent!important;}
/* ambient aurora behind the whole page */
body.page-id-129::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(900px 600px at 85% -10%,rgba(124,58,237,.22),transparent 60%),
    radial-gradient(700px 500px at -10% 40%,rgba(217,70,239,.10),transparent 60%),
    radial-gradient(800px 600px at 60% 110%,rgba(99,102,241,.12),transparent 60%);
}
/* footer on the dark page */
body.page-id-129 .site-footer{background:#05020b!important;border-top:1px solid rgba(255,255,255,.06);}
body.page-id-129 .site-footer,body.page-id-129 .site-footer span,body.page-id-129 .site-footer a{color:#8d86a6!important;}
body.page-id-129 .site-header .navbar,
body.page-id-129 .site-header.headroom--top .navbar{background:rgba(7,3,15,.72)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06);}

/* ---------- base type ---------- */
.elementor-129 .elementor-heading-title{font-family:'Space Grotesk',sans-serif!important;color:var(--g-head)!important;letter-spacing:-0.035em;}
.elementor-129 p,.elementor-129 li{font-family:'Manrope',sans-serif!important;color:var(--g-text);font-size:17px;line-height:1.75;}
.elementor-129 p :is(b,strong){color:#ece8f7;}
.elementor-129 .elementor-widget__width-initial{width:100%!important;max-width:100%!important;--container-widget-width:100%!important;}
.elementor-129 .elementor-widget-heading,.elementor-129 .elementor-widget-heading .elementor-heading-title,
.elementor-129 .elementor-widget-text-editor,.elementor-129 .elementor-widget-text-editor :is(p,h2,h3,h4){text-align:left!important;text-align-last:auto!important;word-spacing:normal!important;}
.elementor-129 .elementor-widget-text-editor a:not(.gp-btn){
  color:var(--g-v3)!important;font-weight:700;text-decoration:none;
  background:linear-gradient(90deg,var(--g-v2),var(--g-pink)) 0 100% / 100% 1px no-repeat;transition:background-size .3s ease,color .2s ease;
}
.elementor-129 .elementor-widget-text-editor a:not(.gp-btn):hover{color:#fff!important;background-size:100% 100%;}
.elementor-129 .elementor-widget-text-editor a:not(.gp-btn) *{color:inherit!important;}

/* ---------- sections ---------- */
.elementor-129 > .e-con.e-parent{background:transparent!important;background-image:none!important;padding-top:120px!important;padding-bottom:120px!important;min-height:0!important;--min-height:0px!important;}
.elementor-129 > .e-con.e-parent::before,.elementor-129 > .e-con.e-parent::after{display:none!important;}
.elementor-129 > .e-con.e-parent > .e-con-inner{position:relative;min-height:0!important;}
/* hairline between sections */
.elementor-129 > .e-con.e-parent:not(:first-child):not(:last-child) > .e-con-inner::before{
  content:"";position:absolute;left:0;right:0;top:-120px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(167,139,250,.35),transparent);
}

/* ---------- section headings: eyebrow pill + gradient text ---------- */
.elementor-129{counter-reset:gpsec;}
.elementor-129 > .e-con.e-parent:not(:first-child) > .e-con-inner > .elementor-widget-heading,
.elementor-129 .ai-heading{counter-increment:gpsec;margin-bottom:28px!important;}
.elementor-129 > .e-con.e-parent:not(:first-child) > .e-con-inner > .elementor-widget-heading::before,
.elementor-129 .ai-heading::before{
  content:"\2726  " counter(gpsec,decimal-leading-zero);display:flex;width:max-content;align-items:center;margin-bottom:22px;
  padding:7px 14px;border-radius:999px;border:1px solid var(--g-line2);background:rgba(124,58,237,.12);
  font:600 12px/1 'Manrope',sans-serif;letter-spacing:.18em;color:var(--g-v3);
}
.elementor-129 > .e-con.e-parent:not(:first-child) > .e-con-inner > .elementor-widget-heading .elementor-heading-title,
.elementor-129 .ai-heading__title{
  display:inline-block;font-size:clamp(34px,4.4vw,58px)!important;font-weight:700!important;line-height:1.04!important;letter-spacing:-0.04em;
  background:linear-gradient(180deg,#ffffff 25%,#b9a6f7 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  padding-bottom:.06em;
}
.elementor-129 .ai-heading{text-align:left!important;}
.elementor-129 .ai-heading__eyebrow{display:block;margin:0 0 10px!important;color:var(--g-v2)!important;font:700 13px/1.2 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;}
.elementor-129 .ai-heading__title{margin:0!important;}
/* intro paragraph straight under a section heading */
.elementor-129 > .e-con.e-parent:not(:first-child) > .e-con-inner > .elementor-widget-text-editor{max-width:760px!important;}
.elementor-129 > .e-con.e-parent:not(:first-child) > .e-con-inner > .elementor-widget-text-editor p{font-size:18.5px;color:var(--g-soft);}

/* ---------- buttons: gradient pill with a shine ---------- */
.elementor-129 .elementor-button,.elementor-129 a.gp-btn{
  position:relative;overflow:hidden;isolation:isolate;display:inline-flex!important;align-items:center;gap:10px;
  padding:17px 30px!important;border-radius:999px!important;border:0!important;text-decoration:none!important;
  font:700 16px/1 'Manrope',sans-serif!important;color:#fff!important;
  background:linear-gradient(135deg,#7c3aed 0%,#a855f7 55%,#d946ef 100%)!important;background-size:100% 100%!important;
  box-shadow:0 14px 34px -10px rgba(168,85,247,.75),inset 0 1px 0 rgba(255,255,255,.28);
  transition:transform .3s var(--g-ease),box-shadow .3s ease;
}
.elementor-129 .elementor-button::before,.elementor-129 a.gp-btn::before{
  content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);
  animation:gpShine 4.5s ease-in-out infinite;
}
@keyframes gpShine{0%,55%{left:-60%}85%,100%{left:130%}}
.elementor-129 .elementor-button .elementor-button-text,.elementor-129 a.gp-btn span,.elementor-129 a.gp-btn *{color:inherit!important;font-weight:inherit!important;}
.elementor-129 .elementor-button .elementor-button-text::after,.elementor-129 a.gp-btn::after{content:"\2192";display:inline-block;margin-left:8px;transition:transform .3s ease;}
.elementor-129 .elementor-button:hover,.elementor-129 a.gp-btn:hover{transform:translateY(-2px);box-shadow:0 20px 44px -10px rgba(217,70,239,.8),inset 0 1px 0 rgba(255,255,255,.3);}
.elementor-129 .elementor-button:hover .elementor-button-text::after,.elementor-129 a.gp-btn:hover::after{transform:translateX(4px);}

/* ---------- glass cards (+ JS spotlight layer) ---------- */
.elementor-129 .gp-card{
  --mx:50%;--my:50%;position:relative;isolation:isolate;overflow:hidden;
  background:var(--g-card)!important;border:1px solid var(--g-line)!important;border-radius:24px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 30px 60px -40px rgba(0,0,0,.8);
  transition:border-color .4s ease,box-shadow .4s ease,transform .5s var(--g-ease);
}
.elementor-129 .gp-card:hover{border-color:var(--g-line2)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 80px -30px rgba(var(--g-glow),.55);}
.elementor-129 .gp-spot{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .35s ease;
  background:radial-gradient(420px circle at var(--mx) var(--my),rgba(167,139,250,.16),transparent 60%);}
.elementor-129 .gp-card:hover > .gp-spot{opacity:1;}
.elementor-129 .gp-card > *:not(.gp-spot){position:relative;z-index:1;}
.elementor-129 .gp-card .elementor-heading-title{font-size:clamp(22px,2vw,28px)!important;font-weight:700!important;line-height:1.15!important;}
.elementor-129 .gp-card p{margin:0;}

/* ---------- images (JS wraps each in .gp-frame) ---------- */
.elementor-129 .elementor-widget-image{width:100%!important;}
.elementor-129 .gp-frame{position:relative;display:block;overflow:hidden;border-radius:18px;aspect-ratio:16 / 10;background:var(--g-bg2);}
.elementor-129 .gp-frame img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;border-radius:0!important;transition:transform 1.2s var(--g-ease),filter .6s ease;}
.elementor-129 .gp-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.elementor-129 .gp-card:hover .gp-frame img,.elementor-129 .elementor-widget-image:hover .gp-frame img{transform:scale(1.05);}
html.gp-ready .elementor-129 .gp-img .gp-frame img{opacity:0;transform:scale(1.14);filter:blur(14px);transition:opacity 1s ease,transform 1.4s var(--g-ease),filter 1s ease;transition-delay:var(--d,0ms);}
html.gp-ready .elementor-129 .gp-img.gp-in .gp-frame img{opacity:1;transform:none;filter:none;}

/* ---------- callout (✦ icon) ---------- */
.elementor-129 .gp-callout{
  display:flex!important;gap:18px;align-items:flex-start;padding:26px 28px!important;border-radius:20px;
  background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(217,70,239,.06))!important;border:1px solid var(--g-line2)!important;
}
.elementor-129 .gp-callout::before{
  content:"\2726";flex:0 0 42px;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:18px;color:#fff;background:linear-gradient(135deg,#7c3aed,#d946ef);box-shadow:0 10px 24px -8px rgba(217,70,239,.7);
}
.elementor-129 .gp-callout p{margin:0;color:var(--g-soft)!important;}

/* ---------- hero: aurora, grid, pill, words, photo window ---------- */
.elementor-129 .gp-hero{position:relative;isolation:isolate;overflow:hidden;min-height:100vh!important;display:flex!important;align-items:center;
  padding:160px 24px 90px!important;background:transparent!important;background-image:none!important;}
.elementor-129 .gp-hero::before,.elementor-129 .gp-hero::after{display:none!important;}
.elementor-129 .gp-aurora{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.elementor-129 .gp-aurora i{position:absolute;display:block;border-radius:50%;filter:blur(70px);opacity:.75;mix-blend-mode:screen;}
.elementor-129 .gp-aurora .b1{width:620px;height:620px;left:-8%;top:-18%;background:radial-gradient(circle,rgba(124,58,237,.75),transparent 65%);animation:gpB1 18s ease-in-out infinite alternate;}
.elementor-129 .gp-aurora .b2{width:560px;height:560px;right:-6%;top:6%;background:radial-gradient(circle,rgba(217,70,239,.45),transparent 65%);animation:gpB2 22s ease-in-out infinite alternate;}
.elementor-129 .gp-aurora .b3{width:700px;height:520px;left:30%;bottom:-30%;background:radial-gradient(circle,rgba(99,102,241,.45),transparent 65%);animation:gpB3 20s ease-in-out infinite alternate;}
@keyframes gpB1{to{transform:translate(18%,22%) scale(1.15)}}
@keyframes gpB2{to{transform:translate(-22%,18%) scale(.9)}}
@keyframes gpB3{to{transform:translate(-14%,-16%) scale(1.1)}}
.elementor-129 .gp-aurora .gp-grid{position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);}
.elementor-129 .gp-hero > .e-con-inner{position:relative;z-index:2;display:grid!important;grid-template-columns:minmax(0,1fr);gap:26px 64px;align-items:center;width:100%;min-height:0!important;height:auto!important;padding-bottom:0!important;}
.elementor-129 .gp-hero.gp-has-win > .e-con-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);}
.elementor-129 .gp-hero > .e-con-inner > *{grid-column:1;}
.elementor-129 .gp-pill{
  justify-self:start;display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border-radius:999px;
  border:1px solid var(--g-line2);background:rgba(124,58,237,.12);backdrop-filter:blur(8px);
  font:600 13px/1 'Manrope',sans-serif;letter-spacing:.06em;color:var(--g-v3);
}
.elementor-129 .gp-pill i{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:gpPing 2s ease-out infinite;}
@keyframes gpPing{70%{box-shadow:0 0 0 9px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.elementor-129 .gp-h1 .elementor-heading-title{
  font-size:clamp(42px,5.6vw,84px)!important;font-weight:700!important;line-height:1.02!important;letter-spacing:-0.045em;
  color:#fff!important;
}
.elementor-129 .gp-w{display:inline-block;transition:opacity .9s ease,filter .9s ease,transform 1s var(--g-ease);transition-delay:calc(var(--i,0) * 70ms + 120ms);}
html.gp-ready .elementor-129 .gp-w{opacity:0;filter:blur(12px);transform:translateY(18px);}
html.gp-ready .elementor-129 .gp-hero-in .gp-w{opacity:1;filter:none;transform:none;}
.elementor-129 .gp-accent{background:linear-gradient(90deg,#c4b5fd,#a855f7 45%,#e879f9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.elementor-129 .gp-lead p{font-size:clamp(17px,1.35vw,20px)!important;color:var(--g-soft)!important;max-width:560px;margin:0;}
/* photo window */
.elementor-129 .gp-win{grid-column:2!important;grid-row:1 / span 4;position:relative;perspective:1600px;}
.elementor-129 .gp-win__glow{position:absolute;inset:8% 6%;border-radius:40px;background:radial-gradient(circle,rgba(168,85,247,.55),transparent 70%);filter:blur(60px);z-index:0;}
.elementor-129 .gp-win__box{
  position:relative;z-index:1;border-radius:24px;padding:10px;border:1px solid var(--g-line2);
  background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.03));backdrop-filter:blur(10px);
  box-shadow:0 60px 120px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.15);
  transform:rotateY(var(--ry,-12deg)) rotateX(var(--rx,6deg));transform-style:preserve-3d;transition:transform .6s var(--g-ease);
}
.elementor-129 .gp-win__bar{display:flex;gap:7px;padding:6px 6px 12px;}
.elementor-129 .gp-win__bar i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.18);}
.elementor-129 .gp-win__bar i:first-child{background:#f472b6;}.elementor-129 .gp-win__bar i:nth-child(2){background:#a78bfa;}.elementor-129 .gp-win__bar i:nth-child(3){background:#60a5fa;}
.elementor-129 .gp-win__img{display:block;aspect-ratio:4 / 3;border-radius:16px;background-size:cover;background-position:center;}
html.gp-ready .elementor-129 .gp-win{opacity:0;transform:translateY(40px);transition:opacity 1.2s ease .5s,transform 1.4s var(--g-ease) .5s;}
html.gp-ready .elementor-129 .gp-hero-in .gp-win{opacity:1;transform:none;}

/* ---------- scroll-lit statement ---------- */
.elementor-129 .gp-statement :is(h1,h2,h3,h4,p){
  margin:0;text-align:center!important;font-family:'Space Grotesk',sans-serif!important;
  font-size:clamp(26px,3.2vw,44px)!important;line-height:1.3!important;font-weight:600!important;letter-spacing:-0.03em;color:var(--g-head)!important;
}
.elementor-129 .gp-statement{max-width:1000px!important;margin:0 auto!important;}
.elementor-129 .gp-word{opacity:.16;transition:opacity .4s ease;}
.elementor-129 .gp-word.on{opacity:1;}
.elementor-129 .gp-word.on.hl{background:linear-gradient(90deg,#c4b5fd,#e879f9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* ---------- FAQ (glass accordion) ---------- */
.elementor-129 .gp-faq{width:100%!important;max-width:880px;margin:0 auto!important;}
.elementor-129 .gp-faq .e-n-accordion-item{
  margin:0 0 12px!important;border:1px solid var(--g-line)!important;border-radius:18px!important;background:var(--g-card)!important;overflow:hidden;
  transition:border-color .35s ease,background .35s ease,box-shadow .35s ease;
}
.elementor-129 .gp-faq .e-n-accordion-item::before{display:none!important;}
.elementor-129 .gp-faq .e-n-accordion-item:hover{border-color:rgba(167,139,250,.28)!important;}
.elementor-129 .gp-faq .e-n-accordion-item[open]{border-color:var(--g-line2)!important;background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(255,255,255,.02))!important;box-shadow:0 24px 60px -30px rgba(var(--g-glow),.6);}
.elementor-129 .gp-faq .e-n-accordion-item-title{
  display:flex!important;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 24px!important;border:0!important;background:transparent!important;cursor:pointer;list-style:none;
}
.elementor-129 .gp-faq .e-n-accordion-item-title::-webkit-details-marker{display:none;}
.elementor-129 .gp-faq .e-n-accordion-item-title-text{font:600 18px/1.4 'Space Grotesk',sans-serif!important;color:var(--g-head)!important;}
.elementor-129 .gp-faq .e-n-accordion-item-title-icon{
  position:relative;flex:0 0 36px;width:36px;height:36px;border-radius:50%;border:1px solid var(--g-line2);background:rgba(124,58,237,.12);
  transition:transform .45s var(--g-ease),background .3s ease;
}
.elementor-129 .gp-faq .e-n-accordion-item-title-icon > span{display:none!important;}
.elementor-129 .gp-faq .e-n-accordion-item-title-icon::before,
.elementor-129 .gp-faq .e-n-accordion-item-title-icon::after{content:"";position:absolute;top:50%;left:50%;width:13px;height:2px;border-radius:2px;background:var(--g-v3);transform:translate(-50%,-50%);}
.elementor-129 .gp-faq .e-n-accordion-item-title-icon::after{transform:translate(-50%,-50%) rotate(90deg);}
.elementor-129 .gp-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon{transform:rotate(135deg);background:linear-gradient(135deg,#7c3aed,#d946ef);border-color:transparent;}
.elementor-129 .gp-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon::before,
.elementor-129 .gp-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon::after{background:#fff;}
.elementor-129 .gp-faq .e-n-accordion-item > [role="region"]{padding:0 24px 24px!important;border:0!important;}
.elementor-129 .gp-faq .e-n-accordion-item[open] > [role="region"]{animation:gpFaq .5s var(--g-ease);}
@keyframes gpFaq{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.elementor-129 .gp-faq [role="region"] p{margin:0;}
.elementor-129 .gp-faq-head{text-align:center!important;margin-left:auto!important;margin-right:auto!important;}
.elementor-129 .gp-faq-head::before{margin-left:auto!important;margin-right:auto!important;}
.elementor-129 .gp-faq-head .elementor-heading-title{text-align:center!important;}

/* ---------- final CTA card with a rotating ring ---------- */
@property --gp-ang{syntax:'<angle>';inherits:false;initial-value:0deg;}
.elementor-129 .gp-cta > .e-con-inner{
  position:relative;isolation:isolate;overflow:hidden;display:flex!important;flex-direction:column;align-items:center;text-align:center;
  max-width:980px!important;margin:0 auto!important;padding:84px 40px!important;border-radius:32px;
  background:radial-gradient(ellipse 80% 70% at 50% 0%,rgba(124,58,237,.38),transparent 70%),linear-gradient(180deg,#120a24,#0b0616);
  box-shadow:0 60px 120px -50px rgba(var(--g-glow),.7);
}
.elementor-129 .gp-cta > .e-con-inner::before{
  content:"";position:absolute!important;inset:0!important;top:0!important;height:auto!important;border-radius:inherit;padding:1.5px;z-index:-1;pointer-events:none;
  background:conic-gradient(from var(--gp-ang),rgba(167,139,250,.15) 0 60%,#a78bfa 72%,#e879f9 80%,rgba(167,139,250,.15) 92%)!important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:gpRing 6s linear infinite;
}
@keyframes gpRing{to{--gp-ang:360deg}}
.elementor-129 .gp-cta .elementor-widget-text-editor{max-width:760px!important;}
.elementor-129 .gp-cta .elementor-widget-text-editor :is(p,h2,h3,h4),.elementor-129 .gp-cta .elementor-widget-text-editor :is(p,h2,h3,h4) :is(b,strong,span){
  text-align:center!important;margin:0;font-family:'Space Grotesk',sans-serif!important;color:#fff!important;
  font-size:clamp(24px,2.8vw,38px);line-height:1.25;font-weight:700;letter-spacing:-0.03em;
}
.elementor-129 .gp-cta .elementor-widget-button,.elementor-129 .gp-cta .gp-btn-wrap{margin-top:34px!important;text-align:center!important;}

/* ---------- reveals (hidden only once JS is running) ---------- */
html.gp-ready .elementor-129 .gp-up{opacity:0;transform:translateY(30px);filter:blur(8px);
  transition:opacity .9s ease,transform 1s var(--g-ease),filter .9s ease;transition-delay:var(--d,0ms);}
html.gp-ready .elementor-129 .gp-up.gp-in{opacity:1;transform:none;filter:none;}

/* ---------- responsive + motion ---------- */
@media (max-width:900px){
  .elementor-129 > .e-con.e-parent{padding-top:80px!important;padding-bottom:80px!important;}
  .elementor-129 > .e-con.e-parent:not(:first-child):not(:last-child) > .e-con-inner::before{top:-80px;}
  .elementor-129 .gp-hero{min-height:0!important;padding:130px 20px 60px!important;}
  .elementor-129 .gp-hero.gp-has-win > .e-con-inner{grid-template-columns:1fr;}
  .elementor-129 .gp-win{grid-column:1!important;grid-row:auto;margin-top:24px;}
  .elementor-129 .gp-win__box{transform:none;}
  .elementor-129 .gp-cta > .e-con-inner{padding:56px 22px!important;border-radius:24px;}
}
@media (prefers-reduced-motion:reduce){
  .elementor-129 *,.elementor-129 *::before,.elementor-129 *::after{animation:none!important;transition:none!important;}
  html.gp-ready .elementor-129 .gp-up,html.gp-ready .elementor-129 .gp-w,html.gp-ready .elementor-129 .gp-win{opacity:1;transform:none;filter:none;}
  html.gp-ready .elementor-129 .gp-img .gp-frame img{opacity:1;transform:none;filter:none;}
  .elementor-129 .gp-word{opacity:1;}
}

/* ================= PAGE 129 LAYOUT ================= */
.elementor-129 .elementor-element.elementor-element-4f942f3{background-image:none!important;}
/* hero card (88069fa) */
.elementor-129 .elementor-element.elementor-element-88069fa{
  width:100%!important;max-width:540px;margin-top:10px!important;padding:24px 26px!important;border-radius:20px;
  background:rgba(255,255,255,.05)!important;border:1px solid var(--g-line2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.elementor-129 .elementor-element-71e1ddd .elementor-heading-title{font-size:19px!important;font-weight:600!important;line-height:1.3!important;color:#fff!important;}
.elementor-129 .elementor-element-71e1ddd .elementor-heading-title::before{
  content:"";display:inline-block;width:9px;height:9px;margin-right:12px;vertical-align:middle;border-radius:50%;
  background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:gpPing 2s ease-out infinite;
}
.elementor-129 .elementor-element-308be57 p{margin:8px 0 0;font-size:15.5px;color:var(--g-text)!important;}

/* 3a48df2 — bento: two text tiles + tall image */
.elementor-129 .elementor-element.elementor-element-19d6321{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;width:100%!important;}
.elementor-129 .elementor-element.elementor-element-2dd8788{display:contents!important;}
.elementor-129 .elementor-element-4b3e12e{grid-column:1 / span 7;grid-row:1;padding:34px!important;}
.elementor-129 .elementor-element-9f2e6d3{grid-column:1 / span 7;grid-row:2;padding:34px!important;}
.elementor-129 .elementor-element-674a56a{grid-column:8 / -1;grid-row:1 / span 2;padding:10px!important;}
.elementor-129 .elementor-element-674a56a .gp-frame{aspect-ratio:auto;height:100%;min-height:360px;}
.elementor-129 .elementor-element-4b3e12e p{color:var(--g-head)!important;font-size:clamp(18px,1.5vw,21px);font-weight:500;line-height:1.6;}
.elementor-129 .elementor-element-9f9b12e{margin-top:20px!important;}

/* 6a84c72 — image window + text */
.elementor-129 .elementor-element.elementor-element-4fb22a0{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;width:100%!important;}
.elementor-129 .elementor-element-fb299ec{padding:10px;border-radius:24px;border:1px solid var(--g-line2);background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));box-shadow:0 50px 100px -40px rgba(var(--g-glow),.6);}
.elementor-129 .elementor-element-fb299ec .gp-frame{aspect-ratio:4 / 3.4;}
.elementor-129 .elementor-element.elementor-element-84dc0e7{display:flex!important;flex-direction:column;gap:22px;width:100%!important;}
.elementor-129 .elementor-element-c49362a p{margin:0;color:var(--g-head)!important;font-size:clamp(18px,1.5vw,21px);font-weight:500;line-height:1.6;}
.elementor-129 .elementor-element-7313e56 p{margin:0;}
.elementor-129 .elementor-element-8309fb8{margin-top:40px!important;}

/* 1e2e9a6 — two numbered cards */
.elementor-129 .elementor-element.elementor-element-1675bf0{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%!important;counter-reset:gptrust;}
.elementor-129 .elementor-element-40bfb0a,.elementor-129 .elementor-element-ac812be{counter-increment:gptrust;padding:36px!important;}
.elementor-129 .elementor-element-40bfb0a::before,.elementor-129 .elementor-element-ac812be::before{
  content:counter(gptrust,decimal-leading-zero);display:block;margin-bottom:20px;position:relative;z-index:1;
  font:700 56px/1 'Space Grotesk',sans-serif;letter-spacing:-0.04em;
  background:linear-gradient(135deg,#c4b5fd,#a855f7 50%,#e879f9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.elementor-129 .elementor-element-40bfb0a p{color:var(--g-head)!important;font-size:clamp(18px,1.5vw,20px);font-weight:500;line-height:1.6;}

/* a0d4055 — glow band */
.elementor-129 .elementor-element.elementor-element-a0d4055{position:relative;isolation:isolate;overflow:hidden;}
.elementor-129 .elementor-element-a0d4055 > .e-con-inner{display:flex!important;flex-direction:column;align-items:center;text-align:center;z-index:1;}
.elementor-129 .elementor-element-a0d4055 > .e-con-inner > .elementor-widget-heading{text-align:center!important;max-width:900px;}
.elementor-129 .elementor-element-a0d4055 > .e-con-inner > .elementor-widget-heading::before{margin-left:auto;margin-right:auto;}
.elementor-129 .elementor-element-a0d4055 .elementor-heading-title{text-align:center!important;}
.elementor-129 .elementor-element-a0d4055 > .e-con-inner::after{
  content:"";position:absolute;left:5%;right:5%;top:-30%;bottom:-30%;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(124,58,237,.30),rgba(217,70,239,.08) 45%,transparent 70%);filter:blur(30px);
}
.elementor-129 .elementor-element-6cbb14f{width:100%!important;max-width:760px;}
.elementor-129 .elementor-element-ce5fe14 p{text-align:center!important;font-size:18.5px;color:var(--g-soft)!important;}
.elementor-129 .elementor-element-ce5fe14 p:last-child{margin-top:30px;}

/* 941bd7c — CTA text */
.elementor-129 .elementor-element-dd7ff24 p:last-child{margin-top:34px!important;}
.elementor-129 .elementor-element-dd7ff24 p:last-child,.elementor-129 .elementor-element-dd7ff24 p:last-child *{font-size:16px!important;font-family:'Manrope',sans-serif!important;}

@media (max-width:1024px){
  .elementor-129 .elementor-element-4b3e12e,.elementor-129 .elementor-element-9f2e6d3,.elementor-129 .elementor-element-674a56a{grid-column:1 / -1;grid-row:auto;}
  .elementor-129 .elementor-element-674a56a .gp-frame{min-height:280px;}
}
@media (max-width:900px){
  .elementor-129 .elementor-element.elementor-element-4fb22a0,.elementor-129 .elementor-element.elementor-element-1675bf0{grid-template-columns:1fr;gap:28px;}
}
/*Marketing & Web Design Services CSS End*/