/* PROVE / 006 — a more colourful editorial system built around real examples. */
:root{--prove-blue:#2448e8;--prove-lime:#dcf65a;--prove-coral:#ff7966;--prove-mint:#9edfc8}
.scroll-progress{background:var(--prove-lime)}
.hero{position:relative;isolation:isolate;overflow:hidden;background:#2547dd;color:#fff}
.hero:before{content:"";position:absolute;z-index:-2;inset:-8%;background:radial-gradient(circle at 83% 23%,rgba(143,125,255,.68),transparent 27%),radial-gradient(circle at 68% 77%,rgba(21,199,201,.28),transparent 34%),radial-gradient(circle at 9% 88%,rgba(16,31,143,.58),transparent 38%),linear-gradient(122deg,#1636bf 0%,#2858e8 52%,#3b36bd 100%);animation:hero-colour 18s ease-in-out infinite alternate}
.hero:after{display:block;content:"";position:absolute;z-index:-1;inset:0;width:auto;height:auto;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:clamp(52px,6vw,92px) clamp(52px,6vw,92px);mask-image:linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,.2) 48%,#000);opacity:.5;pointer-events:none}
.hero-atmosphere{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.hero-ring{position:absolute;top:-24vw;right:-14vw;width:70vw;aspect-ratio:1;border:1px solid rgba(255,255,255,.33);border-radius:50%;box-shadow:0 0 0 10vw rgba(255,255,255,.045),0 0 0 19vw rgba(255,255,255,.035);animation:hero-ring-drift 16s ease-in-out infinite alternate}
.hero-ring:after{content:"";position:absolute;inset:18%;border:1px solid rgba(255,255,255,.3);border-radius:50%}
.hero-beam{position:absolute;top:-30%;left:52%;width:16vw;height:150%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:rotate(24deg);mix-blend-mode:screen;animation:hero-beam-drift 12s ease-in-out infinite alternate}
.hero-backword{position:absolute;bottom:-.25em;left:-.055em;color:transparent;font-size:clamp(230px,32vw,570px);font-weight:800;line-height:.8;letter-spacing:-.11em;-webkit-text-stroke:1px rgba(255,255,255,.2);opacity:.65;animation:hero-word-drift 20s ease-in-out infinite alternate}
.hero-content,.hero-showcase,.hero-bottom{position:relative;z-index:1}
.hero-eyebrow{color:#e5f793}
.hero-eyebrow:before{background:currentColor}
.hero h1{color:#fff}
.hero h1 em{color:var(--prove-lime)}
.hero-subtitle{color:#eef2ff}
.text-link{color:#fff}
.button-white{background:var(--prove-lime);color:#12172b;box-shadow:4px 4px 0 #101847,0 18px 30px rgba(9,22,83,.22)}
.button-white:hover{box-shadow:7px 7px 0 #101847,0 23px 33px rgba(9,22,83,.25)}
.hero-ecosystem{border-color:rgba(255,255,255,.54);color:#fff}
.ecosystem-label{color:#e3eaff}
.ecosystem-brand{color:#fff}
.ecosystem-brand small{color:#d5e0ff}
.ecosystem-brand+ .ecosystem-brand:before{color:#b7c5ff}
.hero-showcase:before{top:5%;right:2%;bottom:4%;left:9%;border:1px solid rgba(255,255,255,.58);background:linear-gradient(146deg,rgba(207,216,255,.57),rgba(128,121,247,.33));box-shadow:14px 14px 0 rgba(15,33,119,.19)}
.hero-showcase>a{border-color:#fff;box-shadow:0 24px 48px rgba(9,17,87,.27)}
.hero-showcase>a:hover{box-shadow:0 35px 65px rgba(9,17,87,.37)}
.showcase-note{color:#e2eaff}
.hero-bottom{border-color:rgba(255,255,255,.49);color:#ebefff}
@keyframes hero-colour{to{transform:translate3d(-2%,2%,0) scale(1.05)}}
@keyframes hero-ring-drift{to{transform:translate3d(-3vw,3vw,0) rotate(8deg)}}
@keyframes hero-beam-drift{to{transform:translate3d(10vw,0,0) rotate(27deg)}}
@keyframes hero-word-drift{to{transform:translateX(-2vw)}}

.capability-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--prove-lime);border-top:1px solid #172134;border-bottom:1px solid #172134;color:#141a1d}
.capability-rail a{position:relative;display:grid;grid-template-columns:33px minmax(0,1fr) 23px;align-items:center;gap:14px;min-height:103px;padding:19px clamp(19px,2.7vw,47px);border-right:1px solid #26352d;overflow:hidden;transition:background .34s,color .34s}
.capability-rail a:last-child{border-right:0}
.capability-rail a:before{content:"";position:absolute;inset:0;background:#fff;transform:translateY(101%);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.capability-rail a:hover:before{transform:translateY(0)}
.capability-rail a>*{position:relative}
.capability-rail a>span:first-child{align-self:start;font-size:11px;font-weight:800;letter-spacing:.1em}
.capability-rail strong{max-width:280px;font-size:clamp(17px,1.6vw,23px);line-height:1.08;letter-spacing:-.045em}
.capability-rail a>span:last-child{align-self:end;font-size:22px;transition:transform .3s}
.capability-rail a:hover>span:last-child{transform:translate(4px,-4px)}

.services{position:relative;isolation:isolate;background:linear-gradient(180deg,#e7ebff 0%,#f0f2ff 47%,#f5f6fb 100%)}
.services:before{content:"";position:absolute;z-index:-1;top:0;right:0;width:36vw;height:44vw;background:radial-gradient(circle at 77% 24%,rgba(110,130,255,.19),transparent 65%),repeating-linear-gradient(90deg,transparent 0 69px,rgba(65,75,161,.07) 70px);pointer-events:none}
.services .section-heading{position:relative}
.services .section-heading:after{content:"01—03";position:absolute;right:0;top:7%;color:rgba(34,61,190,.13);font-size:clamp(75px,11vw,168px);font-weight:800;line-height:1;letter-spacing:-.1em;pointer-events:none}
.services .section-heading .display-title em{color:#2447d9}
.services .section-kicker{color:#2548d6}
.service-panel{position:relative;overflow:hidden;box-shadow:0 16px 31px rgba(32,44,110,.055)}
.service-panel:before{content:"";position:absolute;z-index:3;top:0;left:0;width:0;height:4px;background:var(--prove-coral);transition:width .65s cubic-bezier(.22,1,.36,1)}
.service-panel:nth-child(2):before{background:#319a78}
.service-panel:nth-child(3):before{background:#4964ee}
.service-panel:hover:before{width:100%}
.service-panel-video{background:#f7a887}
.service-panel-video:before{color:rgba(110,30,14,.12)}
.service-panel-property{background:#a8dcc9}
.service-panel-property:before{z-index:0;border-color:rgba(15,75,59,.48)}
.service-panel-web{background:#aebeff}
.service-panel-web:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px);background-size:36px 36px}
.service-browser{position:relative;z-index:1}
.service-panel-top span:first-child,.service-io span,.service-panel-link{color:#2549d6}
.service-panel:nth-child(2) .service-panel-top span:first-child,.service-panel:nth-child(2) .service-io span,.service-panel:nth-child(2) .service-panel-link{color:#176b57}
.proof-note{background:#fff;color:#152334}

.work-section{position:relative;isolation:isolate;background:radial-gradient(circle at 84% 8%,#202e75,transparent 32%),linear-gradient(135deg,#111b31,#10141f 75%)}
.work-section:before{content:"";position:absolute;z-index:-1;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:90px 90px;mask-image:linear-gradient(#000,transparent 65%);pointer-events:none}
.work-top .display-title em{color:var(--prove-lime)}
.work-feature:hover .feature-visual{box-shadow:0 0 0 5px rgba(220,246,90,.45)}
.work-feature .feature-visual{transition:box-shadow .45s}
.concept-pill{border-color:#a8bc80;color:#d8f4a5}

.approach{background:radial-gradient(circle at 86% 1%,rgba(255,128,138,.37),transparent 32%),linear-gradient(128deg,#3827b8,#384ddd 64%,#2057c3)}
.approach:after{content:"04";position:absolute;right:-.08em;bottom:-.2em;color:transparent;font-size:clamp(240px,35vw,600px);line-height:1;font-weight:800;letter-spacing:-.11em;-webkit-text-stroke:1px rgba(255,255,255,.15);pointer-events:none}
.method-card{border-top:2px solid var(--prove-lime)}
.method-card:nth-child(even){border-top-color:#ffb6a8}
.method-copy>span{color:var(--prove-lime)}
.method-card:nth-child(even) .method-copy>span{color:#ffd4cb}
.approach-heading .display-title em{color:#e6f69a}

.collaborations{position:relative;max-width:none;background:#ffdfd2}
.collaborations:before{content:"";position:absolute;top:8%;right:3%;width:32vw;aspect-ratio:1;border:1px solid rgba(158,63,45,.17);border-radius:50%;box-shadow:0 0 0 6vw rgba(255,255,255,.12);pointer-events:none}
.collab-copy,.partner-stack{position:relative}
.collab-copy .display-title em{color:#cc4538}
.collab-copy>p{color:#564c4b}
.partner-card{box-shadow:9px 9px 0 rgba(137,64,50,.12)}
.partner-card-kadran{background:#2848d9;box-shadow:9px 9px 0 rgba(37,55,130,.16)}
.closing{background:#101a35}
.closing:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 88% 18%,rgba(116,103,250,.56),transparent 32%),radial-gradient(circle at 2% 78%,rgba(45,112,250,.32),transparent 30%),linear-gradient(132deg,#11192b,#102366)}
.closing h2 em{color:var(--prove-lime)}
.closing-glow{background:#a9fa8e;opacity:.18}
.site-footer{background:#091024}

@media(max-width:900px){
  .hero-ring{top:-26vw;right:-28vw;width:92vw}
  .hero-backword{bottom:17%;font-size:39vw}
  .services .section-heading:after{top:6%;font-size:12vw}
}
@media(max-width:680px){
  .hero:after{background-size:53px 53px;opacity:.28}
  .hero-ring{top:-37vw;right:-54vw;width:130vw;opacity:.58}
  .hero-beam{left:80%;width:32vw;opacity:.65}
  .hero-backword{bottom:31%;font-size:47vw;opacity:.35}
  .hero-subtitle{color:#f0f3ff}
  .capability-rail{grid-template-columns:1fr}
  .capability-rail a{min-height:72px;padding:15px 19px;border-right:0;border-bottom:1px solid #26352d;grid-template-columns:27px minmax(0,1fr) 22px}
  .capability-rail a:last-child{border-bottom:0}
  .capability-rail strong{max-width:none;font-size:19px}
  .services .section-heading:after{display:none}
  .services{background:linear-gradient(180deg,#e6eaff,#f3f4ff)}
  .service-panel-video{background:#f4a787}
  .service-panel-property{background:#a8dcc9}
  .service-panel-web{background:#b3c2ff}
  .work-section:before{background-size:55px 55px}
  .collaborations:before{width:70vw;right:-20vw;opacity:.7}
}
@media(prefers-reduced-motion:reduce){
  .hero:before,.hero-ring,.hero-beam,.hero-backword{animation:none!important}
  .capability-rail a:before,.capability-rail a>span:last-child,.service-panel:before,.work-feature .feature-visual{transition:none!important}
}
