/* ==========================================================================
   Kaio Studio — « Eclipse » v2.0
   Couche d'expérience chargée après ascend-0.7.2.css : tokens, typographie,
   préchargeur, transitions de page, curseur, révélations et micro-interactions.
   Le moteur de mouvement correspondant vit dans assets/js/kaio-experience.js.
   ========================================================================== */

:root{
	--ink:#07070a;--ink-2:#0f0f14;--ink-3:#16161d;
	--paper:#efebe3;--warm:#e2dccf;--white:#f5f2ec;--muted:#8d8b86;
	--line:rgba(245,242,236,.1);--line-dark:rgba(7,7,10,.13);
	--accent:#d9a95b;--accent-hi:#f3d9a6;--accent-2:#6fb3a5;--accent-deep:#8f5f22;
	--gold-text:linear-gradient(100deg,#c48f3f 0%,#f3d9a6 35%,#d9a95b 60%,#7fbfb1 100%);
	--gold-text-dark:linear-gradient(100deg,#7a4d14 0%,#b07a31 45%,#2f6f63 100%);
	--ease:cubic-bezier(.22,1,.36,1);--ease-expo:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.76,0,.24,1);
	--serif:'Instrument Serif',Georgia,serif;--sans:'Geist',Inter,Helvetica,Arial,sans-serif;
	--display:'Inter Tight','Geist',Helvetica,Arial,sans-serif;--mono:'Geist Mono',ui-monospace,monospace;
	--radius:28px;--radius-sm:16px;
}

/* ---------- Base ---------- */
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}
body{background:var(--ink);font-family:var(--sans);font-size:16.5px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:var(--accent);color:var(--ink)}
html{scrollbar-width:thin;scrollbar-color:#2a2a31 var(--ink)}
em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}

.hero-title,.display,.section-heading h2,.process-head h2,.final-cta h2,.footer-lead>a,.case-study-hero h1,.case-editorial h2,.case-section-title h2,.investment-hero h1,.investment-editorial h2,.investment-heading h2,.offer-story h2,.legal-hero h1,.contact-copy h1,.inner-hero h1,.case-hero h1,.next-project h2,.page-hero h1,.investment-final h2,.case-index-copy h2,.archive-project h2{font-family:var(--display);font-weight:600;letter-spacing:-.05em}
:is(.hero-title,.display,.section-heading h2,.process-head h2,.final-cta h2,.footer-lead>a,.case-study-hero h1,.case-editorial h2,.case-section-title h2,.investment-hero h1,.investment-editorial h2,.investment-heading h2,.offer-story h2,.legal-hero h1,.contact-copy h1,.inner-hero h1,.investment-final h2) em{font-weight:400;letter-spacing:-.025em;padding-right:.04em}

/* Italic accents: liquid-gold gradient on dark grounds, deep bronze on light grounds. */
:is(.home-hero,.services,.process,.final-cta,.inner-hero,.contact-page,.case-study-hero,.legal-hero,.investment-hero,.case-objectives,.case-build,.site-footer,.values,.investment-offer--signature) em,
:is(.home-hero,.services,.process,.final-cta,.inner-hero,.contact-page,.case-study-hero,.legal-hero,.investment-hero,.case-objectives,.case-build,.site-footer) em .wi{background:var(--gold-text);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:kShimmer 7s ease-in-out infinite alternate}
:is(.section--light,.section--warm,.investment-final,.next-project) em,:is(.section--light,.section--warm) em .wi{background:var(--gold-text-dark);-webkit-background-clip:text;background-clip:text;color:transparent}
em:has(.wi){background:none!important;color:inherit;animation:none!important}
@keyframes kShimmer{from{background-position:0% 50%}to{background-position:100% 50%}}

.kicker{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.14em}
.kicker:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(217,169,91,.55);animation:kPulse 2.6s var(--ease) infinite}
@keyframes kPulse{70%{box-shadow:0 0 0 9px rgba(217,169,91,0)}100%{box-shadow:0 0 0 0 rgba(217,169,91,0)}}
.footer-label:before{display:none}

/* Stacked-card sections: each chapter slides over the previous one. */
main .section:not(:first-child),.case-chapter,.investment-offer,.case-next,.investment-final{border-radius:var(--radius) var(--radius) 0 0;margin-top:calc(var(--radius) * -1);position:relative;z-index:1}
.section--light,.section--warm,.case-study .section--light{background-image:radial-gradient(120% 60% at 100% 0%,rgba(217,169,91,.10),transparent 60%)}
.section:not(.section--light):not(.section--warm):not(.section--accent){background-color:var(--ink)}

/* ---------- Grain, progress, preloader, transitions ---------- */

.k-progress{position:fixed;inset:0 0 auto;z-index:1600;height:2px;pointer-events:none}
.k-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hi),var(--accent-2));transform:scaleX(var(--p,0));transform-origin:left;box-shadow:0 0 12px rgba(217,169,91,.6)}

.k-preloader{position:fixed;inset:0;z-index:3000;display:none;place-items:end start;padding:var(--pad);background:var(--ink);color:var(--white);clip-path:inset(0 0 0 0);transition:clip-path 1.1s var(--ease-io)}
.js .k-preloader{display:grid}
.is-returning .k-preloader{display:none}
.is-loaded .k-preloader{clip-path:inset(0 0 100% 0);pointer-events:none}
.k-preloader__inner{width:100%}
.k-preloader__brand{display:flex;font:600 clamp(5rem,22vw,22rem)/.8 var(--display);letter-spacing:-.06em;overflow:hidden;padding-bottom:.06em}
.k-preloader__brand span{display:block;transform:translateY(105%);animation:kRise 1s var(--ease-expo) forwards}
.k-preloader__brand span:nth-child(2){animation-delay:.07s}.k-preloader__brand span:nth-child(3){animation-delay:.14s}.k-preloader__brand span:nth-child(4){animation-delay:.21s;background:var(--gold-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.k-preloader__meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:1.4rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.3em}
.k-preloader__count{font:500 clamp(1.4rem,3vw,2.4rem) var(--mono);letter-spacing:0;font-variant-numeric:tabular-nums}
.k-preloader__count:after{content:"%";margin-left:.15em;font-size:.5em;color:var(--muted)}
.k-preloader__bar{display:block;height:1px;margin-top:1.2rem;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(var(--load,0));transform-origin:left}
@keyframes kRise{to{transform:none}}

.k-transition{position:fixed;inset:0;z-index:2900;pointer-events:none;display:grid;place-items:center}
.k-transition__panel{position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom}
.k-transition__panel:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.k-transition__mark{position:relative;font:600 clamp(2rem,6vw,5rem)/1 var(--display);letter-spacing:-.05em;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .6s var(--ease-expo)}
.is-arriving .k-transition__panel{transform:scaleY(1);transform-origin:top}
.is-arriving.is-loaded .k-transition__panel{transform:scaleY(0);transition:transform 1s var(--ease-io) .1s}
.is-leaving .k-transition{pointer-events:all}
.is-leaving .k-transition__panel{transform:scaleY(1);transform-origin:bottom;transition:transform .7s var(--ease-io)}
.is-leaving .k-transition__mark{opacity:1;transform:none;transition-delay:.35s}

/* ---------- Cursor ---------- */
.k-cursor{display:none}
.has-k-cursor .k-cursor{display:block;position:fixed;inset:0 auto auto 0;z-index:2500;pointer-events:none}
.k-cursor__dot,.k-cursor__ring{position:fixed;top:0;left:0;border-radius:50%;will-change:transform}
.k-cursor__dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--accent);mix-blend-mode:difference}
.k-cursor__ring{display:grid;place-items:center;width:40px;height:40px;margin:-20px 0 0 -20px;border:1px solid rgba(245,242,236,.55);transition:width .45s var(--ease-expo),height .45s var(--ease-expo),margin .45s var(--ease-expo),background .35s,border-color .35s,opacity .3s;mix-blend-mode:difference}
.k-cursor__ring span{font:600 .62rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);opacity:0;transform:scale(.6);transition:opacity .3s,transform .45s var(--ease-expo)}
.k-cursor.is-link .k-cursor__ring{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(245,242,236,.95);border-color:transparent}
.k-cursor.is-link .k-cursor__dot{opacity:0}
.k-cursor.is-view .k-cursor__ring{width:104px;height:104px;margin:-52px 0 0 -52px;background:var(--accent);border-color:var(--accent);mix-blend-mode:normal}
.k-cursor.is-view .k-cursor__ring span{opacity:1;transform:none}
.k-cursor.is-view .k-cursor__dot,.k-cursor.is-hidden{opacity:0}
.k-cursor.is-text .k-cursor__ring{width:4px;height:44px;margin:-22px 0 0 -2px;border-radius:2px;background:var(--accent);border-color:transparent}
.has-k-cursor,.has-k-cursor body,.has-k-cursor a,.has-k-cursor button,.has-k-cursor summary,.has-k-cursor label{cursor:none!important}

/* ---------- Header : floating glass capsule ---------- */
.site-header,.site-header.scrolled{top:14px;height:auto;background:transparent!important;border:0;transition:transform .7s var(--ease-expo)}
.site-header.is-hidden{transform:translateY(-140%)}
.menu-open .site-header{transform:none}
.header-inner{position:relative;height:auto;width:min(calc(100% - 2rem),var(--shell));padding:.55rem .55rem .55rem 1.5rem}
.header-inner:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:999px;background:rgba(14,14,19,.62);border:1px solid rgba(245,242,236,.08);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 10px 40px -10px rgba(0,0,0,.5);transition:background .4s}
.site-header.scrolled .header-inner:before{background:rgba(14,14,19,.82)}
.brand{gap:.45rem}.brand>span{font-family:var(--display);font-size:1.05rem;font-weight:700;letter-spacing:.12em}.brand small{font-family:var(--mono);color:var(--accent)}
.site-nav{gap:1.6rem}.site-nav ul{gap:.3rem}
.site-nav ul a{display:block;padding:.55rem .9rem;border-radius:999px;font-size:.8rem;font-weight:500;color:rgba(245,242,236,.75);transition:color .3s,background .3s}
.site-nav ul a:hover,.site-nav ul .current-menu-item a{color:var(--white);background:rgba(245,242,236,.07)}
.site-nav ul a:after{display:none}
.language-switcher{font-family:var(--mono)}
.header-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;padding:.8rem 1.25rem;border:0;border-radius:999px;background:var(--white);color:var(--ink);font-size:.78rem;font-weight:600;isolation:isolate;transition:translate .7s var(--ease-expo)}
.header-cta:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--accent);border-radius:inherit;transform:translateY(101%);transition:transform .5s var(--ease-expo)}
.header-cta:hover:before{transform:none}

/* ---------- Buttons & links ---------- */
.button{position:relative;overflow:hidden;isolation:isolate;min-width:0;gap:1.6rem;padding:1.05rem 1.15rem 1.05rem 1.8rem;font-family:var(--sans);font-size:.82rem;font-weight:600;letter-spacing:.01em;transition:color .45s var(--ease-expo),border-color .45s,transform .45s var(--ease-expo),translate .7s var(--ease-expo)}
.button:before{content:"";position:absolute;left:var(--bx,50%);top:var(--by,50%);z-index:-1;width:0;height:0;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);transition:width .6s var(--ease-expo),height .6s var(--ease-expo)}
.button:hover:before{width:260%;height:600%}
.button--light:hover{background:var(--white);border-color:var(--accent);color:var(--ink)}
.button--dark:hover{background:var(--ink);color:var(--ink)}
.button b{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--ink);color:var(--white);font-size:.9rem;transition:transform .5s var(--ease-expo),background .4s}
.button--dark b{background:var(--white);color:var(--ink)}
.button:hover b{transform:rotate(45deg) scale(1.08)}
.k-roll{position:relative;display:inline-block;overflow:hidden;vertical-align:top}
.k-roll>span{display:block;transition:transform .55s var(--ease-expo)}
.k-roll>span+span{position:absolute;inset:100% 0 auto}
:is(.button,.header-cta,.text-link):hover .k-roll>span{transform:translateY(-100%)}
.text-link{position:relative;border-bottom:0;padding-bottom:.4rem}
.text-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .6s var(--ease-expo)}
.text-link:hover:after{transform:scaleX(0);transform-origin:left;animation:kUnderline .9s var(--ease-expo) .15s forwards}
@keyframes kUnderline{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
.magnetic{will-change:translate}

/* ---------- Reveal system (driven by IntersectionObserver in JS) ---------- */
.reveal{opacity:0;transform:translateY(46px);filter:blur(8px);transition:opacity 1.1s var(--ease-expo),transform 1.2s var(--ease-expo),filter 1.1s var(--ease-expo);transition-delay:calc(var(--d,0) * 90ms)}
.reveal.is-visible{opacity:1;transform:none;filter:none}
.reveal-text{opacity:1;transition:none}
.k-split{opacity:1!important;transform:none!important;filter:none!important}
.k-words .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .1em;margin:0 -.02em -.1em}
.k-split .wi{display:inline-block;transform:translateY(110%) rotate(5deg);transform-origin:0 100%;transition:transform 1.25s var(--ease-expo);transition-delay:calc(var(--i,0) * 38ms + 60ms)}
.k-split.is-visible .wi{transform:none}
.k-scrub .w{overflow:visible}
.k-scrub .wi{transform:none;opacity:var(--o,.14);transition:opacity .25s linear}
.no-js .reveal,html:not(.js) .reveal{opacity:1;transform:none;filter:none}

/* ---------- Hero ---------- */
.home-hero{isolation:isolate;--mx:70%;--my:30%}
.home-hero:before{content:"";position:absolute;inset:-20%;z-index:-1;background:radial-gradient(40% 35% at 78% 22%,rgba(217,169,91,.22),transparent 70%),radial-gradient(35% 40% at 15% 85%,rgba(111,179,165,.16),transparent 70%),radial-gradient(30% 30% at 50% 50%,rgba(120,80,200,.08),transparent 70%);filter:blur(30px);animation:kAurora 18s ease-in-out infinite alternate}
.home-hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(600px circle at var(--mx) var(--my),rgba(243,217,166,.08),transparent 60%)}
@keyframes kAurora{0%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(-4%,3%,0) rotate(8deg)}100%{transform:translate3d(3%,-2%,0) rotate(-6deg) scale(1.08)}}
.hero-layout{width:100%}
.hero-copy{will-change:transform,opacity}
.hero-title{font-size:clamp(3rem,7.7vw,9.4rem);line-height:.9;letter-spacing:-.055em;font-weight:600}
.hero-title .line{padding-bottom:.09em;margin-bottom:-.04em}
.js .hero-title .line>span{animation:none;transform:translateY(112%) rotate(4deg);transform-origin:0 100%}
.is-loaded .hero-title .line>span{animation:kHeroLine 1.5s var(--ease-expo) forwards}
.is-loaded .hero-title .line:nth-child(1)>span{animation-delay:.15s}.is-loaded .hero-title .line:nth-child(2)>span{animation-delay:.25s}.is-loaded .hero-title .line:nth-child(3)>span{animation-delay:.35s}.is-loaded .hero-title .line:nth-child(4)>span{animation-delay:.45s}
@keyframes kHeroLine{to{transform:none}}
.js .hero-intro,.js .hero-bottom,.js .scroll-cue{opacity:0;animation:none;transform:translateY(24px)}
.is-loaded .hero-intro{animation:kFadeUp 1.2s var(--ease-expo) .1s forwards}
.is-loaded .hero-bottom{animation:kFadeUp 1.4s var(--ease-expo) .75s forwards}
.is-loaded .scroll-cue{animation:kFadeUp 1.4s var(--ease-expo) 1.1s forwards}
@keyframes kFadeUp{to{opacity:1;transform:none}}
.hero-bottom>p{color:rgba(245,242,236,.66);font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.65}
.scroll-cue{transform:rotate(90deg)}
.is-loaded .scroll-cue{animation-name:kFadeIn}
@keyframes kFadeIn{to{opacity:1}}
.scroll-cue span{font-family:var(--mono)}
.scroll-cue i{background:linear-gradient(90deg,var(--accent) 50%,transparent 50%);background-size:200%}
.hero-orbit-canvas{z-index:0}
.js .hero-orbit-canvas.is-ready{opacity:0}
.is-loaded .hero-orbit-canvas.is-ready{opacity:1;transition:opacity 2.2s var(--ease) .3s}

/* ---------- Statement & marquee ---------- */
.statement .display,.manifesto .display{font-size:clamp(2.8rem,6.4vw,7.2rem);line-height:.95}
.statement-detail{border-top:0;position:relative}
.statement-detail:before,.investment-thesis:before,.time-statement:before,.case-two-col:before,.founder-story__lead:before,.founder-story__body:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:currentColor;opacity:.16;transform:scaleX(var(--line,1));transform-origin:left}
.statement-detail,.investment-thesis,.time-statement,.case-two-col,.founder-story__lead,.founder-story__body{position:relative;border-top-color:transparent!important}
.marquee{margin-top:7rem;padding-block:2.2rem;border:0;transform:rotate(-2deg) scale(1.04);background:var(--ink);color:var(--white)}
.marquee-track{font:600 clamp(3rem,7vw,7.5rem)/1 var(--display);letter-spacing:-.04em;animation:none}
.marquee-track>span{padding-right:.3em}
.marquee-track>span>span{display:inline-block}
.marquee .mk-o{color:transparent;-webkit-text-stroke:1px rgba(245,242,236,.55)}
.marquee .mk-g{background:var(--gold-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.marquee .mk-sep{display:inline-block;margin:0 .35em;font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent);transform:translateY(-.06em)}
.no-gsap .marquee-track{animation:marquee 40s linear infinite}

/* ---------- Services ---------- */
.section-heading h2{font-size:clamp(3rem,6.2vw,7.4rem);line-height:.92}
.service-list{border-top:0;counter-reset:svc}
.service-row{position:relative;isolation:isolate;overflow:hidden;min-height:170px;padding-inline:1rem;border-bottom:1px solid var(--line);border-radius:4px;transition:color .5s var(--ease-expo),padding .6s var(--ease-expo)}
.service-row:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,var(--accent),#e9c78c 55%,var(--accent-2));transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease-expo)}
.service-row:after{content:"";position:absolute;inset:0 0 auto;height:1px;background:var(--line)}
.service-row:hover{padding-inline:2.2rem;background:transparent;color:var(--ink)}
.service-row:hover:before{transform:none}
.service-row:hover p,.service-row:hover small,.service-row:hover>span{color:var(--ink)}
.service-row>span{font-family:var(--mono);font-size:.78rem}
.service-row h3{font-family:var(--display);font-weight:600;letter-spacing:-.035em;font-size:clamp(1.6rem,2.5vw,2.8rem)}
.service-row p{color:rgba(245,242,236,.62);transition:color .4s}
.service-row small{font-family:var(--mono);color:rgba(245,242,236,.42);transition:color .4s}
.service-row i{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;border:1px solid currentColor;transition:transform .6s var(--ease-expo),background .4s,color .4s}
.service-row:hover i{transform:rotate(45deg);background:var(--ink);color:var(--white);border-color:var(--ink)}

/* ---------- Work ---------- */
.section-heading--split>p{color:rgba(7,7,10,.6);font-size:1.05rem}
.work-bento{gap:20px;perspective:1400px}
.work-card{min-height:clamp(440px,48vw,640px);border-radius:var(--radius);border:0;background:var(--ink);transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .8s var(--ease-expo),box-shadow .6s;box-shadow:0 30px 60px -30px rgba(7,7,10,.45);will-change:transform}
.work-card:hover{box-shadow:0 50px 90px -30px rgba(7,7,10,.6)}
.work-card.is-tilting{transition:transform .15s linear,box-shadow .6s}
.work-card-art{inset:-6%;transition:transform 1.2s var(--ease-expo)}
.work-card-art img{transform:scale(var(--zs,1.12)) translateY(var(--py,0));transition:transform .6s var(--ease),filter .8s}
.work-card:hover .work-card-art{transform:scale(1.03)}
.work-card:hover .work-card-art img{transform:scale(1.04) translateY(var(--py,0))}
.work-card-art:after{background:linear-gradient(0deg,rgba(7,7,10,.92) 0%,rgba(7,7,10,.35) 45%,rgba(7,7,10,.05) 75%)}
.work-card:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;background:radial-gradient(500px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.16),transparent 45%);opacity:0;transition:opacity .5s}
.work-card:hover:before{opacity:1}
.work-card>a{padding:clamp(1.5rem,3vw,2.6rem);z-index:3}
.work-card-body{transform:translateZ(40px)}
.work-card-body h3{font-family:var(--display);font-weight:600;font-size:clamp(1.8rem,3.2vw,3.4rem);letter-spacing:-.045em;line-height:.95}
.work-card-tag{display:inline-block;padding:.45rem .8rem;margin-bottom:1.1rem;border-radius:999px;background:rgba(245,242,236,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(245,242,236,.14);font-size:.62rem}
.work-card-body p{max-width:46ch;font-size:.98rem;color:rgba(245,242,236,.75);transform:translateY(10px);opacity:.8;transition:transform .7s var(--ease-expo),opacity .7s}
.work-card:hover .work-card-body p{transform:none;opacity:1}
.work-card-arrow{top:clamp(1.2rem,2.5vw,2rem);right:clamp(1.2rem,2.5vw,2rem);width:56px;height:56px;background:rgba(245,242,236,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .6s var(--ease-expo),background .4s,color .4s;transform:translateZ(60px)}
.work-card:hover .work-card-arrow{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:translateZ(60px) rotate(45deg)}
.k-clip{clip-path:inset(12% 8% 12% 8% round var(--radius));transition:clip-path 1.6s var(--ease-expo)}
.k-clip.is-visible{clip-path:inset(0 0 0 0 round var(--radius))}

/* ---------- Process : horizontal pinned rail ---------- */
.process{overflow:hidden}
.process-head{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem 6vw;align-items:end}
.process-head .kicker{grid-column:1/-1;margin:0}
.process-head h2{max-width:none;margin:0;font-size:clamp(2.8rem,5.6vw,6.6rem);line-height:.92}
.process-head>p:last-child{max-width:420px;margin:0;color:rgba(245,242,236,.6);justify-self:end}
.process-rail{gap:18px;border:0}
.process-rail .step{position:relative;overflow:hidden;min-height:340px;display:flex;flex-direction:column;padding:2rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(245,242,236,.035),rgba(245,242,236,0));transition:border-color .5s,background .5s}
.process-rail .step:hover{border-color:rgba(217,169,91,.5);background:linear-gradient(180deg,rgba(217,169,91,.10),rgba(217,169,91,0))}
.process-rail .step span{font:600 clamp(5rem,9vw,8.5rem)/.8 var(--display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(217,169,91,.6);transition:color .6s,-webkit-text-stroke-color .6s}
.process-rail .step:hover span{color:var(--accent)}
.process-rail .step h3{margin:auto 0 .8rem;font-family:var(--display);font-size:clamp(1.4rem,2vw,1.9rem);font-weight:600;letter-spacing:-.03em}
.process-rail .step p{color:rgba(245,242,236,.6);font-size:.95rem}
.process-progress{display:none}
.process.is-horizontal{min-height:100vh;display:flex;align-items:center}
.process.is-horizontal .shell{width:100%;max-width:none}
.process.is-horizontal .process-head{max-width:calc(var(--shell) - var(--pad) * 2);margin-inline:auto}
.process.is-horizontal .process-rail{display:flex;width:max-content;will-change:transform}
.process.is-horizontal .process-rail .step{flex:none;width:clamp(320px,30vw,460px);min-height:clamp(340px,46vh,480px)}
.process.is-horizontal .process-progress{display:block;height:2px;margin-top:2.5rem;max-width:calc(var(--shell) - var(--pad) * 2);margin-inline:auto;background:var(--line);border-radius:2px;overflow:hidden}
.process.is-horizontal .process-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(var(--p,0));transform-origin:left}

/* ---------- Manifesto & final CTA ---------- */
.manifesto-grid>div>p{color:rgba(7,7,10,.7);font-size:1.2rem;line-height:1.65}
.final-cta{padding-block:clamp(9rem,18vw,16rem)}
.final-cta h2{font-size:clamp(3.2rem,8.4vw,10rem);line-height:.9;letter-spacing:-.06em}
.final-cta .kicker{justify-content:center}
.final-cta .button{transform:scale(1.15)}
.cta-orbit{width:min(90vw,1100px);left:50%;top:50%;border:0;translate:-50% -50%;background:conic-gradient(from var(--a,0deg),transparent 0deg,rgba(217,169,91,.4) 60deg,transparent 120deg,rgba(111,179,165,.3) 220deg,transparent 300deg);-webkit-mask:radial-gradient(circle,transparent 58%,#000 59%,#000 60%,transparent 61%);mask:radial-gradient(circle,transparent 58%,#000 59%,#000 60%,transparent 61%);animation:kSpin 14s linear infinite}
.cta-orbit:after{inset:-10%;border:0;border-radius:50%;background:radial-gradient(circle,rgba(217,169,91,.16),transparent 55%);-webkit-mask:none;mask:none;filter:blur(40px)}
.final-cta:before{content:"";position:absolute;width:60vw;aspect-ratio:1;left:50%;top:50%;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(217,169,91,.18),transparent 60%);filter:blur(60px);animation:kBreathe 6s ease-in-out infinite}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes kSpin{to{--a:360deg}}
@keyframes kBreathe{50%{transform:scale(1.15);opacity:.7}}
@media(max-width:960px),(hover:none){.cta-orbit{display:block}}

/* ---------- Testimonial (EN) ---------- */
.section--accent{background:linear-gradient(120deg,var(--accent),#e8c68b 50%,#c3d7c8)}

/* ---------- Footer ---------- */
.site-footer{position:relative;overflow:hidden;padding-top:clamp(7rem,12vw,11rem);padding-bottom:0;background:#050507;content-visibility:visible!important}
.site-footer:before{content:"";position:absolute;width:70vw;aspect-ratio:1;left:-10vw;top:-30vw;border-radius:50%;background:radial-gradient(circle,rgba(217,169,91,.12),transparent 60%);filter:blur(40px);pointer-events:none}
.footer-lead>a{display:inline-block;font-family:var(--display);font-weight:600;font-size:clamp(3rem,7vw,8.4rem);line-height:.92;letter-spacing:-.055em;transition:color .5s}
.footer-lead>a span{display:inline-grid;place-items:center;width:.9em;height:.9em;margin-left:.15em;border-radius:50%;background:var(--accent);color:var(--ink);font-size:.45em;vertical-align:middle;transition:transform .7s var(--ease-expo)}
.footer-lead>a:hover span{transform:rotate(45deg) scale(1.1)}
.footer-grid a,.footer-bottom a{transition:color .3s}
.footer-grid nav a{position:relative;width:max-content}
.footer-grid nav a:hover,.footer-grid a[href^=mailto]:hover,.footer-bottom a:hover{color:var(--accent)}
.footer-grid p{color:rgba(245,242,236,.5);font-size:.85rem}
.footer-label{font-family:var(--mono)}
.footer-bottom{font-family:var(--mono);color:rgba(245,242,236,.4)}
.footer-wordmark{display:flex;justify-content:space-between;width:min(100%,1600px);margin:2rem auto 0;padding-inline:var(--pad);overflow:hidden;font:700 clamp(7rem,30vw,30rem)/.74 var(--display);letter-spacing:-.07em;user-select:none;pointer-events:none}
.footer-wordmark span{display:block;background:linear-gradient(180deg,rgba(245,242,236,.16) 0%,rgba(245,242,236,0) 85%);-webkit-background-clip:text;background-clip:text;color:transparent;transform:translateY(var(--wy,0%))}

/* ---------- Inner pages ---------- */
.inner-hero,.case-study-hero,.legal-hero,.investment-hero,.contact-page{position:relative;isolation:isolate;overflow:hidden}
.inner-hero:before,.case-study-hero:before,.legal-hero:before,.investment-hero:before,.contact-page:before{content:"";position:absolute;inset:-30% -10% auto auto;z-index:-1;width:70vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(217,169,91,.16),transparent 60%);filter:blur(40px);animation:kAurora 20s ease-in-out infinite alternate}
.inner-hero:after,.case-study-hero:after,.legal-hero:after,.contact-page:after{content:"";position:absolute;inset:auto auto -40% -20%;z-index:-1;width:60vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(111,179,165,.12),transparent 60%);filter:blur(40px)}
.investment-hero:after{border:0;background:conic-gradient(from var(--a,0deg),transparent,rgba(217,169,91,.35) 60deg,transparent 140deg);-webkit-mask:radial-gradient(circle,transparent 69%,#000 70%,#000 70.4%,transparent 71%);mask:radial-gradient(circle,transparent 69%,#000 70%,#000 70.4%,transparent 71%);animation:kSpin 16s linear infinite}
.inner-intro,.legal-intro,.investment-intro{color:rgba(245,242,236,.66)}
.values-grid{gap:18px;border:0}
.values-grid article{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:rgba(245,242,236,.02);transition:border-color .5s,transform .7s var(--ease-expo)}
.values-grid article:before,.decision-grid article:before,.build-grid article:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),rgba(217,169,91,.16),transparent 50%);opacity:0;transition:opacity .5s}
.values-grid article:hover:before,.decision-grid article:hover:before,.build-grid article:hover:before{opacity:1}
.values-grid article:hover{border-color:rgba(217,169,91,.45);transform:translateY(-6px)}
.values-grid span{font-family:var(--mono)}
.values-grid h2{font-family:var(--display);font-weight:600;letter-spacing:-.035em}
.decision-grid,.build-grid article{position:relative}
.decision-grid article{position:relative;overflow:hidden}
.founder-story__manifesto{border-radius:var(--radius);background:radial-gradient(80% 120% at 100% 0%,rgba(217,169,91,.18),transparent 60%),var(--ink)}
.founder-story__manifesto strong{font-family:var(--serif);font-style:italic;background:var(--gold-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.deliverables span{transition:background .3s,color .3s}.deliverables span:hover{background:var(--ink);color:var(--white)}

.case-index-media,.case-hero-media,.case-media-split figure,.case-gallery-item,.case-full-media,.archive-project__visual{overflow:hidden}
.case-index-media img,.case-hero-media img,.case-media-split img,.case-gallery-item img,.case-full-media img{transform:scale(var(--zs,1.12)) translateY(var(--py,0));transition:transform .6s var(--ease)}
.case-hero-media.k-clip,.case-media-split figure.k-clip,.case-gallery-item.k-clip,.case-full-media.k-clip{--radius:0px}
.case-index-item:hover .case-index-media img{transform:scale(1.06) translateY(var(--py,0))}
.case-number{border-radius:50%;font-family:var(--mono)}
.case-index-copy b{position:relative;display:inline-block}
.case-study-hero h1{font-family:var(--display);font-weight:600;letter-spacing:-.06em}
.case-tagline,.case-lead,.founder-story__lead p{font-family:var(--serif)}
.case-next .shell>a{font-family:var(--display);font-weight:600;letter-spacing:-.05em;transition:letter-spacing .8s var(--ease-expo)}
.case-next .shell>a:hover{letter-spacing:-.02em}
.case-next .shell>a b{display:grid;place-items:center;width:1.2em;height:1.2em;border-radius:50%;background:var(--white);color:var(--ink);font-size:.5em;transition:transform .6s var(--ease-expo)}
.case-next .shell>a:hover b{transform:rotate(45deg)}
.palette>div{border-radius:var(--radius-sm);margin:0 -1px -1px 0}
.palette i{border-radius:10px;transform:scaleY(var(--sy,1));transform-origin:bottom}
.type-specimen strong{font-family:var(--serif);font-style:italic}
.build-grid article{overflow:hidden;border-radius:var(--radius-sm)}

.offer-top .kicker:before{display:none}
.investment-offer{border-radius:var(--radius) var(--radius) 0 0}
.investment-inclusions article{transition:padding .6s var(--ease-expo),background .4s}
.investment-inclusions article:hover{padding-inline:1.2rem;background:rgba(245,242,236,.03)}
.investment-faq-list summary{font-family:var(--display);font-weight:500;letter-spacing:-.02em}
.investment-faq-list summary i{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid currentColor;font-size:1.1rem;transition:transform .6s var(--ease-expo),background .4s,color .4s}
.investment-faq-list details[open] summary i{background:var(--ink);color:var(--white);border-color:var(--ink)}
.investment-final{background:linear-gradient(120deg,var(--accent),#ecd09c 55%,#bcd6cb)}

.contact-form{gap:2.4rem 1.6rem}
.contact-form label>span{font-family:var(--mono);color:rgba(245,242,236,.5);transition:color .3s}
.contact-form label:focus-within>span{color:var(--accent)}
.contact-form input,.contact-form select,.contact-form textarea{padding:1.05rem 0;font-size:1.05rem;border-bottom-color:rgba(245,242,236,.16);background:linear-gradient(90deg,var(--accent),var(--accent-2)) no-repeat left bottom/0 1px;transition:background-size .7s var(--ease-expo),border-color .3s}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{background-size:100% 1px;border-color:transparent}
.contact-form ::placeholder{color:rgba(245,242,236,.3)}
.form-message.success{background:rgba(105,189,120,.08)}

.legal-index a{border-radius:6px}
.legal-sections h2{font-family:var(--display);font-weight:600}

/* ---------- Mobile menu ---------- */
@media(max-width:960px){
	.site-header{top:10px}
	.header-inner{padding:.45rem .45rem .45rem 1.2rem}
	.menu-toggle{padding:.75rem 1.1rem;border-radius:999px;background:rgba(245,242,236,.08);font:500 .75rem var(--mono);letter-spacing:.1em;text-transform:uppercase}
	.site-nav{background:radial-gradient(80% 60% at 100% 0%,rgba(217,169,91,.18),transparent 60%),var(--ink);clip-path:circle(0% at calc(100% - 3rem) 2.5rem);transform:none;transition:clip-path .9s var(--ease-io)}
	.site-nav.is-open{clip-path:circle(150% at calc(100% - 3rem) 2.5rem)}
	.site-nav ul a{padding:.1rem 0;background:none!important;font:600 clamp(2.6rem,11vw,4.6rem)/1.05 var(--display);letter-spacing:-.05em;color:var(--white)}
	.site-nav ul li{overflow:hidden}
	.site-nav ul li a{transform:translateY(110%);transition:transform .9s var(--ease-expo)}
	.site-nav.is-open ul li a{transform:none}
	.site-nav.is-open ul li:nth-child(1) a{transition-delay:.25s}.site-nav.is-open ul li:nth-child(2) a{transition-delay:.32s}.site-nav.is-open ul li:nth-child(3) a{transition-delay:.39s}.site-nav.is-open ul li:nth-child(4) a{transition-delay:.46s}
	.header-cta{margin-top:auto}
	.process-head{grid-template-columns:1fr}.process-head>p:last-child{justify-self:start}
	main .section:not(:first-child),.case-chapter,.investment-offer,.case-next,.investment-final{--radius:22px}
}
@media(max-width:640px){
	.hero-title{font-size:clamp(2.7rem,13.5vw,5rem)}
	.marquee{margin-top:4rem;padding-block:1.4rem}
	.service-row{padding-inline:.4rem;min-height:0}
	.service-row:hover{padding-inline:1rem}
	.work-card{min-height:440px}
	.final-cta .button{transform:none}
	.footer-wordmark{font-size:31vw}
}

/* ---------- Reduced motion : everything readable, nothing moves ---------- */
@media(prefers-reduced-motion:reduce){
	.k-preloader,.k-transition,.k-cursor{display:none!important}
	.reveal,.k-split .wi,.js .hero-title .line>span,.js .hero-intro,.js .hero-bottom,.js .scroll-cue{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}
	.k-scrub .wi{opacity:1!important}
	.k-clip{clip-path:none!important}
	.js .hero-orbit-canvas.is-ready{opacity:1}
	.home-hero:before,.cta-orbit,.final-cta:before,em{animation:none!important}
}

/* ---------- Polish pass ---------- */
:is(.hero-title,.display,.section-heading h2,.process-head h2,.final-cta h2,.footer-lead>a,.inner-hero h1,.contact-copy h1,.investment-final h2) em .wi:last-child{padding-right:.12em;margin-right:-.08em}
.final-cta h2 em{padding-right:.12em}
.work-card--evidmind-academy .work-card-art img{object-position:50% 18%}
.footer-grid a[href^=mailto]{text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;transition:background-size .6s var(--ease-expo),color .3s}
.footer-grid a[href^=mailto]:hover{background-size:0 1px;background-position:right bottom}
.footer-wordmark{justify-content:center;gap:0;font-size:clamp(7rem,33vw,34rem);margin-top:1rem}
.footer-wordmark span{background:linear-gradient(180deg,rgba(243,217,166,.22) 0%,rgba(245,242,236,.04) 70%,rgba(245,242,236,0) 90%);-webkit-background-clip:text;background-clip:text}
.pin-spacer:has(>.process){margin-top:calc(var(--radius) * -1)!important;position:relative;z-index:1}
.pin-spacer>.process{margin-top:0!important;border-radius:var(--radius) var(--radius) 0 0}

/* ==========================================================================
   Page signatures (driven by assets/js/kaio-pages.js)
   ========================================================================== */

/* ---------- Pourquoi Kaio — Perception ---------- */
.k-page--why .inner-hero h1{position:relative}
.k-page--why .inner-hero h1 .wi{filter:blur(14px);transition:transform 1.25s var(--ease-expo),filter 1.6s var(--ease-expo);transition-delay:calc(var(--i,0) * 70ms + 100ms)}
.k-page--why .inner-hero h1.is-visible .wi{filter:none}
.k-lens{position:absolute;inset:0;pointer-events:none;-webkit-mask:radial-gradient(circle var(--lr,0px) at var(--lx,50%) var(--ly,50%),#000 55%,transparent 100%);mask:radial-gradient(circle var(--lr,0px) at var(--lx,50%) var(--ly,50%),#000 55%,transparent 100%)}
.k-lens .wi,.k-lens em .wi{background:none!important;color:var(--accent-hi)!important;-webkit-text-fill-color:var(--accent-hi);text-shadow:0 0 40px rgba(217,169,91,.55);animation:none!important}
.k-stack-values .values-grid{display:block}
.k-stack-values .values-grid article{position:sticky;top:calc(120px + var(--n) * 26px);display:grid;grid-template-columns:.7fr 1fr 1.2fr;align-items:end;gap:3rem;min-height:min(52vh,460px);margin-bottom:6vh;padding:clamp(2rem,4vw,3.5rem);background:radial-gradient(90% 120% at 100% 0%,rgba(217,169,91,.14),transparent 60%),var(--ink-2);transform-origin:50% 0;box-shadow:0 -30px 60px -20px rgba(0,0,0,.7)}
.k-stack-values .values-grid article:last-child{margin-bottom:0}
.k-stack-values .values-grid article:hover{transform:none}
.k-stack-values .values-grid span{align-self:start;font:600 clamp(6rem,11vw,10rem)/.8 var(--display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(217,169,91,.7)}
.k-stack-values .values-grid h2{margin:0;font-size:clamp(2rem,3.4vw,3.4rem);line-height:.98}
.k-stack-values .values-grid p{margin:0;font-size:1.1rem;color:rgba(245,242,236,.65)}
.founder-story__aside{padding-left:1.4rem}
.k-read{position:absolute;left:0;top:0;width:2px;height:min(60vh,520px);background:linear-gradient(var(--accent),var(--accent-2));transform-origin:top;border-radius:2px}
.founder-story__aside:before{content:"";position:absolute;left:0;top:0;width:2px;height:min(60vh,520px);background:var(--line-dark)}

/* ---------- Réalisations — Gallery ---------- */
.k-page--work .work-index-hero{min-height:92svh;display:flex;align-items:flex-end}
.k-page--work .work-index-hero .shell{position:relative;z-index:2;width:100%}
.k-floats{position:absolute;inset:0;z-index:0;pointer-events:none}
.k-float{position:absolute;left:var(--x);top:var(--y);width:var(--w);aspect-ratio:4/5;border-radius:18px;overflow:hidden;opacity:0;transform:translate(-50%,-30%) scale(.7) rotate(-4deg);filter:blur(calc((1 - var(--depth)) * 6px)) saturate(.9);box-shadow:0 40px 80px -30px rgba(0,0,0,.8);transition:opacity 1.4s var(--ease-expo),transform 1.6s var(--ease-expo),translate 1.2s var(--ease-expo);transition-delay:var(--delay)}
.k-float:nth-child(even){aspect-ratio:16/11;transform:translate(-50%,-30%) scale(.7) rotate(5deg)}
.is-loaded .k-float{opacity:calc(.35 + var(--depth) * .55);transform:translate(-50%,-50%) rotate(-3deg)}
.is-loaded .k-float:nth-child(even){transform:translate(-50%,-50%) rotate(4deg)}
.k-float img{width:100%;height:100%;object-fit:cover;animation:kFloat 9s ease-in-out infinite alternate;animation-delay:calc(var(--depth) * -6s)}
@keyframes kFloat{to{transform:scale(1.08) translateY(-4%)}}
.k-page--work .work-index-hero h1,.k-page--work .work-index-hero .inner-intro{text-shadow:0 10px 40px rgba(7,7,10,.8)}
.k-page--work .case-index .shell{counter-reset:ci}
.k-page--work .case-index-item{position:relative;counter-increment:ci}
.k-page--work .case-index-item:before{content:"0" counter(ci);position:absolute;right:-1vw;top:-8vw;z-index:0;font:700 clamp(10rem,24vw,24rem)/.8 var(--display);letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px rgba(7,7,10,.12);pointer-events:none}
.k-page--work .case-index-item a{position:relative;z-index:1}
.k-page--work .case-index-media{will-change:clip-path}
@media(max-width:960px){.k-float:nth-child(n+4){display:none}.k-page--work .work-index-hero{min-height:80svh}}

/* ---------- Étude de cas — Immersion ---------- */
.k-page--case .k-progress i{background:var(--k-case,var(--accent));box-shadow:0 0 12px var(--k-case,var(--accent))}
.k-page--case .k-cursor.is-view .k-cursor__ring{background:var(--k-case,var(--accent));border-color:var(--k-case,var(--accent))}
.k-chars .w{overflow:visible;perspective:700px}
.k-chars .wi{transform:none!important}
.k-char{display:inline-block;opacity:0;transform:translateY(60%) rotateX(-95deg);transform-origin:50% 100%;transition:transform 1.3s var(--ease-expo),opacity .9s var(--ease-expo);transition-delay:calc(var(--c) * 45ms + 150ms)}
.k-chars.is-visible .k-char{opacity:1;transform:none}
.k-page--case .case-hero-media{will-change:clip-path}
.journey-map{position:relative;padding-left:0}
.journey-map:before,.k-journey{content:"";position:absolute;left:11px;top:2rem;bottom:2rem;width:1px;background:var(--line-dark)}
.k-journey{width:2px;left:10.5px;background:var(--client-accent);transform-origin:top}
.journey-map li{position:relative;grid-template-columns:70px 1fr;transition:color .5s}
.journey-map li span{position:relative;z-index:1;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--warm);border:1px solid var(--line-dark);font-size:.55rem;transition:background .5s,color .5s,border-color .5s,box-shadow .5s}
.journey-map li p{opacity:.35;transition:opacity .6s}
.journey-map li.is-reached span{background:var(--client-accent);border-color:var(--client-accent);color:var(--ink);box-shadow:0 0 0 6px color-mix(in srgb,var(--client-accent) 25%,transparent)}
.journey-map li.is-reached p{opacity:1}
.case-objective-list article{position:relative;isolation:isolate;padding-inline:.8rem;transition:padding .6s var(--ease-expo),color .5s}
.case-objective-list article:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--client-accent);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-expo)}
.case-objective-list article:hover{padding-inline:1.8rem;color:var(--ink)}
.case-objective-list article:hover:before{transform:none}
.case-objective-list article:hover p,.case-objective-list article:hover>span{color:var(--ink)}
.case-next .shell>a span{background:linear-gradient(90deg,var(--client-accent) 50%,var(--white) 50%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position 1s var(--ease-expo)}
.case-next .shell>a:hover span{background-position:0 0}

/* ---------- Investissement — Blueprint ---------- */
.k-blueprint{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(217,169,91,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(217,169,91,.16) 1px,transparent 1px),linear-gradient(rgba(245,242,236,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(245,242,236,.05) 1px,transparent 1px);background-size:320px 320px,320px 320px,40px 40px,40px 40px;background-position:-1px -1px;-webkit-mask:radial-gradient(circle at 70% 40%,#000 0%,transparent var(--bp,0%));mask:radial-gradient(circle at 70% 40%,#000 0%,transparent var(--bp,0%));transition:--bp 3s var(--ease-expo) .3s}
@property --bp{syntax:'<percentage>';inherits:false;initial-value:0%}
.is-loaded .k-blueprint{--bp:75%}
.k-cross{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .5s}
.k-cross.is-on{opacity:1}
.k-cross__h,.k-cross__v{position:absolute;left:0;top:0;background:rgba(217,169,91,.55)}
.k-cross__h{width:100%;height:1px}.k-cross__v{width:1px;height:100%}
.k-cross__read{position:absolute;left:0;top:0;padding:.3rem .55rem;border:1px solid rgba(217,169,91,.4);border-radius:4px;background:rgba(7,7,10,.7);font:500 .62rem var(--mono);letter-spacing:.08em;color:var(--accent);white-space:nowrap}
.investment-hero h1{position:relative;z-index:1}
.investment-inclusions{position:relative;padding-left:2rem}
.investment-inclusions:before,.k-measure{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line)}
.k-measure{width:2px;left:-.5px;background:linear-gradient(var(--accent),var(--accent-2));transform-origin:top}
.investment-inclusions article>span{transition:color .5s,text-shadow .5s}
.investment-inclusions article h3{opacity:.4;transition:opacity .7s}
.investment-inclusions article.is-reached h3{opacity:1}
.investment-inclusions article.is-reached>span{color:var(--accent-hi);text-shadow:0 0 18px rgba(217,169,91,.8)}
.k-page--invest .investment-offer{box-shadow:0 -40px 80px -30px rgba(0,0,0,.45)}
.k-page--invest .investment-offer .shell{transform-origin:50% 0;will-change:transform,opacity}

/* ---------- Contact — Conversation ---------- */
.k-blobs{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.k-blob{position:absolute;left:0;top:0;width:44vw;aspect-ratio:1;border-radius:42% 58% 63% 37%/45% 41% 59% 55%;filter:blur(70px);opacity:.42;mix-blend-mode:screen;animation:kMorph 14s ease-in-out infinite alternate}
.k-blob--1{background:radial-gradient(circle at 30% 30%,#e0ad5c,transparent 70%)}
.k-blob--2{width:32vw;background:radial-gradient(circle at 60% 40%,#6fb3a5,transparent 70%);animation-duration:11s}
.k-blob--3{width:22vw;background:radial-gradient(circle,#b56b4a,transparent 70%);opacity:.3;animation-duration:17s}
@keyframes kMorph{50%{border-radius:58% 42% 38% 62%/52% 63% 37% 48%}100%{border-radius:38% 62% 47% 53%/60% 38% 62% 40%}}
.k-page--contact .contact-page:before,.k-page--contact .contact-page:after{display:none}
.k-form-progress{grid-column:1/-1;height:2px;margin-bottom:-.6rem;border-radius:2px;background:rgba(245,242,236,.1);overflow:hidden}
.k-form-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(var(--p,0));transform-origin:left;transition:transform .7s var(--ease-expo)}
.k-page--contact .form-wrap{padding:clamp(1.5rem,3vw,2.8rem);border:1px solid rgba(245,242,236,.08);border-radius:var(--radius);background:rgba(14,14,19,.55);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.k-page--contact .form-wrap label{opacity:0;transform:translateY(22px)}
.k-page--contact .form-wrap.is-visible label{animation:kFadeUp 1s var(--ease-expo) both;animation-delay:calc(var(--d,0) * 70ms + 200ms)}
.contact-form.is-complete button[type=submit]{box-shadow:0 0 0 0 rgba(217,169,91,.6);animation:kReady 1.8s var(--ease) infinite}
@keyframes kReady{70%{box-shadow:0 0 0 18px rgba(217,169,91,0)}100%{box-shadow:0 0 0 0 rgba(217,169,91,0)}}

/* ---------- Légal — Clarity ---------- */
.legal-index ol{position:relative}
.k-index-marker{position:absolute;left:-1rem;top:0;width:3px;border-radius:3px;background:var(--accent);transition:transform .6s var(--ease-expo),height .6s var(--ease-expo)}
.legal-index a.is-active{padding-left:.6rem;color:var(--ink)}

/* ---------- 404 — Signal lost ---------- */
.k-404{position:absolute;right:-4vw;bottom:-8vw;z-index:-1;font:700 clamp(14rem,42vw,44rem)/.8 var(--display);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(217,169,91,.25);pointer-events:none;animation:kGlitch 5s steps(1) infinite;transition:translate 1s var(--ease-expo)}
@keyframes kGlitch{0%,92%,100%{clip-path:none;transform:none}93%{clip-path:inset(20% 0 55% 0);transform:translateX(-12px)}95%{clip-path:inset(60% 0 10% 0);transform:translateX(10px)}97%{clip-path:inset(35% 0 40% 0);transform:translateX(-5px)}}

@media(prefers-reduced-motion:reduce){
	.k-page--why .inner-hero h1 .wi,.k-char{filter:none!important;opacity:1!important;transform:none!important}
	.k-float{opacity:.5!important;transform:translate(-50%,-50%)!important}.k-float img,.k-blob,.k-404{animation:none!important}
	.k-page--contact .form-wrap label{opacity:1;transform:none;animation:none}
	.k-blueprint{--bp:75%}
}
.k-lens .w{overflow:visible}
.k-stack-values .values-grid article{min-height:min(40vh,380px);align-items:center}

/* Case studies illustrated with 16:10 website captures */
.case--proterat .case-media-split figure,.case--protea-serrurerie .case-media-split figure{height:auto;aspect-ratio:16/10}

/* ==========================================================================
   v2.1 — « Wow » pass: liquid gold, 3D headline, portal, mobile parity
   ========================================================================== */

/* Liquid gold WebGL surface (assets/js/kaio-liquid.js) */
.k-liquid{position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;opacity:0;transition:opacity 2s var(--ease)}
.k-liquid.is-ready{opacity:1}
.js .home-hero .k-liquid.is-ready{opacity:0}
.is-loaded .home-hero .k-liquid.is-ready{opacity:1}
.final-cta{isolation:isolate}
.final-cta .shell{position:relative;z-index:2}
.final-cta:before{opacity:.35}

/* Headline letters flipping up in 3D */
.k-hero-chars .line{overflow:visible}
.k-hero-chars .line>span{transform:none!important;animation:none!important;perspective:900px}
.hw{display:inline-block;white-space:nowrap;perspective:700px}
.hc{display:inline-block;opacity:0;transform:translate3d(0,.45em,0) rotateX(-105deg);transform-origin:50% 100% -.25em;filter:blur(8px);transition:transform 1.6s var(--ease-expo),opacity 1.1s var(--ease-expo),filter 1.3s var(--ease-expo);transition-delay:calc(var(--c) * 24ms + 120ms)}
.is-loaded .k-hero-chars .hc{opacity:1;transform:none;filter:none}
.home-hero .hero-title{text-shadow:0 10px 60px rgba(7,7,10,.55)}

/* Portal transition out of the hero */
.k-portal{position:absolute;left:50%;top:55%;z-index:4;width:170vmax;height:170vmax;margin:-85vmax 0 0 -85vmax;border-radius:50%;background:var(--paper);transform:scale(0);pointer-events:none;box-shadow:0 0 0 2px rgba(243,217,166,.95),0 0 90px 24px rgba(217,169,91,.5),inset 0 0 160px rgba(217,169,91,.4);will-change:transform}
.hero-layout{transform-origin:50% 40%;will-change:transform,opacity,filter}

/* Services: scroll-active state mirrors hover on touch screens */
.service-row.is-active{padding-inline:1.4rem;color:var(--ink)}
.service-row.is-active:before{transform:none}
.service-row.is-active p,.service-row.is-active small,.service-row.is-active>span{color:var(--ink)}
.service-row.is-active i{transform:rotate(45deg);background:var(--ink);color:var(--white);border-color:var(--ink)}

/* Projects rising out of the page in 3D (independent transform properties so the hover tilt keeps working) */
.work-card{rotate:x var(--erx,0deg);translate:0 var(--ey,0px);scale:var(--es,1);transform-origin:50% 100%}

/* Mobile choreography */
@media(max-width:960px){
	.process.is-horizontal{padding-block:5.5rem 3rem}
	.process.is-horizontal .process-head{gap:1rem;margin-bottom:2rem}
	.process.is-horizontal .process-head h2{font-size:clamp(2.3rem,10vw,3.6rem)}
	.process.is-horizontal .process-rail{gap:14px}
	.process.is-horizontal .process-rail .step{width:min(78vw,380px);min-height:clamp(260px,40vh,360px);padding:1.6rem}
	.process.is-horizontal .process-progress{margin-top:1.6rem}
	.k-stack-values .values-grid article{grid-template-columns:1fr;gap:1rem;top:calc(84px + var(--n) * 16px);min-height:0;margin-bottom:4vh;padding:1.8rem}
	.k-stack-values .values-grid span{font-size:4.8rem}
	.k-lens{-webkit-mask:radial-gradient(circle var(--lr,0px) at var(--lx,50%) var(--ly,50%),#000 45%,transparent 100%);mask:radial-gradient(circle var(--lr,0px) at var(--lx,50%) var(--ly,50%),#000 45%,transparent 100%)}
	.k-cross__read{font-size:.55rem}
	.k-blob{width:90vw}.k-blob--2{width:70vw}.k-blob--3{width:50vw}
}

@media(prefers-reduced-motion:reduce){
	.hc{opacity:1!important;transform:none!important;filter:none!important}
	.k-portal{display:none}
	.work-card{rotate:none;translate:none;scale:none}
}
.k-page--home .statement{padding-top:clamp(3.5rem,7vw,6rem)}
.k-page--home .pin-spacer+.statement{margin-top:-40svh;z-index:5}
.process.is-horizontal .step.reveal{opacity:1;transform:none;filter:none}

/* ==========================================================================
   v2.2 — portal rings, dark hand-off, editorial triad
   ========================================================================== */

/* Portal: rings of light instead of a flat disc */
.k-portal{top:50%;width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;background:none;box-shadow:none}
.k-portal svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 6px rgba(243,217,166,.9)) drop-shadow(0 0 26px rgba(217,169,91,.55))}
.k-portal circle{fill:none;stroke:#f3d9a6;stroke-width:1.6}
.k-portal--2 circle{stroke:#d9a95b;stroke-width:1}
.k-portal--3 circle{stroke:#7fbfb1;stroke-width:.8}

/* Home: the chapter after the hero stays in the night, lit by gold */
.k-page--home .statement{background:radial-gradient(70% 55% at 88% 0%,rgba(217,169,91,.17),transparent 62%),radial-gradient(55% 45% at 0% 100%,rgba(111,179,165,.11),transparent 60%),var(--ink);color:var(--white)}
.k-page--home .statement em,.k-page--home .statement em .wi{background:var(--gold-text);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.k-page--home .statement em:has(.wi){background:none}
.k-page--home .statement-detail p{color:rgba(245,242,236,.68)}

/* Triad: Clarté · Crédibilité · Croissance */
.marquee.is-triad{width:min(100%,var(--shell));margin:clamp(5rem,9vw,8rem) auto 0;padding:0 var(--pad);border:0;background:none;color:inherit;transform:none;overflow:visible}
.k-triad{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}
.k-triad__item{position:relative;display:flex;flex-direction:column;gap:1.6rem;padding:clamp(1.8rem,4vw,3.2rem) clamp(1rem,3vw,2.4rem);border-left:1px solid var(--line)}
.k-triad__item:first-child{padding-left:0;border-left:0}
.k-triad small{font:500 .7rem var(--mono);letter-spacing:.14em;color:var(--accent);opacity:calc(.35 + var(--on,1) * .65)}
.k-triad span{font:400 clamp(2.4rem,5.4vw,5.8rem)/1 var(--serif);font-style:italic;letter-spacing:-.02em;color:rgba(245,242,236,calc(.14 + var(--on,1) * .86));transform:translateY(calc((1 - var(--on,1)) * 16px))}
.k-triad i{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(var(--on,1));transform-origin:left}
.k-triad__item:first-child i{left:0}
@media(max-width:760px){
	.k-triad{grid-template-columns:1fr}
	.k-triad__item{flex-direction:row;align-items:baseline;gap:1.2rem;padding:1.5rem 0;border-left:0;border-top:1px solid var(--line)}
	.k-triad__item:first-child{border-top:0}
}
.k-portal circle{stroke-width:3}.k-portal--2 circle{stroke-width:2}.k-portal--3 circle{stroke-width:1.4}

/* v2.3 — process cards glide by on their own (no scroll lock) */
.k-rail{margin-inline:calc(var(--pad) * -1);overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.process.is-carousel .process-rail{display:flex;width:max-content;gap:0;padding-left:var(--pad);will-change:transform}
.process.is-carousel .process-rail .step{flex:none;width:clamp(290px,28vw,420px);min-height:clamp(320px,42vh,440px);margin-right:18px}
.process.is-carousel .step.reveal{opacity:1;transform:none;filter:none}
@media(max-width:960px){.process.is-carousel .process-rail .step{width:min(76vw,340px);min-height:300px;margin-right:14px;padding:1.6rem}.k-rail{-webkit-mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}}

/* v2.4 — Réalisations vortex (assets/js/kaio-vortex.js) */
.work-index-hero.has-vortex{min-height:100svh;background:radial-gradient(60% 50% at 70% 60%,rgba(217,169,91,.08),transparent 70%),var(--ink)}
.work-index-hero.has-vortex:before,.work-index-hero.has-vortex:after{display:none}
.k-vortex{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 1.6s var(--ease)}
.is-loaded .k-vortex.is-ready{opacity:1}
.work-index-hero.has-vortex .shell{position:relative;z-index:2}
.work-index-hero.has-vortex h1,.work-index-hero.has-vortex .inner-intro{text-shadow:0 8px 40px rgba(7,7,10,.9),0 2px 12px rgba(7,7,10,.7)}
@media(max-width:960px){.k-vortex{opacity:.75}.is-loaded .k-vortex.is-ready{opacity:.75}}
/* v2.5.1 — Réalisations hero fills the viewport exactly, like the home hero */
.k-page--work .work-index-hero.has-vortex{min-height:100vh;min-height:100svh}
.k-page--work .work-index-hero.has-vortex+.case-index{margin-top:0}

/* ==========================================================================
   v2.6 — card-to-case morph, service pages
   ========================================================================== */

/* The project image travels between pages */
.k-morph{position:fixed;z-index:2950;overflow:hidden;pointer-events:none;background:var(--ink);will-change:left,top,width,height,border-radius}
.k-morph img{display:block;width:100%;height:100%;object-fit:cover}
.k-morph.is-landing{inset:0}
.is-morphing .site-header,.is-morphing main,.is-morphing .site-footer{opacity:0;transition:opacity .5s var(--ease) .1s}

/* Homepage service rows open their page */
.service-row__link{position:absolute;inset:0;z-index:3;border-radius:inherit}
.service-row__link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

/* Service page */
.service-hero{min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;padding-bottom:clamp(4rem,9vw,8rem)}
.service-hero .kicker a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
.service-hero__num{position:absolute;right:-.06em;top:50%;z-index:-1;translate:0 -55%;font:600 clamp(16rem,42vw,44rem)/.8 var(--display);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(217,169,91,.45);pointer-events:none;user-select:none}
.service-tags{margin-top:2rem;font:500 .78rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.service-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(2rem,5vw,5rem)}
.service-step{position:relative;display:grid;grid-template-columns:3.2rem 1fr;gap:.6rem 1rem;padding:clamp(1.8rem,3.4vw,2.8rem) 0;border-top:1px solid var(--line-dark)}
.service-step:before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(var(--on,0));transform-origin:left}
.service-step span{grid-row:span 2;font:500 .78rem var(--mono);color:var(--accent);padding-top:.5rem}
.service-step h2{margin:0;font:600 clamp(1.6rem,2.6vw,2.6rem)/1.05 var(--display);letter-spacing:-.035em}
.service-step p{margin:0;max-width:34em;opacity:.72}
.service-fit{background:radial-gradient(60% 60% at 90% 10%,rgba(217,169,91,.14),transparent 60%),var(--ink);color:var(--white)}
.service-fit__list{list-style:none;margin:clamp(2rem,4vw,3.5rem) 0 0;padding:0}
.service-fit__list li{padding:clamp(1.2rem,2.4vw,2rem) 0;border-top:1px solid var(--line);font:400 clamp(1.9rem,4.4vw,4.6rem)/1.05 var(--serif);font-style:italic;letter-spacing:-.02em;color:rgba(245,242,236,calc(.18 + var(--on,1) * .82));transform:translateX(calc((1 - var(--on,1)) * -24px))}
.service-cases__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.2rem,3vw,2.4rem)}
.service-case{display:flex;flex-direction:column;gap:.9rem;color:inherit;text-decoration:none}
.service-case__media{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:22px;background:var(--ink)}
.service-case__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.service-case:hover .service-case__media img{transform:scale(1.05)}
.service-case__name{font:600 clamp(1.4rem,2.2vw,2.1rem) var(--display);letter-spacing:-.03em}
.service-case__name b{display:inline-block;font-weight:400;color:var(--accent);transition:transform .5s var(--ease)}
.service-case:hover .service-case__name b{transform:translate(4px,-4px)}
.service-case__line{max-width:36em;opacity:.7}
.service-nav{background:var(--ink);color:var(--white);padding:clamp(3rem,6vw,5rem) 0 0}
.k-page--service .final-cta{background:var(--ink);color:var(--white)}
@media(max-width:760px){
	.service-hero__num{top:22%;right:-.1em;font-size:68vw}
	.service-steps,.service-cases__grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.service-step:before{transform:none}.service-fit__list li{color:var(--white);transform:none}}
.service-faq{padding-block:clamp(4rem,8vw,7rem)}.service-faq .investment-heading{margin-bottom:1.5rem}
.service-nav{padding-bottom:calc(var(--radius) + clamp(1.5rem,3vw,2.5rem))}

/* Other services as cards */
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.6rem);margin-top:clamp(1.5rem,3vw,2.5rem)}
.service-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:1rem;min-height:clamp(300px,30vw,400px);padding:clamp(1.5rem,2.6vw,2.2rem);border:1px solid var(--line);border-radius:var(--radius-sm);background:radial-gradient(120% 90% at 100% 0%,rgba(217,169,91,.12),transparent 55%),rgba(245,242,236,.025);color:var(--white);text-decoration:none;transition:border-color .5s,transform .7s var(--ease),color .4s}
.service-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,var(--accent),#e9c78c 55%,var(--accent-2));transform:translateY(101%);transition:transform .8s var(--ease-expo)}
.service-card__num{font:600 clamp(4.5rem,7vw,7rem)/.8 var(--display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(217,169,91,.7);transition:-webkit-text-stroke-color .4s}
.service-card__name{margin-top:auto;font:600 clamp(1.5rem,2.2vw,2.1rem)/1.05 var(--display);letter-spacing:-.035em}
.service-card__intro{font-size:.95rem;line-height:1.5;color:rgba(245,242,236,.6);transition:color .4s}
.service-card__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--line);transition:border-color .4s}
.service-card__foot small{font:500 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);transition:color .4s}
.service-card__foot b{display:grid;place-items:center;flex:none;width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid currentColor;font-weight:400;color:var(--accent);transition:transform .6s var(--ease-expo),color .4s}
.service-card:hover,.service-card:focus-visible{border-color:transparent;color:var(--ink);transform:translateY(-6px)}
.service-card:hover:before,.service-card:focus-visible:before{transform:none}
.service-card:hover .service-card__num{-webkit-text-stroke-color:rgba(7,7,10,.55)}
.service-card:hover .service-card__intro,.service-card:hover .service-card__foot small,.service-card:hover .service-card__foot b{color:var(--ink)}
.service-card:hover .service-card__foot{border-color:rgba(7,7,10,.2)}
.service-card:hover .service-card__foot b{transform:rotate(45deg)}
@media(max-width:960px){.service-cards{grid-template-columns:1fr}.service-card{min-height:0}.service-card__num{font-size:4rem}}

/* v2.6 — AI section: from generated to crafted */
.k-ai{background:radial-gradient(60% 50% at 0% 0%,rgba(111,179,165,.12),transparent 60%),radial-gradient(55% 55% at 100% 100%,rgba(217,169,91,.14),transparent 60%),var(--ink);color:var(--white)}
.k-ai .shell{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem) clamp(2rem,6vw,7rem);align-items:end}
.k-ai__title{margin:1.4rem 0 0;font:600 clamp(3rem,7vw,7.6rem)/.92 var(--display);letter-spacing:-.055em}
.k-ai__title em{font:400 1em/1 var(--serif);font-style:italic;letter-spacing:-.025em;padding-right:.08em;background:var(--gold-text);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.k-ai__title.is-armed{opacity:0}
.k-ai__title.is-glitching{text-shadow:-2px 0 rgba(111,179,165,.75),2px 0 rgba(217,169,91,.75);animation:kAiJitter .12s steps(2) infinite}
.k-ai__title.is-glitching em{text-shadow:none;filter:drop-shadow(-2px 0 rgba(111,179,165,.6))}
@keyframes kAiJitter{50%{transform:translateX(1px) skewX(-1deg)}}
.k-ai__body p{margin:0 0 1.1rem;max-width:36em;font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.65;color:rgba(245,242,236,.7)}
.k-ai__body p:first-child{color:var(--white)}
.k-ai__list{grid-column:1/-1;list-style:none;margin:clamp(1rem,3vw,2.5rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.6rem)}
.k-ai__list li{position:relative;padding:clamp(1.4rem,2.4vw,2rem) 0 0;border-top:1px solid var(--line)}
.k-ai__list li:before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(var(--on,1));transform-origin:left}
.k-ai__list span{font:500 .72rem var(--mono);color:var(--accent);opacity:calc(.35 + var(--on,1) * .65)}
.k-ai__list h3{margin:.8rem 0 .5rem;font:600 clamp(1.4rem,2vw,1.9rem) var(--display);letter-spacing:-.03em;color:rgba(245,242,236,calc(.25 + var(--on,1) * .75))}
.k-ai__list p{margin:0;max-width:30em;color:rgba(245,242,236,calc(.2 + var(--on,1) * .45))}
@media(max-width:860px){.k-ai .shell,.k-ai__list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.k-ai__title.is-glitching{animation:none;text-shadow:none}}

/* v2.6 — Pourquoi Kaio: glyph column spelling KAIO */
.inner-hero.has-column{min-height:100vh;min-height:100svh;display:flex;align-items:center;cursor:grab;touch-action:pan-y}
.inner-hero.has-column.is-grabbing{cursor:grabbing;user-select:none}
.inner-hero.has-column>.shell{position:relative;z-index:1;width:100%}
.k-column{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 2s var(--ease)}
.is-loaded .k-column.is-ready{opacity:1}
.has-k-cursor .inner-hero.has-column{cursor:none}
@media(max-width:959px){
	.is-loaded .k-column.is-ready{opacity:.55}
	.inner-hero.has-column .inner-intro{text-shadow:0 6px 30px rgba(7,7,10,.85)}
}
.inner-hero.has-column .inner-intro{text-shadow:0 6px 30px rgba(7,7,10,.85),0 2px 10px rgba(7,7,10,.6)}
.inner-hero.has-column+.section{margin-top:0}
.k-stack-values .values-grid article:after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;background:#000;opacity:var(--dim,0);pointer-events:none}.k-stack-values .values-grid article{will-change:transform}
