/* Homepage art direction. Content stays visible; motion is progressive enhancement. */
body.swx[data-page="index"]{--studio-ink:#1c1624;--studio-purple:#8A5CF5;--studio-rule:#c4b6d4;background:#f7f6f3}
body[data-page="index"] .swx-container,.studio-wrap{width:calc(100% - 80px);max-width:1320px;margin-inline:auto;padding-inline:0}
body[data-page="index"] .swx-hero--immersive{padding-top:4.8rem}
body[data-page="index"] .swx-immersive-grid{gap:3rem;grid-template-columns:1.1fr 1fr}
body[data-page="index"] .swx-display{font-size:clamp(4rem,7.4vw,7rem);line-height:1.08;letter-spacing:-.025em}
body[data-page="index"] .swx-symbol{height:640px}
body[data-page="index"] .swx-pill{border:0;padding-left:0;color:#61526e;font-size:.65rem;letter-spacing:.15em}
body[data-page="index"] .swx-hero__lead{max-width:29rem;font-size:1.06rem}
body[data-page="index"] .swx-hero__cta .swx-btn--primary{background:var(--studio-purple)}
body[data-page="index"] .swx-btn{border-radius:4px}
body[data-page="index"] .swx-outcome-strip{margin-top:2rem;border-bottom:0}
body[data-page="index"] .swx-outcome-strip a{padding-block:1.5rem}
.studio-label{display:block;text-transform:uppercase;font:600 .67rem/1.5 var(--swx-font-body);letter-spacing:.15em;color:var(--studio-purple,#8A5CF5)}
.studio-intro{display:grid;grid-template-columns:1fr 2.1fr;gap:2.25rem;padding-block:4.5rem 3.75rem;border-top:1px solid var(--studio-rule);align-items:start}
.studio-intro>.studio-label{padding-top:.75rem}
body[data-page="index"] .studio-intro h2{font:600 clamp(2.2rem,4vw,4.3rem)/1.12 var(--swx-font-display);letter-spacing:-.02em;margin:0;color:var(--studio-ink)}
body[data-page="index"] .studio-intro h2 em{font-style:normal;color:var(--studio-purple)}
.studio-intro p{max-width:34rem;margin:1.25rem 0 0;font-size:1.03rem;line-height:1.75;color:#3a2f45}
.studio-work{padding-bottom:5rem}
.studio-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.25rem}
body[data-page="index"] .studio-heading h2{font:600 clamp(2.4rem,4.4vw,4.5rem)/1.08 var(--swx-font-display);letter-spacing:-.02em;margin:1.1rem 0 0;color:var(--studio-ink)}
body[data-page="index"] .studio-heading h2 em{color:var(--studio-purple);font-style:italic}
.studio-heading>p{font-size:.96rem;color:#2f243c;line-height:1.8;margin:0;font-weight:500}
.studio-link{display:inline-flex;justify-content:space-between;align-items:center;gap:1.8rem;color:var(--studio-purple);text-decoration:none;font-weight:600;font-size:.83rem;padding:.8rem 0;border-bottom:1px solid var(--studio-purple);white-space:normal}
.studio-link .studio-ico-arrow{flex-shrink:0;transition:transform .25s}
.studio-link:hover .studio-ico-arrow{transform:translate(3px,-3px)}
/* Vraie flèche ↗ (SVG inline, diagonale + pointe) */
.studio-ico-arrow{
    display:inline-block;
    width:14px;
    height:14px;
    flex-shrink:0;
    vertical-align:middle;
    overflow:visible;
    color:currentColor;
}
.studio-ico-arrow::before,.studio-ico-arrow::after{content:none;display:none}
.studio-link:focus-visible,.studio-project:focus-visible,.studio-proof__link:focus-visible{outline:3px solid var(--studio-purple);outline-offset:6px}
.studio-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;align-items:start;perspective:1600px}
.studio-project{text-decoration:none;display:block;min-width:0;color:var(--studio-ink);transform-style:preserve-3d}
.studio-project--garage{margin-top:0}
.studio-project--shop{margin-top:2.5rem}
.studio-project--assoc{margin-top:5rem;grid-column:auto;max-width:none}
.studio-project__art{height:380px;position:relative;overflow:hidden;background:#e0eceb;border-radius:14px;perspective:1400px;isolation:isolate;box-shadow:0 40px 70px -30px rgba(28,22,36,.45),0 0 0 1px rgba(138,92,245,.08);--mx:0;--my:0;--scroll-t:0}
.studio-project--garage .studio-project__art,.studio-project--shop .studio-project__art,.studio-project--assoc .studio-project__art{height:340px}
.studio-project--garage .studio-project__art,.studio-project--shop .studio-project__art{background:linear-gradient(160deg,#f3e6d8 0%,#e8d5c4 100%)}
.studio-project--assoc .studio-project__art{background:linear-gradient(160deg,#ebe4f4 0%,#d9cce8 100%)}
.studio-project__art::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:
    radial-gradient(ellipse at calc(50% + var(--mx) * 40%) calc(20% + var(--my) * 30%),rgba(255,255,255,.7),transparent 55%),
    linear-gradient(180deg,transparent 60%,rgba(28,22,36,.12) 100%)}
.studio-project__art::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0}
html.studio-motion .studio-project.is-in .studio-project__art::after{animation:studioSpecular 1s cubic-bezier(.22,1,.36,1) .2s both}
.studio-project__number{position:absolute;left:22px;top:20px;z-index:5;font:700 .72rem var(--swx-font-body);letter-spacing:.14em;color:#1c1624;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);padding:.35rem .55rem;border-radius:4px}
.studio-browser{width:90%;position:absolute;left:5%;top:18%;background:#fff;border-radius:10px;overflow:hidden;box-shadow:
    0 50px 80px -20px rgba(20,16,28,.55),
    0 20px 40px -24px rgba(138,92,245,.35),
    0 0 0 1px rgba(28,22,36,.08);
    transform:rotateY(-18deg) rotateX(12deg) rotateZ(-6deg) scale(.92);
    transition:transform .15s linear,box-shadow .45s ease;
    will-change:transform;z-index:3}
.studio-project--garage .studio-browser,.studio-project--shop .studio-browser{transform:rotateY(18deg) rotateX(11deg) rotateZ(6deg) scale(.92)}
.studio-project--assoc .studio-browser{transform:rotateY(-12deg) rotateX(10deg) rotateZ(-4deg) scale(.92)}
.studio-project:hover .studio-browser,.studio-project:focus-visible .studio-browser{
    box-shadow:
        0 60px 90px -18px rgba(20,16,28,.6),
        0 0 0 1px rgba(138,92,245,.35),
        0 0 40px -8px rgba(138,92,245,.45);
}
.studio-browser__bar{display:flex;gap:5px;background:linear-gradient(180deg,#faf9fb,#f0eef4);padding:11px 12px;border-bottom:1px solid #e4e0ea}
.studio-browser__bar i{width:7px;height:7px;border-radius:50%;background:#bcb4c1;box-shadow:inset 0 -1px 1px rgba(0,0,0,.15)}
.studio-browser img{width:100%;height:auto;display:block;aspect-ratio:1024/571;object-fit:cover}
.studio-project__open{position:absolute;right:18px;bottom:18px;z-index:4;width:48px;height:48px;display:grid;place-items:center;background:rgba(255,255,255,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);border-radius:50%;font-size:0;line-height:0;color:#1c1624;box-shadow:0 14px 28px -10px rgba(28,22,36,.5);transition:transform .25s ease,background .25s,box-shadow .25s}
.studio-project__open::before,
.studio-project__open::after{content:none;display:none}
.studio-project__open-ico{width:16px;height:16px;display:block;color:currentColor}
.studio-project:hover .studio-project__open{transform:translate(3px,-3px) scale(1.1);background:#fff;box-shadow:0 18px 32px -10px rgba(138,92,245,.4)}
@media(max-width:760px){
    .studio-project__open{width:40px;height:40px}
    .studio-project__open-ico{width:14px;height:14px}
}
.studio-project__info{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding-top:1.2rem}
body[data-page="index"] .studio-project__info h3{font:600 1.3rem/1.2 var(--swx-font-display);letter-spacing:-.015em;color:#302438;margin:0 0 .55rem}
.studio-project__info p{font-size:.84rem;color:#3a2f45;margin:0}.studio-project__info>span{font-size:.64rem;color:var(--studio-purple);border:1px solid #c4b0f0;padding:5px 8px;border-radius:3px;white-space:nowrap;font-weight:600}
.studio-expertise{padding:4.25rem 0 3.25rem;background:#ebe4f4;border-block:1px solid #c9b8db}
.studio-chapter{display:grid;grid-template-columns:50px 1.25fr 1fr;align-items:center;gap:2rem;padding:2.25rem 0;border-top:1px solid #b9a5cd}
.studio-chapter__index{align-self:start;padding-top:.9rem;font:600 .7rem var(--swx-font-body);color:var(--studio-purple)}
body[data-page="index"] .studio-chapter h3{font:600 clamp(1.85rem,3.2vw,3.2rem)/1.1 var(--swx-font-display);letter-spacing:-.02em;color:#1c1624;margin:.65rem 0 .85rem}
.studio-chapter h3 em{color:var(--studio-purple);font-style:italic}
.studio-chapter__copy p{max-width:28rem;color:#2f243c;font-size:.92rem;line-height:1.65;margin:0 0 .45rem}
.studio-visual{height:280px;position:relative;min-width:0;pointer-events:none;transform-style:preserve-3d}
.studio-window{position:absolute;width:210px;height:160px;border:1px solid #b9a0d8;border-radius:10px;background:#f9f6fc;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-9deg);box-shadow:0 28px 40px -18px rgba(66,37,81,.45)}
.studio-window--back{background:#c4a8e0;transform:translate(-38%,-62%) rotate(8deg);box-shadow:0 22px 36px -18px rgba(66,37,81,.4)}
.studio-window--front{padding:14px;box-sizing:border-box}
.studio-window i{display:block;width:24px;height:5px;background:#8A5CF5;border-radius:10px;margin-bottom:10px;opacity:.55}
.studio-window b{display:flex;justify-content:space-between;font:600 3.2rem var(--swx-font-display);letter-spacing:-.02em;color:#5a357a}
.studio-window b .studio-ico-arrow{width:16px;height:16px;align-self:center;color:#8A5CF5;margin-top:.35rem}
.studio-window small{display:block;margin-top:9px;color:#4a3558;font:.66rem var(--swx-font-body)}
.studio-visual--flow{display:grid;place-items:center;color:var(--studio-purple)}.studio-visual--flow svg{width:100%;max-width:320px;height:auto;filter:drop-shadow(0 12px 20px rgba(138,92,245,.22))}.studio-visual--flow circle{fill:#ddd0f5;stroke:var(--studio-purple);stroke-width:1.5}.studio-visual--flow rect{fill:var(--studio-purple);stroke:#a78bfa;stroke-width:1}
.studio-visual--learn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;perspective:700px}
.studio-visual--learn span{width:200px;padding:13px 16px;background:#e3d7ed;border:1px solid #c8b2d8;border-radius:6px;font:500 .78rem var(--swx-font-body);color:#5c406f;transform:rotateY(-14deg) rotateZ(-4deg);box-shadow:0 16px 22px -12px rgba(91,51,127,.45)}
.studio-visual--learn span:nth-child(2){background:#d4bce5;transform:translateX(12px) rotateY(-14deg) rotateZ(-4deg)}
.studio-visual--learn span:nth-child(3){background:var(--studio-purple);color:#fff;transform:translateX(24px) rotateY(-14deg) rotateZ(-4deg);box-shadow:0 18px 26px -10px rgba(138,92,245,.55)}
.studio-visual--learn .studio-ico-arrow{float:right;margin-top:2px;width:12px;height:12px;color:#fff}
.studio-method{padding-block:4.5rem 3.75rem}
.studio-steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem;margin:2.25rem 0 0}
.studio-steps li{border-top:2px solid #8f6bb8;padding-top:1.2rem}
.studio-steps li>span{font:700 .72rem var(--swx-font-body);letter-spacing:.04em;color:var(--studio-purple)}
body[data-page="index"] .studio-steps h3{font:600 1.2rem var(--swx-font-display);letter-spacing:-.015em;color:#1c1624;margin:1.5rem 0 .85rem;transition:color .3s ease}
.studio-steps p{font-size:.88rem;line-height:1.7;color:#2f243c;margin:0}

/* Proof — compact factual block (no fake reviews / stats) */
.studio-proof{padding-block:4rem 3.5rem;border-top:1px solid var(--studio-rule)}
.studio-proof__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.studio-proof__link{display:flex;flex-direction:column;gap:.55rem;height:100%;text-decoration:none;color:var(--studio-ink);padding:1.25rem 1.15rem 1.35rem;border:1.5px solid #c4b0f0;border-radius:8px;background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s}
.studio-proof__link:hover,.studio-proof__link:focus-visible{border-color:var(--studio-purple);box-shadow:0 16px 32px -20px #8A5CF555;transform:translateY(-2px)}
.studio-proof__name{font:600 1.15rem/1.25 var(--swx-font-display);letter-spacing:-.015em;margin:0;color:#1c1624}
.studio-proof__kicker{display:inline-block;font:700 .62rem/1 var(--swx-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--studio-purple);margin-right:.35rem}
.studio-proof__problem,.studio-proof__angle{margin:0;font-size:.86rem;line-height:1.55;color:#2f243c}
.studio-proof__cta{margin-top:auto;padding-top:.65rem;font:600 .82rem var(--swx-font-body);color:var(--studio-purple);border-top:1px solid #c4b6d4}
.studio-proof__cta .studio-ico-arrow{display:inline-block;margin-left:.35rem;transition:transform .2s;vertical-align:middle}
.studio-proof__link:hover .studio-proof__cta .studio-ico-arrow,.studio-proof__link:focus-visible .studio-proof__cta .studio-ico-arrow{transform:translate(2px,-2px)}

/* -------------------------------------------------------------------------
   Studio motion V2 — Sama Design : beau + technique
   Vocabulaires : focus (intro) · frame 3D (work) · assemble (expertise)
   · pipeline (method) · sheet (proof) · panel (CTA)
   Texte lisible vite. Couches techniques = wow.
   ------------------------------------------------------------------------- */

/* —— Intro : mise au point (clip titre uniquement — pas de traits sous labels/em) —— */
html.studio-motion .studio-intro h2{
    clip-path:inset(0 0 100% 0);
    transition:clip-path .6s cubic-bezier(.22,1,.36,1) .06s;
}
html.studio-motion .studio-intro.is-in h2{clip-path:inset(0 0 0 0)}

/* —— Headings : pas de rule sous labels (trop de traits) —— */

/* —— Work : wow volume (entrée + scroll 3D JS) —— */
html.studio-motion .studio-project__art{
    clip-path:inset(18% 8% 18% 8% round 14px);
    filter:saturate(.85) brightness(.96);
    transition:clip-path .9s cubic-bezier(.16,1,.3,1),filter .8s ease,box-shadow .6s ease;
}
html.studio-motion .studio-project.is-in .studio-project__art{
    clip-path:inset(0 0 0 0 round 14px);
    filter:none;
    box-shadow:0 48px 80px -28px rgba(28,22,36,.5),0 0 0 1px rgba(138,92,245,.12);
}
html.studio-motion .studio-project:nth-child(2).is-in .studio-project__art{transition-delay:120ms}
html.studio-motion .studio-project:nth-child(3).is-in .studio-project__art{transition-delay:240ms}
html.studio-motion .studio-project__number{
    opacity:0;
    transform:translate3d(-20px,8px,0) scale(.9);
    transition:opacity .5s ease,transform .55s cubic-bezier(.22,1,.36,1);
}
html.studio-motion .studio-project.is-in .studio-project__number{
    opacity:1;
    transform:none;
    transition-delay:.35s;
}
html.studio-motion .studio-project:not(.is-in) .studio-browser{
    transform:perspective(1200px) rotateX(28deg) rotateY(-32deg) rotateZ(-8deg) scale(.78) translateY(40px)!important;
    opacity:.55;
}
html.studio-motion .studio-project.is-in .studio-browser{
    opacity:1;
    transition:opacity .5s ease .1s,box-shadow .5s ease;
}
html.studio-motion .studio-browser__bar i{
    transition:background-color .35s ease,transform .35s ease,box-shadow .35s ease;
}
html.studio-motion .studio-project.is-in .studio-browser__bar i:nth-child(1){
    background:#ff5f57;transform:scale(1.25);box-shadow:0 0 8px #ff5f5788;transition-delay:.45s;
}
html.studio-motion .studio-project.is-in .studio-browser__bar i:nth-child(2){
    background:#febc2e;transform:scale(1.25);box-shadow:0 0 8px #febc2e88;transition-delay:.55s;
}
html.studio-motion .studio-project.is-in .studio-browser__bar i:nth-child(3){
    background:#28c840;transform:scale(1.25);box-shadow:0 0 8px #28c84088;transition-delay:.65s;
}
html.studio-motion .studio-browser img{
    will-change:transform;
}

/* —— Expertise : systèmes qui s’assemblent —— */
html.studio-motion .studio-chapter .studio-visual{
    opacity:0;
    transform:translate3d(2.5rem,1rem,0) scale(.9) rotateY(-8deg);
    filter:blur(4px);
    transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.16,1,.3,1),filter .7s ease;
}
html.studio-motion .studio-chapter.is-in .studio-visual{
    opacity:1;
    transform:none;
    filter:none;
}
html.studio-motion .studio-chapter__index{
    opacity:.35;
    transform:translate3d(0,.5rem,0);
    transition:opacity .4s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
html.studio-motion .studio-chapter.is-in .studio-chapter__index{
    opacity:1;
    transform:none;
}

/* Create — settle 3D + parallax vars */
html.studio-motion .studio-visual--web{perspective:900px}
html.studio-motion .studio-chapter--create:not(.is-in) .studio-window--back{
    transform:translate(calc(-34% + var(--studio-par-x,0px)),calc(-56% + var(--studio-par-y,0px))) rotate(12deg) scale(.92);
    opacity:.4;
}
html.studio-motion .studio-chapter--create:not(.is-in) .studio-window--front{
    transform:translate(calc(-50% + var(--studio-par-x,0px)),calc(-44% + var(--studio-par-y,0px))) rotate(-12deg) scale(.94);
    opacity:.55;
}
html.studio-motion .studio-chapter--create .studio-window{
    transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .5s ease;
}
html.studio-motion .studio-chapter--create.is-in .studio-window--back{
    transform:translate(calc(-38% + var(--studio-par-x,0px) * .6),calc(-62% + var(--studio-par-y,0px) * .6)) rotate(8deg);
    opacity:1;
    transition-delay:.05s;
}
html.studio-motion .studio-chapter--create.is-in .studio-window--front{
    transform:translate(calc(-50% + var(--studio-par-x,0px)),calc(-50% + var(--studio-par-y,0px))) rotate(-9deg);
    opacity:1;
    transition-delay:.14s;
}
@media (hover:hover) and (pointer:fine){
    html.studio-motion .studio-chapter--create.is-in:hover .studio-window--back{
        transform:translate(calc(-41% + var(--studio-par-x,0px) * .6),calc(-65% + var(--studio-par-y,0px) * .6)) rotate(6deg);
    }
    html.studio-motion .studio-chapter--create.is-in:hover .studio-window--front{
        transform:translate(calc(-47% + var(--studio-par-x,0px)),calc(-52% + var(--studio-par-y,0px))) rotate(-7deg);
    }
}

/* Connect — draw + nodes + pulse cœur once */
html.studio-motion .studio-chapter--connect:not(.is-in) .studio-visual--flow path{
    stroke-dasharray:420;stroke-dashoffset:420;
}
html.studio-motion .studio-chapter--connect.is-in .studio-visual--flow path{
    stroke-dasharray:420;stroke-dashoffset:420;
    animation:studioDrawPath 1s cubic-bezier(.22,1,.36,1) .06s forwards;
}
html.studio-motion .studio-chapter--connect:not(.is-in) .studio-visual--flow circle,
html.studio-motion .studio-chapter--connect:not(.is-in) .studio-visual--flow rect{
    opacity:0;transform:scale(.8);transform-box:fill-box;transform-origin:center;
}
html.studio-motion .studio-chapter--connect.is-in .studio-visual--flow circle,
html.studio-motion .studio-chapter--connect.is-in .studio-visual--flow rect{
    animation:studioNodeIn .38s ease both;
}
html.studio-motion .studio-chapter--connect.is-in .studio-visual--flow circle:nth-of-type(1){animation-delay:.38s}
html.studio-motion .studio-chapter--connect.is-in .studio-visual--flow circle:nth-of-type(2){animation-delay:.46s}
html.studio-motion .studio-chapter--connect.is-in .studio-visual--flow circle:nth-of-type(3){animation-delay:.54s}
html.studio-motion .studio-chapter--connect.is-in .studio-visual--flow circle:nth-of-type(4){animation-delay:.62s}
html.studio-motion .studio-chapter--connect.is-in .studio-visual--flow rect{
    animation:studioNodeIn .38s ease both .7s,studioHubPulse .55s ease .95s 1;
}

/* Learn — stagger opacity (transforms 3D déjà en base) */
html.studio-motion .studio-chapter--learn:not(.is-in) .studio-visual--learn span{
    opacity:0;
}
html.studio-motion .studio-chapter--learn.is-in .studio-visual--learn span{
    animation:studioLearnIn .5s cubic-bezier(.22,1,.36,1) both;
}
html.studio-motion .studio-chapter--learn.is-in .studio-visual--learn span:nth-child(1){animation-delay:.08s}
html.studio-motion .studio-chapter--learn.is-in .studio-visual--learn span:nth-child(2){animation-delay:.18s}
html.studio-motion .studio-chapter--learn.is-in .studio-visual--learn span:nth-child(3){animation-delay:.28s}
html.studio-motion .studio-chapter--learn.is-in .studio-visual--learn span:nth-child(3) b{
    display:inline-block;
    animation:studioArrowAnchor .4s cubic-bezier(.22,1,.36,1) .55s both;
}

/* —— Method : pipeline —— */
html.studio-motion .studio-steps{
    position:relative;
    --studio-p:0;
}
html.studio-motion .studio-steps::before{
    content:"";
    position:absolute;
    top:.35rem;left:0;right:0;
    height:4px;
    background:rgba(138,92,245,.15);
    border-radius:4px;
    pointer-events:none;
}
html.studio-motion .studio-steps::after{
    content:"";
    position:absolute;
    top:.35rem;left:0;
    width:100%;height:4px;
    background:linear-gradient(90deg,#8A5CF5,#c4b5fd);
    border-radius:4px;
    transform:scaleX(var(--studio-p));
    transform-origin:left center;
    pointer-events:none;
    transition:transform .4s cubic-bezier(.22,1,.36,1);
    box-shadow:0 0 18px rgba(138,92,245,.55);
}
html.studio-motion .studio-steps.is-hovering::after{
    transition-duration:.45s;
}
html.studio-motion .studio-steps > li{
    border-top:0;
    padding-top:1.35rem;
    position:relative;
    z-index:1;
    cursor:default;
    transition:transform .35s cubic-bezier(.22,1,.36,1);
}
html.studio-motion .studio-steps > li.is-hot > span{
    opacity:1;
    transform:none;
    color:var(--studio-purple);
}
html.studio-motion .studio-steps > li.is-hot{
    transform:translate3d(0,-10px,0);
    transition:transform .35s cubic-bezier(.22,1,.36,1);
}
html.studio-motion .studio-steps > li.is-hot h3{
    color:var(--studio-purple);
    text-shadow:0 0 24px rgba(138,92,245,.25);
}
html.studio-motion .studio-steps > li.is-hot p{
    color:#1c1624;
}
html.studio-motion .studio-steps > li::before{
    content:"";
    display:block;
    height:2px;
    margin:0 0 1.1rem;
    background:var(--studio-purple);
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform .55s cubic-bezier(.22,1,.36,1);
}
html.studio-motion .studio-steps > li.is-in::before{transform:scaleX(1)}
html.studio-motion .studio-steps > li > span{
    display:inline-block;
    opacity:.4;
    transform:translate3d(0,.4rem,0) scale(.92);
    transition:opacity .4s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
html.studio-motion .studio-steps > li.is-in > span{
    opacity:1;
    transform:none;
}
html.studio-motion .studio-steps > li:nth-child(2).is-in::before,
html.studio-motion .studio-steps > li:nth-child(2).is-in > span{transition-delay:70ms}
html.studio-motion .studio-steps > li:nth-child(3).is-in::before,
html.studio-motion .studio-steps > li:nth-child(3).is-in > span{transition-delay:140ms}
html.studio-motion .studio-steps > li:nth-child(4).is-in::before,
html.studio-motion .studio-steps > li:nth-child(4).is-in > span{transition-delay:210ms}
@media (max-width:760px){
    html.studio-motion .studio-steps::before,
    html.studio-motion .studio-steps::after{display:none}
}

/* —— Proof : fiches techniques —— */
html.studio-motion .studio-proof__link{
    position:relative;
    overflow:hidden;
    transform:perspective(800px) rotateX(3deg);
    opacity:.92;
    transition:
        border-color .25s,
        box-shadow .3s,
        transform .55s cubic-bezier(.22,1,.36,1),
        opacity .4s ease;
}
html.studio-motion .studio-proof__link::before,
html.studio-motion .studio-proof__link::after{
    content:"";
    position:absolute;
    background:var(--studio-purple);
    opacity:0;
    transition:opacity .35s ease,transform .55s cubic-bezier(.22,1,.36,1);
    pointer-events:none;
}
html.studio-motion .studio-proof__link::before{
    top:0;left:0;width:2px;height:100%;
    transform:scaleY(0);transform-origin:top;
}
html.studio-motion .studio-proof__link::after{
    top:0;left:0;width:100%;height:2px;
    transform:scaleX(0);transform-origin:left;
}
html.studio-motion .studio-proof__item.is-in .studio-proof__link{
    transform:none;
    opacity:1;
}
html.studio-motion .studio-proof__item.is-in .studio-proof__link::before,
html.studio-motion .studio-proof__item.is-in .studio-proof__link::after{
    opacity:1;
    transform:none;
}
html.studio-motion .studio-proof__item:nth-child(2).is-in .studio-proof__link{transition-delay:100ms}
html.studio-motion .studio-proof__item:nth-child(2).is-in .studio-proof__link::before,
html.studio-motion .studio-proof__item:nth-child(2).is-in .studio-proof__link::after{transition-delay:100ms}
html.studio-motion .studio-proof__item:nth-child(3).is-in .studio-proof__link{transition-delay:200ms}
html.studio-motion .studio-proof__item:nth-child(3).is-in .studio-proof__link::before,
html.studio-motion .studio-proof__item:nth-child(3).is-in .studio-proof__link::after{transition-delay:200ms}
html.studio-motion .studio-proof__link:hover,
html.studio-motion .studio-proof__link:focus-visible{
    border-color:var(--studio-purple);
    box-shadow:0 18px 36px -22px #8A5CF566;
    transform:translateY(-3px) rotateX(0);
}

/* —— CTA : panneau de commande —— */
html.studio-motion .swx-cta{
    clip-path:inset(12% 0 0 0);
    opacity:0;
    transform:scale(.985);
    transition:
        clip-path .65s cubic-bezier(.22,1,.36,1),
        opacity .5s ease,
        transform .6s cubic-bezier(.22,1,.36,1);
}
html.studio-motion .swx-cta.is-in{
    clip-path:inset(0 0 0 0);
    opacity:1;
    transform:none;
}
/* CTA accent : pas de soulignage */

@keyframes studioDrawPath{to{stroke-dashoffset:0}}
@keyframes studioNodeIn{
    from{opacity:0;transform:scale(.8)}
    to{opacity:1;transform:scale(1)}
}
@keyframes studioHubPulse{
    0%,100%{filter:none}
    40%{filter:drop-shadow(0 0 12px rgba(138,92,245,.65))}
}
@keyframes studioLearnIn{
    from{opacity:0}
    to{opacity:1}
}
@keyframes studioArrowAnchor{
    from{opacity:0;transform:translate(-6px,4px)}
    to{opacity:1;transform:none}
}
@keyframes studioSpecular{
    0%{opacity:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,0) 45%,rgba(255,255,255,.35) 50%,rgba(255,255,255,0) 55%,transparent 65%);transform:translateX(-40%)}
    35%{opacity:1}
    100%{opacity:0;transform:translateX(45%)}
}

body[data-page="index"] .swx-outils .swx-eyebrow{color:var(--studio-purple,#8A5CF5)}
body[data-page="index"] .swx-outils .swx-accent{color:var(--studio-purple,#8A5CF5);-webkit-text-fill-color:var(--studio-purple,#8A5CF5)}
body[data-page="index"] .swx-iaauto .swx-accent,
body[data-page="index"] .swx-formtrack .swx-accent{color:var(--studio-purple,#8A5CF5);-webkit-text-fill-color:var(--studio-purple,#8A5CF5)}

/* Dense deep-dives on homepage only */
body[data-page="index"] .swx-iaauto{padding-block:clamp(3.5rem,7vw,5.5rem)}
body[data-page="index"] .swx-formtrack{padding-block:clamp(3.5rem,7vw,5.5rem)}
body[data-page="index"] .swx-outils.swx-section{padding-block:clamp(3.25rem,6vw,5rem)}
body[data-page="index"] .swx-outils__grid{gap:1.35rem}
@media(max-width:900px){
    body[data-page="index"] .swx-outils__grid{grid-template-columns:1fr}
}

/* CTA — real dark rupture (overrides soft lavender from home-immersive) */
body.swx[data-page="index"] .swx-cta{
    background:#111111;
    color:#f7f6f3;
    border:0;
    border-radius:2px;
    box-shadow:none;
    padding:clamp(2.5rem,5.5vw,4.75rem);
    isolation:isolate;
}
body.swx[data-page="index"] .swx-cta>.swx-ambient,
body.swx[data-page="index"] .swx-cta::before,
body.swx[data-page="index"] .swx-cta::after,
body.swx[data-page="index"] .swx-cta__glow{display:none}
body.swx[data-page="index"] .swx-cta__title{color:#f7f6f3;-webkit-text-fill-color:#f7f6f3}
body.swx[data-page="index"] .swx-cta .swx-accent,
body.swx[data-page="index"] .swx-cta__title .swx-accent{color:var(--swx-lilac)!important;-webkit-text-fill-color:var(--swx-lilac)!important;background:none!important}
body.swx[data-page="index"] .swx-cta__lead{color:rgba(247,246,243,.88);opacity:1}
body.swx[data-page="index"] .swx-cta .swx-btn--primary{background:var(--swx-violet);color:#fff;border-color:var(--swx-violet)}
body.swx[data-page="index"] .swx-cta .swx-btn--primary:hover{background:#fff;color:#111;border-color:#fff}
body.swx[data-page="index"] .swx-cta .swx-btn--ghost{background:transparent;color:#fff;border-color:rgba(247,246,243,.35)}
body.swx[data-page="index"] .swx-cta .swx-btn--ghost:hover{background:#fff;color:#111;border-color:#fff}
body.swx[data-page="index"] .swx-cta .swx-btn:focus-visible{outline:3px solid #c4b5fd;outline-offset:4px}

body[data-page="index"] .swx-reveal,
body[data-page="index"] .swx-reveal .swx-accent{opacity:1!important;filter:none!important}
body[data-page="index"] .swx-reveal--cta .swx-cta__title,
body[data-page="index"] .swx-reveal--cta .swx-cta__title .swx-accent,
body[data-page="index"] .swx-reveal--cta .swx-cta__lead,
body[data-page="index"] .swx-reveal--cta .swx-cta__actions{opacity:1!important;transform:none!important;filter:none!important}
@media(max-width:1100px){body[data-page="index"] .swx-immersive-grid{gap:1rem}body[data-page="index"] .swx-display{font-size:clamp(3.4rem,7vw,5.5rem)}.studio-project__art,.studio-project--garage .studio-project__art,.studio-project--shop .studio-project__art,.studio-project--assoc .studio-project__art{height:280px}.studio-project--shop{margin-top:1rem}.studio-project--assoc{margin-top:2rem}.studio-chapter{gap:1.25rem;grid-template-columns:25px 1.15fr 1fr}.studio-chapter h3 em{display:block}.studio-proof__list{gap:1rem}}
@media(max-width:760px){body[data-page="index"] .swx-container,.studio-wrap{width:calc(100% - 40px)}body[data-page="index"] .swx-immersive-grid{grid-template-columns:1fr}body[data-page="index"] .swx-display{font-size:clamp(3.1rem,11.3vw,4.8rem)}body[data-page="index"] .swx-symbol{height:420px}body[data-page="index"] .swx-hero__lead{font-size:.95rem}body[data-page="index"] .swx-hero--immersive{padding-top:4rem}.studio-intro{grid-template-columns:1fr;gap:1.25rem;padding-block:3rem}.studio-intro p{font-size:.95rem}.studio-heading{display:block;margin-bottom:1.75rem}.studio-heading>.studio-link,.studio-heading>p{margin-top:1rem}.studio-heading>p{font-size:.85rem}.studio-project-grid{grid-template-columns:1fr;gap:2rem}.studio-project--garage,.studio-project--shop,.studio-project--assoc{margin-top:0}.studio-project__art,.studio-project--garage .studio-project__art,.studio-project--shop .studio-project__art,.studio-project--assoc .studio-project__art{height:280px}.studio-project__info{display:block}.studio-project__info>span{display:inline-block;margin-top:.8rem}.studio-work{padding-bottom:3.25rem}.studio-expertise{padding-block:3rem 1rem}.studio-chapter{grid-template-columns:20px 1fr;gap:1rem;padding-block:1.85rem}.studio-chapter__copy p{font-size:.88rem}.studio-visual{grid-column:2;height:200px}.studio-chapter h3 em{display:inline}.studio-method{padding-block:3.25rem}.studio-steps{grid-template-columns:1fr 1fr;gap:1.75rem 1.25rem}.studio-steps h3{margin-top:1.15rem!important}.studio-steps p{font-size:.82rem}.studio-proof{padding-block:3.25rem}.studio-proof__list{grid-template-columns:1fr;gap:1rem}.studio-link{font-size:.79rem}.studio-intro>.studio-label{padding:0}}
@media(max-width:360px){.studio-project__art,.studio-project--garage .studio-project__art,.studio-project--shop .studio-project__art,.studio-project--assoc .studio-project__art{height:240px}.studio-chapter{grid-template-columns:1fr}.studio-chapter__index{display:none}.studio-visual{grid-column:1}.studio-steps{grid-template-columns:1fr}.studio-window{width:190px}}
@media(prefers-reduced-motion:reduce){
    .studio-browser,.studio-link span,.studio-proof__link,.studio-proof__cta span{transition:none}
    .studio-project:hover .studio-browser,.studio-proof__link:hover{transform:none}
    html.studio-motion .studio-intro h2,
    html.studio-motion .studio-project__art,
    html.studio-motion .studio-project__art::after,
    html.studio-motion .studio-project__number,
    html.studio-motion .studio-project .studio-browser,
    html.studio-motion .studio-chapter .studio-visual,
    html.studio-motion .studio-chapter__index,
    html.studio-motion .studio-chapter--create .studio-window,
    html.studio-motion .studio-chapter--connect .studio-visual--flow path,
    html.studio-motion .studio-chapter--connect .studio-visual--flow circle,
    html.studio-motion .studio-chapter--connect .studio-visual--flow rect,
    html.studio-motion .studio-chapter--learn .studio-visual--learn span,
    html.studio-motion .studio-steps > li,
    html.studio-motion .studio-steps > li::before,
    html.studio-motion .studio-steps > li > span,
    html.studio-motion .studio-steps::after,
    html.studio-motion .studio-proof__link,
    html.studio-motion .studio-proof__link::before,
    html.studio-motion .studio-proof__link::after,
    html.studio-motion .swx-cta{
        opacity:1!important;
        transform:none!important;
        clip-path:none!important;
        transition:none!important;
        animation:none!important;
        stroke-dashoffset:0!important;
        filter:none!important;
    }
    html.studio-motion .studio-steps{--studio-p:1}
}
