/* Spider Studios CMS live bridge v4 */
.hero .hero-copy,.hero .hero-art img{transition:opacity .42s ease,transform .55s cubic-bezier(.2,.7,.2,1),filter .55s ease}
.hero.cms-banner-out .hero-copy{opacity:.12;transform:translateY(8px)}
.hero.cms-banner-out .hero-art img{opacity:.12}
.hero.cms-fx-slide.cms-banner-out .hero-art img{transform:translateX(22px)}
.hero.cms-fx-zoom.cms-banner-out .hero-art img{transform:scale(1.025);filter:blur(1px)}
.hero.cms-fx-soft.cms-banner-out .hero-art img{transform:translateY(5px);filter:blur(.8px)}
.hero.cms-banner-in .hero-copy,.hero.cms-banner-in .hero-art img{opacity:1;transform:none;filter:none}
.cms-portfolio{padding:72px 4vw 86px;background:linear-gradient(180deg,#f8fbff,#fff)}
.cms-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:28px auto 0}
.cms-project-card{background:#fff;border:1px solid rgba(25,48,85,.09);border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(30,54,95,.08);transition:.3s}
.cms-project-card:hover{transform:translateY(-6px);box-shadow:0 24px 65px rgba(30,54,95,.13)}
.cms-project-card a{display:block;color:inherit;text-decoration:none}
.cms-project-image{height:230px;background:linear-gradient(135deg,#101c35,#314f83);display:grid;place-items:center;color:#fff;letter-spacing:2px;font-weight:800}
.cms-project-image img{width:100%;height:100%;object-fit:cover;display:block}
.cms-project-copy{padding:19px 20px 22px}
.cms-project-copy small{font-size:11px;font-weight:800;letter-spacing:1px;color:#7554e8;text-transform:uppercase}
.cms-project-copy h3{font-size:21px;margin:6px 0 8px;color:#0c173b}
.cms-project-copy p{font-size:13px;line-height:1.55;color:#687690;margin:0 0 14px}
.cms-project-copy b{font-size:12px;color:#245ee9}
@media(max-width:900px){.cms-project-grid{grid-template-columns:1fr 1fr}.cms-project-image{height:200px}}
@media(max-width:620px){.cms-project-grid{grid-template-columns:1fr}.cms-portfolio{padding:54px 18px 64px}}

/* v7 multilingual storefront */
.language-switcher{position:relative}
.language-switcher .lang{cursor:pointer}
.language-menu{position:absolute;right:0;top:calc(100% + 10px);width:170px;padding:8px;background:#fff;border:1px solid rgba(16,35,80,.1);border-radius:14px;box-shadow:0 18px 50px rgba(15,30,70,.16);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s ease;z-index:100}
.language-switcher:hover .language-menu,.language-switcher:focus-within .language-menu{opacity:1;visibility:visible;transform:none}
.language-menu a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;color:#101c48;text-decoration:none;font-size:13px;font-weight:700}
.language-menu a:hover,.language-menu a.active{background:#f2f5ff;color:#6b4cff}
.language-menu b{font-size:11px;opacity:.55}
@media(max-width:760px){.language-menu{right:-10px}.header-actions{gap:8px}}

/* v8 project-estimator bridge */
.selector-estimator-bar{
  margin-top:20px;padding:16px 18px;border:1px solid rgba(201,56,241,.18);
  border-radius:18px;background:linear-gradient(90deg,rgba(252,243,255,.9),rgba(248,243,255,.7));
  display:flex;align-items:center;justify-content:space-between;gap:18px
}
.selector-estimator-summary{display:flex;align-items:center;gap:10px;min-width:0;color:#26345e}
.selector-estimator-summary>i{width:10px;height:10px;border-radius:50%;background:#cc16df;box-shadow:0 0 0 6px rgba(204,22,223,.08);flex:0 0 auto}
.selector-estimator-summary span{font-size:14px;font-weight:700}
.selector-estimator-summary b{font-size:14px;color:#b60fc8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
.selector-estimator-cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:12px;padding:12px 18px;border-radius:14px;background:linear-gradient(135deg,#d500df,#a900e6);color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:800;box-shadow:0 10px 24px rgba(180,0,210,.2)}
.selector-estimator-cta:hover{transform:translateY(-1px)}
.selector-estimator-cta.disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){
 .selector-estimator-bar{align-items:stretch;flex-direction:column}
 .selector-estimator-summary{align-items:flex-start;flex-wrap:wrap}
 .selector-estimator-summary b{white-space:normal;max-width:none}
 .selector-estimator-cta{justify-content:center}
}

/* Service selector: start unselected and gently invite interaction. */
.lower-selector .service-select:not(.has-selection) .select-card{
  animation:serviceInvite 2.8s ease-in-out infinite;
  animation-delay:calc(var(--invite-index, 0) * 120ms);
}
.lower-selector .service-select:not(.has-selection) .select-card:hover{
  animation:none;
  transform:translateY(-4px) scale(1.015);
}
@keyframes serviceInvite{
  0%,100%{transform:translateY(0);box-shadow:0 12px 30px rgba(36,52,91,.055)}
  50%{transform:translateY(-3px);box-shadow:0 15px 34px color-mix(in srgb,var(--card-accent) 16%,transparent)}
}
@media (prefers-reduced-motion:reduce){.lower-selector .service-select:not(.has-selection) .select-card{animation:none}}

/* v9 service selector energy + estimator spotlight CTA */
.lower-selector{position:relative}
.lower-selector .select-card{
  position:relative;overflow:hidden;isolation:isolate;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease,background .28s ease;
  will-change:transform;
}
.lower-selector .select-card::before{
  content:"";position:absolute;inset:-45%;z-index:-1;pointer-events:none;
  background:conic-gradient(from 180deg,transparent 0 32%,color-mix(in srgb,var(--card-accent) 17%,transparent) 41%,transparent 50% 100%);
  opacity:.46;animation:serviceAura 7s linear infinite;
}
.lower-selector .select-card::after{
  content:"";position:absolute;left:12%;right:12%;bottom:-16px;height:28px;border-radius:50%;
  background:color-mix(in srgb,var(--card-accent) 18%,transparent);filter:blur(18px);opacity:.28;pointer-events:none;
  transition:opacity .25s ease,transform .25s ease;
}
.lower-selector .select-card .service-icon{transition:transform .3s cubic-bezier(.2,.8,.2,1),filter .3s ease}
.lower-selector .select-card:hover{transform:translateY(-7px) scale(1.018);border-color:color-mix(in srgb,var(--card-accent) 45%,#dbe5f7);box-shadow:0 22px 45px color-mix(in srgb,var(--card-accent) 16%,rgba(32,48,90,.09))}
.lower-selector .select-card:hover .service-icon{transform:translateY(-2px) scale(1.1) rotate(-3deg);filter:drop-shadow(0 7px 8px color-mix(in srgb,var(--card-accent) 26%,transparent))}
.lower-selector .select-card:hover::after{opacity:.62;transform:scaleX(1.08)}
.lower-selector .select-card.active{transform:translateY(-5px);box-shadow:0 20px 42px color-mix(in srgb,var(--card-accent) 20%,rgba(32,48,90,.08))}
.lower-selector .select-card.active .service-icon{animation:selectedIconBeat 1.9s ease-in-out infinite}
@keyframes serviceAura{to{transform:rotate(360deg)}}
@keyframes selectedIconBeat{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}

.selector-cta-stage{display:flex;justify-content:flex-end;align-items:center;min-height:82px;margin:8px 0 4px;position:relative}
.selector-estimator-cta--spotlight{
  position:relative;min-width:355px;padding:11px 13px 11px 18px;border-radius:22px;
  background:linear-gradient(115deg,#ca18df 0%,#7b35f5 47%,#168cff 100%);background-size:200% 200%;
  box-shadow:0 15px 35px rgba(121,52,232,.28),0 0 0 1px rgba(255,255,255,.35) inset;
  animation:ctaGradient 5s ease infinite,ctaFloat 2.6s ease-in-out infinite;
  overflow:hidden;isolation:isolate;
}
.selector-estimator-cta--spotlight::before{
  content:"";position:absolute;top:-80%;left:-32%;width:25%;height:260%;transform:rotate(24deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:ctaShine 3.4s ease-in-out infinite;z-index:-1
}
.selector-estimator-cta--spotlight::after{
  content:"";position:absolute;inset:-2px;border-radius:24px;z-index:-2;
  background:linear-gradient(90deg,#ff35db,#8054ff,#32bdff,#ff35db);background-size:300% 100%;filter:blur(9px);opacity:.32;animation:ctaBorderFlow 4s linear infinite
}
.selector-estimator-cta--spotlight .cta-copy{display:flex;flex-direction:column;gap:1px;line-height:1.12}
.selector-estimator-cta--spotlight .cta-copy small{font-size:9px;letter-spacing:1.7px;font-weight:900;opacity:.78}
.selector-estimator-cta--spotlight .cta-copy strong{font-size:14px;font-weight:900;color:#fff}
.selector-estimator-cta--spotlight .cta-arrow{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:19px;margin-left:auto;transition:.25s ease}
.selector-estimator-cta--spotlight:hover .cta-arrow{transform:translateX(3px) rotate(-8deg);background:rgba(255,255,255,.27)}
.cta-live-dot{width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.72);animation:ctaPulse 1.8s ease-out infinite;flex:0 0 auto}
.selector-cta-spark{position:absolute;right:330px;top:9px;width:54px;height:54px;pointer-events:none;opacity:.72}
.selector-cta-spark i{position:absolute;width:5px;height:5px;border-radius:50%;background:#a855f7;animation:sparkDrift 2.7s ease-in-out infinite}
.selector-cta-spark i:nth-child(1){left:8px;top:30px}.selector-cta-spark i:nth-child(2){left:27px;top:7px;animation-delay:.55s}.selector-cta-spark i:nth-child(3){right:3px;bottom:6px;animation-delay:1.05s}
.selector-estimator-cta--spotlight.disabled{opacity:.62;filter:saturate(.78);animation:ctaGradient 5s ease infinite;box-shadow:0 10px 24px rgba(121,52,232,.16)}
.selector-estimator-cta--spotlight.disabled .cta-live-dot{opacity:.55}
.selector-estimator-bar{margin-top:4px}
@keyframes ctaGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes ctaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes ctaShine{0%,55%{left:-32%}78%,100%{left:125%}}
@keyframes ctaBorderFlow{to{background-position:300% 0}}
@keyframes ctaPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.72)}70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@keyframes sparkDrift{0%,100%{transform:translate(0,0) scale(.75);opacity:.25}50%{transform:translate(5px,-8px) scale(1.15);opacity:.9}}
@media(max-width:760px){
  .selector-cta-stage{justify-content:stretch;min-height:78px;margin-top:14px}
  .selector-estimator-cta--spotlight{min-width:0;width:100%;justify-content:flex-start}
  .selector-cta-spark{display:none}
}
@media(prefers-reduced-motion:reduce){
  .lower-selector .select-card::before,.lower-selector .select-card.active .service-icon,.selector-estimator-cta--spotlight,.selector-estimator-cta--spotlight::before,.selector-estimator-cta--spotlight::after,.cta-live-dot,.selector-cta-spark i{animation:none!important}
}

/* v10 — estimator CTA lives as the final service card */
.lower-selector .service-select{align-items:stretch}
.lower-selector .selector-estimator-card{
  min-width:0!important;width:100%;height:auto;min-height:112px!important;margin:0!important;padding:12px 12px 11px!important;
  display:flex!important;flex-direction:column;align-items:stretch;justify-content:space-between;gap:7px;
  border-radius:24px 24px 34px 24px!important;position:relative;overflow:visible;isolation:isolate;
  color:#fff!important;text-decoration:none!important;background:linear-gradient(135deg,#d81bdc 0%,#7437f4 48%,#188dfb 100%)!important;
  background-size:220% 220%!important;border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:0 18px 36px rgba(103,59,230,.23),inset 0 0 0 1px rgba(255,255,255,.16)!important;
  animation:ctaGradient 5s ease infinite,ctaCardBreathe 2.7s ease-in-out infinite!important;
  transform:translateZ(0);transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,filter .28s ease!important;
}
.lower-selector .selector-estimator-card::before{
  content:"";position:absolute;z-index:-1;inset:1px;border-radius:22px 22px 32px 22px;
  background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.22),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.06),transparent 55%);
  pointer-events:none;
}
.lower-selector .selector-estimator-card::after{
  content:"";position:absolute;z-index:-2;inset:-5px;border-radius:28px 28px 38px 28px;
  background:linear-gradient(90deg,rgba(255,54,222,.6),rgba(122,82,255,.4),rgba(38,186,255,.65));filter:blur(12px);opacity:.35;pointer-events:none;
}
.lower-selector .selector-estimator-card:hover{transform:translateY(-7px) scale(1.018)!important;box-shadow:0 25px 48px rgba(94,57,226,.32),0 0 0 1px rgba(255,255,255,.32) inset!important;filter:saturate(1.08)}
.lower-selector .selector-estimator-card.disabled{opacity:.72!important;filter:saturate(.75);cursor:not-allowed;animation:ctaGradient 5s ease infinite,ctaCardIdle 3.2s ease-in-out infinite!important}
.lower-selector .selector-estimator-card.disabled:hover{transform:translateY(-3px)!important}
.cta-selection-pill{display:flex;align-items:center;gap:5px;min-height:23px;padding:4px 7px;border-radius:999px;background:rgba(18,49,171,.26);border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.15);white-space:nowrap;overflow:hidden}
.cta-selection-pill span,.cta-selection-pill b{font-size:8px!important;line-height:1.15;font-weight:900!important;color:#fff!important;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis}
.cta-selection-pill b{max-width:86px;opacity:.96}
.cta-mini-check{width:16px;height:16px;flex:0 0 16px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.55);font-size:9px!important}
.selector-estimator-card.disabled .cta-mini-check{font-size:0!important}.selector-estimator-card.disabled .cta-mini-check::before{content:"";width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.16)}
.cta-main-row{display:flex;align-items:center;gap:8px;min-width:0}
.selector-estimator-card .cta-copy{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.02}
.selector-estimator-card .cta-copy small{font-size:7px!important;letter-spacing:1.35px!important;font-weight:900!important;opacity:.78}
.selector-estimator-card .cta-copy strong{font-size:12px!important;line-height:1.05!important;font-weight:900!important;color:#fff!important;text-wrap:balance}
.selector-estimator-card .cta-arrow{width:34px!important;height:34px!important;flex:0 0 34px;border-radius:50%!important;display:grid!important;place-items:center!important;margin-left:auto!important;background:rgba(255,255,255,.92)!important;color:#2873f6!important;box-shadow:0 7px 18px rgba(34,35,126,.19);font-size:19px!important;transition:.25s ease!important}
.selector-estimator-card:hover .cta-arrow{transform:translateX(3px) rotate(-8deg) scale(1.06)!important;background:#fff!important}
.cta-helper{font-size:7.5px;line-height:1.25;font-weight:650;color:rgba(255,255,255,.82);max-width:135px}
.cta-corner-spark{position:absolute;right:-15px;top:-18px;width:44px;height:44px;pointer-events:none}
.cta-corner-spark i{position:absolute;display:block;width:3px;height:17px;border-radius:99px;background:linear-gradient(180deg,#d91edc,#8146ff);box-shadow:0 0 9px rgba(181,48,239,.25);animation:ctaSparkRay 1.8s ease-in-out infinite}
.cta-corner-spark i:nth-child(1){right:19px;top:0;transform:rotate(6deg)}
.cta-corner-spark i:nth-child(2){right:2px;top:14px;transform:rotate(48deg);animation-delay:.18s}
.cta-corner-spark i:nth-child(3){right:30px;top:18px;height:12px;transform:rotate(-48deg);animation-delay:.36s}
@keyframes ctaCardBreathe{0%,100%{box-shadow:0 18px 36px rgba(103,59,230,.23),inset 0 0 0 1px rgba(255,255,255,.16)}50%{box-shadow:0 23px 44px rgba(103,59,230,.31),0 0 23px rgba(211,38,231,.14),inset 0 0 0 1px rgba(255,255,255,.22)}}
@keyframes ctaCardIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes ctaSparkRay{0%,100%{opacity:.32;filter:blur(.2px)}50%{opacity:1;filter:blur(0)}}
@media(max-width:1200px){
  .lower-selector .selector-estimator-card{min-height:112px!important}
}
@media(max-width:640px){
  .service-select .selector-estimator-card{min-width:82%!important;scroll-snap-align:start;min-height:132px!important;padding:14px!important}
  .selector-estimator-card .cta-copy strong{font-size:15px!important}.selector-estimator-card .cta-copy small{font-size:8px!important}.cta-helper{font-size:9px;max-width:190px}.cta-selection-pill span,.cta-selection-pill b{font-size:9px!important}.cta-selection-pill b{max-width:130px}
}
@media(prefers-reduced-motion:reduce){.selector-estimator-card,.cta-corner-spark i{animation:none!important}}

/* Clean estimator CTA card — Spider Studios theme */
.lower-selector .selector-estimator-card{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  min-height:160px!important;
  padding:18px 18px 17px!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,#d918d8 0%,#8448f5 46%,#2795f5 100%)!important;
  background-size:100% 100%!important;
  border:1px solid rgba(255,255,255,.68)!important;
  box-shadow:0 14px 30px rgba(88,74,213,.20),inset 0 1px 0 rgba(255,255,255,.28)!important;
  animation:none!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:16px!important;
  color:#fff!important;
  transform:none!important;
  transition:transform .26s cubic-bezier(.2,.8,.2,1),box-shadow .26s ease,filter .26s ease!important;
}
.lower-selector .selector-estimator-card::before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  inset:0!important;
  border-radius:inherit!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(255,255,255,.28),transparent 28%),
    linear-gradient(115deg,transparent 20%,rgba(255,255,255,.14) 45%,transparent 67%)!important;
  transform:translateX(-45%)!important;
  transition:transform .65s ease!important;
  pointer-events:none!important;
}
.lower-selector .selector-estimator-card::after{display:none!important}
.lower-selector .selector-estimator-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 20px 38px rgba(70,77,205,.27),inset 0 1px 0 rgba(255,255,255,.34)!important;
  filter:saturate(1.03)!important;
}
.lower-selector .selector-estimator-card:hover::before{transform:translateX(38%)!important}
.lower-selector .selector-estimator-card.disabled{
  opacity:.58!important;
  filter:saturate(.64)!important;
  cursor:not-allowed!important;
  animation:none!important;
}
.lower-selector .selector-estimator-card.disabled:hover{transform:none!important;box-shadow:0 14px 30px rgba(88,74,213,.16),inset 0 1px 0 rgba(255,255,255,.24)!important}
.cta-selection-pill{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:30px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(20,38,126,.18)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.cta-selection-pill span,.cta-selection-pill b{
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:#fff!important;
  letter-spacing:.01em!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.cta-selection-pill b{max-width:100px!important;opacity:.92!important}
.cta-mini-check{
  width:18px!important;height:18px!important;flex:0 0 18px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;background:rgba(255,255,255,.96)!important;
  color:#6a55ec!important;border:0!important;font-size:10px!important;font-weight:900!important;
  box-shadow:0 4px 10px rgba(51,49,145,.16)!important;
}
.selector-estimator-card.disabled .cta-mini-check{font-size:0!important;background:rgba(255,255,255,.86)!important}
.selector-estimator-card.disabled .cta-mini-check::before{content:""!important;width:5px!important;height:5px!important;border-radius:50%!important;background:#7857ee!important;box-shadow:none!important}
.cta-main-row{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important}
.selector-estimator-card .cta-copy{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important;line-height:1!important}
.selector-estimator-card .cta-copy strong{
  font-size:19px!important;line-height:1.02!important;font-weight:900!important;color:#fff!important;
  letter-spacing:-.025em!important;text-wrap:balance!important;
}
.selector-estimator-card .cta-copy small{
  order:2!important;font-size:11px!important;line-height:1.2!important;letter-spacing:0!important;font-weight:700!important;
  opacity:.82!important;text-transform:none!important;
}
.selector-estimator-card .cta-arrow{
  width:48px!important;height:48px!important;flex:0 0 48px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;margin-left:auto!important;
  background:#fff!important;color:#367bf1!important;box-shadow:0 8px 18px rgba(38,42,139,.22)!important;
  font-size:24px!important;transition:transform .25s ease,box-shadow .25s ease!important;
}
.selector-estimator-card:hover .cta-arrow{transform:translateX(4px)!important;box-shadow:0 10px 22px rgba(38,42,139,.27)!important}
.cta-corner-spark,.cta-helper{display:none!important}
@media(max-width:1200px){.lower-selector .selector-estimator-card{min-height:150px!important;padding:16px!important}.selector-estimator-card .cta-copy strong{font-size:17px!important}.selector-estimator-card .cta-arrow{width:44px!important;height:44px!important;flex-basis:44px!important}}
@media(max-width:640px){.service-select .selector-estimator-card{min-width:84%!important;min-height:142px!important;padding:17px!important}.selector-estimator-card .cta-copy strong{font-size:18px!important}.selector-estimator-card .cta-copy small{font-size:11px!important}.cta-selection-pill span,.cta-selection-pill b{font-size:9px!important}.cta-selection-pill b{max-width:150px!important}}
@media(prefers-reduced-motion:reduce){.lower-selector .selector-estimator-card::before{transition:none!important}.lower-selector .selector-estimator-card:hover::before{transform:translateX(-45%)!important}}

/* v13 — clean wide estimator CTA at the end of the service row */
@media (min-width:1201px){
  .lower-selector .service-select{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr)) minmax(260px,1.38fr)!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  .lower-selector .select-card{
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
  }
  .lower-selector .selector-estimator-card{
    width:100%!important;
    min-width:260px!important;
    max-width:none!important;
    height:auto!important;
    min-height:111px!important;
    padding:15px 16px!important;
    border-radius:18px!important;
    gap:10px!important;
    justify-content:center!important;
  }
  .lower-selector .selector-estimator-card .cta-selection-pill{
    width:100%!important;
    max-width:100%!important;
    min-height:27px!important;
    padding:5px 9px!important;
  }
  .lower-selector .selector-estimator-card .cta-selection-pill span,
  .lower-selector .selector-estimator-card .cta-selection-pill b{
    font-size:10px!important;
  }
  .lower-selector .selector-estimator-card .cta-selection-pill b{
    max-width:118px!important;
  }
  .lower-selector .selector-estimator-card .cta-main-row{
    gap:10px!important;
    width:100%!important;
  }
  .lower-selector .selector-estimator-card .cta-copy strong{
    font-size:17px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }
  .lower-selector .selector-estimator-card .cta-arrow{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    font-size:21px!important;
  }
}

@media (min-width:1201px) and (max-width:1450px){
  .lower-selector .service-select{
    grid-template-columns:repeat(6,minmax(0,1fr)) minmax(230px,1.25fr)!important;
    gap:9px!important;
  }
  .lower-selector .selector-estimator-card{min-width:230px!important;padding:13px 14px!important}
  .lower-selector .selector-estimator-card .cta-copy strong{font-size:15px!important}
  .lower-selector .selector-estimator-card .cta-arrow{width:38px!important;height:38px!important;flex-basis:38px!important}
}

/* v13.1 — readable, animated service-selection CTA */
.lower-selector .selector-estimator-card{
  background:linear-gradient(135deg,#cf2cdb 0%,#8152ef 48%,#3196ee 100%)!important;
  background-size:220% 220%!important;
  animation:ctaSelectionGradient 7s ease-in-out infinite,ctaSelectionGlow 3.2s ease-in-out infinite!important;
}
.lower-selector .selector-estimator-card::before{
  background:linear-gradient(110deg,transparent 22%,rgba(255,255,255,.24) 44%,transparent 65%)!important;
  transform:translateX(-125%)!important;
  animation:ctaSelectionShine 4.8s ease-in-out infinite!important;
  transition:none!important;
}
.lower-selector .selector-estimator-card:hover::before{transform:translateX(-125%)!important}
.lower-selector .selector-estimator-card .cta-selection-pill{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:8px!important;
  row-gap:2px!important;
  width:100%!important;
  max-width:none!important;
  min-height:44px!important;
  padding:7px 10px!important;
  border-radius:14px!important;
  white-space:normal!important;
  overflow:visible!important;
  background:rgba(21,35,119,.18)!important;
  backdrop-filter:blur(8px)!important;
}
.lower-selector .selector-estimator-card .cta-mini-check{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
}
.lower-selector .selector-estimator-card .cta-selection-pill #selectorSelectedText,
.lower-selector .selector-estimator-card .cta-selection-pill #selectorSelectedNames{
  grid-column:2!important;
  max-width:none!important;
  width:100%!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
.lower-selector .selector-estimator-card .cta-selection-pill #selectorSelectedText{
  grid-row:1!important;
  font-size:9px!important;
  line-height:1.2!important;
  opacity:.78!important;
}
.lower-selector .selector-estimator-card .cta-selection-pill #selectorSelectedNames{
  grid-row:2!important;
  display:block!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:900!important;
  opacity:1!important;
  overflow-wrap:anywhere!important;
}
.lower-selector .selector-estimator-card .cta-arrow{
  position:relative!important;
  top:-5px!important;
  animation:ctaArrowBreathe 2.2s ease-in-out infinite!important;
}
.lower-selector .selector-estimator-card:hover .cta-arrow{
  animation:none!important;
  transform:translateX(5px) scale(1.07)!important;
}
.lower-selector .selector-estimator-card.disabled{
  animation:ctaSelectionGradient 8s ease-in-out infinite!important;
}
@keyframes ctaSelectionGradient{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
@keyframes ctaSelectionGlow{
  0%,100%{box-shadow:0 14px 30px rgba(88,74,213,.20),inset 0 1px 0 rgba(255,255,255,.28)}
  50%{box-shadow:0 19px 38px rgba(92,66,221,.31),0 0 22px rgba(207,44,219,.13),inset 0 1px 0 rgba(255,255,255,.34)}
}
@keyframes ctaSelectionShine{
  0%,58%{transform:translateX(-125%)}
  82%,100%{transform:translateX(125%)}
}
@keyframes ctaArrowBreathe{
  0%,100%{transform:translateX(0) scale(1);box-shadow:0 8px 18px rgba(38,42,139,.22)}
  50%{transform:translateX(3px) scale(1.05);box-shadow:0 10px 24px rgba(38,42,139,.30)}
}
@media(max-width:640px){
  .lower-selector .selector-estimator-card .cta-selection-pill #selectorSelectedText{font-size:10px!important}
  .lower-selector .selector-estimator-card .cta-selection-pill #selectorSelectedNames{font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){
  .lower-selector .selector-estimator-card,
  .lower-selector .selector-estimator-card::before,
  .lower-selector .selector-estimator-card .cta-arrow{animation:none!important}
}

/* v13.2 — two expressive CTA states: invitation and confirmed selection */
.lower-selector .selector-estimator-card.disabled{
  opacity:1!important;
  filter:none!important;
  cursor:pointer!important;
  background:linear-gradient(130deg,#ff2c86 0%,#f044c8 35%,#8b4cf1 70%,#268df4 100%)!important;
  background-size:280% 280%!important;
  border-color:rgba(255,255,255,.82)!important;
  box-shadow:0 18px 38px rgba(218,48,174,.27),0 0 0 5px rgba(240,68,200,.07),inset 0 1px 0 rgba(255,255,255,.42)!important;
  animation:ctaIdleColor 5.5s ease-in-out infinite,ctaIdleLift 2.8s ease-in-out infinite!important;
}
.lower-selector .selector-estimator-card.disabled:hover{
  transform:translateY(-6px) scale(1.018)!important;
  filter:saturate(1.1)!important;
  box-shadow:0 25px 48px rgba(209,45,180,.34),0 0 0 6px rgba(240,68,200,.1),inset 0 1px 0 rgba(255,255,255,.48)!important;
}
.lower-selector .selector-estimator-card.disabled::after,
.lower-selector .selector-estimator-card:not(.disabled)::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  inset:-2px!important;
  border-radius:20px!important;
  padding:2px!important;
  background:linear-gradient(90deg,#fff,#ff9cda,#8f78ff,#77d7ff,#fff)!important;
  background-size:300% 100%!important;
  animation:ctaBorderTravel 3.2s linear infinite!important;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  pointer-events:none!important;
}
.lower-selector .selector-estimator-card > *{position:relative!important;z-index:1!important}
.lower-selector .selector-estimator-card.disabled .cta-selection-pill{
  background:rgba(93,22,125,.23)!important;
  border-color:rgba(255,255,255,.52)!important;
  animation:ctaPromptPulse 2s ease-in-out infinite!important;
}
.lower-selector .selector-estimator-card.disabled .cta-mini-check{
  background:#fff!important;
  box-shadow:0 0 0 0 rgba(255,255,255,.65)!important;
  animation:ctaPromptDot 1.8s ease-out infinite!important;
}
.lower-selector .selector-estimator-card.disabled .cta-arrow{
  color:#e72a9c!important;
  animation:ctaIdleArrow 1.35s ease-in-out infinite!important;
}
.lower-selector .selector-estimator-card:not(.disabled){
  background:linear-gradient(130deg,#7848f3 0%,#5667f4 45%,#1ca9ed 100%)!important;
  background-size:220% 220%!important;
  border-color:rgba(195,242,255,.9)!important;
  box-shadow:0 20px 43px rgba(74,82,225,.31),0 0 26px rgba(38,183,239,.16),inset 0 1px 0 rgba(255,255,255,.4)!important;
  animation:ctaSelectedColor 5s ease-in-out infinite,ctaSelectedBreathe 2.5s ease-in-out infinite!important;
}
.lower-selector .selector-estimator-card:not(.disabled) .cta-selection-pill{
  background:rgba(15,42,132,.30)!important;
  border-color:rgba(180,240,255,.52)!important;
}
.lower-selector .selector-estimator-card:not(.disabled) .cta-mini-check{
  color:#fff!important;
  background:linear-gradient(135deg,#26d39a,#14b8a6)!important;
  box-shadow:0 0 0 5px rgba(38,211,154,.16),0 6px 14px rgba(9,92,95,.24)!important;
  animation:ctaSelectedCheck 1.7s ease-in-out infinite!important;
}
.lower-selector .selector-estimator-card:not(.disabled) .cta-arrow{
  color:#5368ef!important;
  animation:ctaReadyArrow 1.8s ease-in-out infinite!important;
}
@keyframes ctaIdleColor{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes ctaIdleLift{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes ctaBorderTravel{to{background-position:300% 0}}
@keyframes ctaPromptPulse{0%,100%{transform:scale(1);background-color:rgba(93,22,125,.23)}50%{transform:scale(1.015);background-color:rgba(93,22,125,.32)}}
@keyframes ctaPromptDot{0%{box-shadow:0 0 0 0 rgba(255,255,255,.65)}70%,100%{box-shadow:0 0 0 8px rgba(255,255,255,0)}}
@keyframes ctaIdleArrow{0%,100%{transform:translateX(0) scale(1)}50%{transform:translateX(6px) scale(1.08)}}
@keyframes ctaSelectedColor{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes ctaSelectedBreathe{0%,100%{filter:saturate(1);transform:translateY(0)}50%{filter:saturate(1.12);transform:translateY(-3px)}}
@keyframes ctaSelectedCheck{0%,100%{transform:scale(1)}50%{transform:scale(1.13) rotate(-5deg)}}
@keyframes ctaReadyArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media(prefers-reduced-motion:reduce){
  .lower-selector .selector-estimator-card.disabled,
  .lower-selector .selector-estimator-card:not(.disabled),
  .lower-selector .selector-estimator-card::after,
  .lower-selector .selector-estimator-card .cta-selection-pill,
  .lower-selector .selector-estimator-card .cta-mini-check,
  .lower-selector .selector-estimator-card .cta-arrow{animation:none!important}
}

/* software hero monitor overlay */
@media (min-width:1101px){
  body.software-native .hero-art{position:relative;min-height:520px;overflow:visible}
  body.software-native .software-monitor{position:absolute!important;top:138px!important;right:-46px!important;width:470px!important;margin:0!important;transform:rotate(-.45deg)!important;z-index:4!important}
}
@media (min-width:761px) and (max-width:1100px){
  body.software-native .hero-art{position:relative;min-height:470px;overflow:visible}
  body.software-native .software-monitor{position:absolute!important;top:130px!important;right:-12px!important;width:430px!important;margin:0!important;transform:rotate(-.35deg)!important;z-index:4!important}
}
@media (max-width:760px){
  body.software-native .hero-art{position:relative;min-height:auto}
  body.software-native .software-monitor{position:relative!important;top:auto!important;right:auto!important;width:100%!important;margin:24px 0 0!important;transform:none!important}
}

/* software layout containment + contrast fix */
body.software-native{overflow-x:hidden}
body.software-native .top-stage,
body.software-native .hero,
body.software-native .hero-art{overflow:hidden}
body.software-native .hero-art{display:flex;align-items:center;justify-content:flex-end;min-width:0}
body.software-native .software-monitor{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  left:auto!important;
  width:min(520px,100%)!important;
  max-width:100%!important;
  margin:0!important;
  transform:rotate(-.35deg)!important;
  z-index:2!important;
  box-sizing:border-box!important;
}
body.software-native .software-monitor-inner{max-width:100%;box-sizing:border-box}
body.software-native .hero{align-items:center}
body.software-native .selector{position:relative;z-index:1}
body.software-native .journey{position:relative;z-index:1;clear:both}

body.software-native .soft-trust,
body.software-native .hero .eyebrow,
body.software-native .software-service-select small,
body.software-native .journey-track article p,
body.software-native .journey .mini-kicker{
  opacity:1!important;
}
body.software-native .hero .eyebrow,
body.software-native .journey .mini-kicker{
  color:#ff68bd!important;
  font-weight:900!important;
}
body.software-native .software-service-select small{
  color:#5e6a84!important;
  font-weight:600!important;
}
body.software-native .journey-track article p{
  color:#d6def5!important;
  font-weight:500!important;
  line-height:1.6!important;
}
body.software-native .journey-track article b,
body.software-native .journey-track article i{
  color:#fff!important;
}
body.software-native .select-cue{
  font-weight:900!important;
  opacity:1!important;
}

@media (min-width:1101px){
  body.software-native .hero-art{padding-right:24px}
  body.software-native .software-monitor{
    width:min(500px,100%)!important;
    margin-left:auto!important;
  }
}
@media (min-width:761px) and (max-width:1100px){
  body.software-native .hero-art{padding-right:0}
  body.software-native .software-monitor{
    width:min(450px,100%)!important;
    margin-left:auto!important;
  }
}
@media (max-width:760px){
  body.software-native .hero-art{overflow:visible;padding:0}
  body.software-native .software-monitor{
    width:100%!important;
    max-width:100%!important;
    margin:22px auto 0!important;
    transform:none!important;
  }
}

/* final software visual consistency pass */
body.software-native{
  --software-container:1180px;
  --software-section-space:72px;
  overflow-x:hidden;
}
body.software-native .lower-experience,
body.software-native .software-catalog,
body.software-native .native-feature-band,
body.software-native .swiss-ready,
body.software-native .software-process,
body.software-native .software-pricing,
body.software-native .software-faq,
body.software-native .proposal{
  width:min(var(--software-container),calc(100% - 32px))!important;
  max-width:var(--software-container)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.software-native .native-feature-band,
body.software-native .swiss-ready,
body.software-native .software-process,
body.software-native .software-pricing,
body.software-native .software-faq{
  padding-top:var(--software-section-space)!important;
  padding-bottom:var(--software-section-space)!important;
}
body.software-native .software-catalog{
  margin-top:32px!important;
  margin-bottom:var(--software-section-space)!important;
}
body.software-native .native-feature-band{
  margin-top:0!important;
  background:#f7f9ff!important;
  border-radius:24px!important;
}
body.software-native .software-catalog + .native-feature-band{
  margin-top:28px!important;
}

/* demo section contrast */
body.software-native .proposal,
body.software-native .proposal *{
  opacity:1!important;
}
body.software-native .proposal{
  background:#f7f9ff!important;
  color:#1e293b!important;
}
body.software-native .proposal-copy h2,
body.software-native .proposal-copy p,
body.software-native .proposal .trust b,
body.software-native .proposal .proposal-pulse b,
body.software-native .proposal .proposal-pulse small,
body.software-native .privacy-consent,
body.software-native .privacy-consent span{
  color:#475569!important;
  opacity:1!important;
}
body.software-native .proposal-copy h2,
body.software-native .proposal .proposal-pulse b{
  color:#1e293b!important;
}
body.software-native .proposal .trust b{
  background:#fff!important;
  border:1px solid #dbe3ef!important;
  color:#1e293b!important;
  font-size:14px!important;
  line-height:1.3!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
}
body.software-native .proposal .proposal-pulse{
  background:#fff!important;
  border:1px solid #dbe3ef!important;
}
body.software-native .proposal .proposal-pulse small{
  font-size:14px!important;
  color:#64748b!important;
}
body.software-native .privacy-consent{
  font-size:14px!important;
  line-height:1.55!important;
  color:#475569!important;
}
body.software-native .privacy-consent a{
  color:#1e293b!important;
  text-decoration:underline!important;
  font-weight:800!important;
}
body.software-native .whatsapp-btn{
  background:#fff!important;
  color:#1e293b!important;
  border:1px solid #cbd5e1!important;
  font-size:14px!important;
}
body.software-native .whatsapp-btn:hover{
  background:#eef5ff!important;
  color:#0f172a!important;
}
body.software-native #softwareLeadMsg{
  color:#475569!important;
}

/* buttons */
body.software-native .cta,
body.software-native .journey-cta,
body.software-native .pricing-card .cta{
  padding-left:26px!important;
  padding-right:26px!important;
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  white-space:nowrap!important;
  line-height:1.2!important;
}
body.software-native .hero-actions{
  margin-top:28px!important;
}
body.software-native .hero-copy h1{
  letter-spacing:-.038em!important;
}
body.software-native .hero-copy p{
  margin-bottom:0!important;
}

/* hero: only software visual */
body.software-native .hero-art{
  background:none!important;
  overflow:visible!important;
}
body.software-native .hero-art>img,
body.software-native .hero-art picture,
body.software-native .hero-art .hero-visual,
body.software-native .hero-art .hero-illustration{
  display:none!important;
}
body.software-native .hero-art:before,
body.software-native .hero-art:after{
  content:none!important;
  display:none!important;
}
body.software-native .software-monitor{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  top:auto!important;
  right:auto!important;
  left:auto!important;
  width:min(540px,100%)!important;
  max-width:100%!important;
  margin:0 0 0 auto!important;
  transform:rotate(-.3deg)!important;
}

/* heading and alignment consistency */
body.software-native .section-head,
body.software-native .software-catalog-head{
  max-width:760px!important;
  margin-left:0!important;
  margin-right:auto!important;
  text-align:left!important;
}
body.software-native .software-catalog-head h2{
  text-wrap:balance;
  max-width:760px!important;
}
body.software-native .software-catalog-head p{
  margin-left:0!important;
  margin-right:0!important;
}
body.software-native .software-catalog-head h2 span{
  display:inline!important;
}

/* card chips */
body.software-native .software-tags{
  gap:6px!important;
}
body.software-native .software-tags span{
  font-size:11px!important;
  padding:5px 7px!important;
  white-space:nowrap!important;
}
body.software-native .software-product-card .software-select{
  font-size:14px!important;
}

/* status tags and tiny text */
body.software-native .swiss-grid article span{
  font-size:12px!important;
  line-height:1.2!important;
  padding:6px 9px!important;
}
body.software-native .screen-bar b,
body.software-native .food-items small,
body.software-native .order-ticket b,
body.software-native .stock-lines small,
body.software-native .receipt b,
body.software-native .invoice-box b{
  font-size:10px!important;
}
body.software-native .enhanced-footer span,
body.software-native .footer-contact span{
  font-size:12px!important;
  color:#cbd5e1!important;
  opacity:1!important;
}

/* pricing */
body.software-native .pricing-card{
  min-height:260px!important;
  padding:42px!important;
  gap:44px!important;
}
body.software-native .pricing-side{
  gap:12px!important;
}
body.software-native .pricing-side b{
  font-size:22px!important;
}
body.software-native .pricing-side span{
  font-size:14px!important;
  line-height:1.5!important;
}

/* FAQ affordance */
body.software-native .faq-grid details{
  position:relative!important;
  padding-right:52px!important;
}
body.software-native .faq-grid summary{
  list-style:none!important;
  padding-right:28px!important;
}
body.software-native .faq-grid summary::-webkit-details-marker{
  display:none!important;
}
body.software-native .faq-grid summary:after{
  content:"+"!important;
  position:absolute!important;
  right:18px!important;
  top:14px!important;
  width:28px!important;
  height:28px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#eef4ff!important;
  color:#315fe8!important;
  font-size:20px!important;
  font-weight:800!important;
}
body.software-native .faq-grid details[open] summary:after{
  content:"−"!important;
}

/* smoother hero-to-catalog transition */
body.software-native .top-stage{
  padding-bottom:30px!important;
}
body.software-native .software-catalog{
  position:relative!important;
  z-index:1!important;
}

@media(max-width:900px){
  body.software-native{--software-section-space:58px}
  body.software-native .software-monitor{margin:20px auto 0!important}
}
@media(max-width:620px){
  body.software-native .pricing-card{padding:28px!important}
  body.software-native .software-tags span{font-size:10px!important}
}

/* compact software section spacing */
body.software-native{--software-section-space:44px}
body.software-native .software-catalog{
  margin-top:22px!important;
  margin-bottom:26px!important;
}
body.software-native .native-feature-band{
  padding-top:44px!important;
  padding-bottom:44px!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
body.software-native .swiss-ready,
body.software-native .software-process,
body.software-native .software-pricing,
body.software-native .software-faq{
  padding-top:44px!important;
  padding-bottom:44px!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
body.software-native .proposal{
  margin-top:24px!important;
  margin-bottom:28px!important;
}
body.software-native .section-head{
  margin-bottom:24px!important;
}
body.software-native .software-catalog-head{
  margin-bottom:28px!important;
}
body.software-native .software-catalog-cta{
  margin-top:24px!important;
}
body.software-native .pricing-card{
  margin-top:0!important;
}
body.software-native .faq-grid{
  margin-top:0!important;
}
body.software-native .enhanced-footer{
  margin-top:20px!important;
}
@media(max-width:900px){
  body.software-native{--software-section-space:38px}
  body.software-native .native-feature-band,
  body.software-native .swiss-ready,
  body.software-native .software-process,
  body.software-native .software-pricing,
  body.software-native .software-faq{
    padding-top:38px!important;
    padding-bottom:38px!important;
  }
}
@media(max-width:620px){
  body.software-native .software-catalog{margin-bottom:20px!important}
  body.software-native .proposal{margin-top:18px!important}
}
