/* Accueil produit : un besoin, une personne, un echange. */
.home .site-row{max-width:1280px;margin:auto;padding-left:40px;padding-right:40px}
.home .site-cta{background:none;color:var(--gigets-ink);border:0;padding:12px 0;text-decoration:underline;text-underline-offset:6px}
.home-stage{max-width:1280px;margin:auto;padding:72px 40px 80px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.stage-copy>.eyebrow{color:var(--gigets-mute);margin-bottom:24px}
.home h1{font-size:clamp(48px,5.2vw,72px);line-height:1.05;letter-spacing:-.04em;font-weight:500;margin:0 0 28px}
.home .stage-description{font-size:18px;line-height:1.6;color:var(--gigets-body);max-width:430px;margin:0 0 32px}
.home .small-note{font-size:12px;color:var(--gigets-mute);margin-top:16px}
.exchange-console{background:transparent;color:var(--gigets-ink);min-width:0}
.console-heading{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid var(--gigets-rule);font-size:14px}
.console-heading>span{font-size:24px}
.console-tabs{display:flex;padding:0 32px;gap:32px;border-bottom:1px solid var(--gigets-rule)}
.console-tabs button{font:14px var(--gigets-font-ui);color:var(--gigets-body);border:0;border-bottom:2px solid transparent;background:none;padding:20px 0;cursor:pointer}
.console-tabs button[aria-selected=true]{color:var(--gigets-ink);border-bottom-color:var(--gigets-ember)}
.console-tabs button:focus-visible{outline:2px solid var(--gigets-crimson);outline-offset:4px}
.console-content{padding:32px;min-height:330px}.console-panel:not([hidden]){animation:console-reveal .35s ease-out}
.console-label{font:12px var(--gigets-font-data);text-transform:uppercase;letter-spacing:.06em;margin-bottom:24px!important;color:var(--gigets-body)}
.console-panel:first-child .console-label{border-left:4px solid var(--gigets-magenta);padding-left:12px}
.console-panel:last-child .console-label{border-left:4px solid var(--gigets-verdigris);padding-left:12px}
.console-ask{font:27px/1.45 var(--gigets-font-ui);letter-spacing:-.02em}
.console-context{font-size:13px;line-height:1.6;color:var(--gigets-body);margin-top:24px!important}
.console-person{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.console-person strong{font-size:28px;font-weight:500}.console-person span{font:12px var(--gigets-font-data);color:var(--gigets-body)}
.disclosure{font-size:11px;color:var(--gigets-body);margin-bottom:8px!important}.console-reason{font-size:16px;line-height:1.6}.console-response{border-top:1px solid var(--gigets-rule);padding-top:20px;margin-top:20px!important;font-size:18px}
.console-amount{font:32px var(--gigets-font-data);margin-top:24px!important}
.console-bottom{padding:20px 32px;border-top:1px solid var(--gigets-rule);display:flex;gap:16px;justify-content:space-between;align-items:center}.console-bottom p{font-size:11px;line-height:1.5;color:var(--gigets-body);max-width:170px}.console-bottom a{font-size:13px;text-underline-offset:5px;white-space:nowrap}
.giving-section{max-width:1280px;padding:0 40px 64px;margin:auto}.giving-heading{border-top:1px solid var(--gigets-rule);padding-top:32px;display:flex;justify-content:space-between;gap:32px;align-items:baseline;margin-bottom:40px}.giving-heading .eyebrow{color:var(--gigets-mute)}.home .giving-heading h2{font:32px/1.2 var(--gigets-font-ui);letter-spacing:-.02em}
.giving-examples{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.giving-examples article{border-top:1px solid var(--gigets-rule);padding-top:20px}.giving-index{font:12px var(--gigets-font-data);color:var(--gigets-mute)}.giving-examples h3{font:22px/1.25 var(--gigets-font-ui);margin:16px 0 12px}.giving-examples p{font-size:16px;line-height:1.6;color:var(--gigets-body)}
.purpose-section{max-width:1200px;margin:0 auto 64px;padding:48px;background:var(--gigets-sunken)}.purpose-section .eyebrow{color:var(--gigets-mute);margin-bottom:24px}.home .purpose-section h2{font:clamp(32px,3.8vw,48px)/1.15 var(--gigets-font-display);max-width:820px;letter-spacing:-.03em}.purpose-section .text-link{font-size:15px}
.home .site-foot{background:var(--gigets-paper);color:var(--gigets-ink);border-top:1px solid var(--gigets-rule)}.home .site-foot a,.home .site-foot-motto{color:var(--gigets-body)}.home .site-foot-title,.home .site-foot-bottom{color:var(--gigets-mute)}.home .site-foot-bottom{border-color:var(--gigets-rule)}.home .site-foot-brand img{content:url('/gigets-mark-gradient.svg');width:40px;height:44px}.home .site-foot-social svg{fill:currentColor}
@keyframes console-reveal{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.home-stage{gap:32px;padding:48px 32px}.home h1{font-size:54px}.console-tabs{gap:24px}.console-content{min-height:370px}.purpose-section{margin-left:32px;margin-right:32px}.giving-section{padding-left:32px;padding-right:32px}}
@media(max-width:760px){.home .site-row{padding-left:20px;padding-right:20px}.home-stage{display:block;padding:40px 20px}.home h1{font-size:48px}.home .stage-description{font-size:17px}.exchange-console{margin-top:32px}.console-heading,.console-bottom{padding:20px 24px}.console-tabs{padding:0 24px;gap:24px}.console-content{padding:24px;min-height:350px}.console-ask{font-size:24px}.giving-section{padding:0 20px 40px}.giving-heading{display:block;margin-bottom:24px}.home .giving-heading h2{font-size:28px;margin-top:16px}.giving-examples{grid-template-columns:1fr 1fr;gap:24px}.giving-examples h3{font-size:20px}.giving-examples p{font-size:15px}.purpose-section{margin:0 20px 40px;padding:32px 24px}}
@media(prefers-reduced-motion:reduce){.console-panel{animation:none!important}}
/* La devise garde deux lignes sur ordinateur et une taille lisible sur mobile. */
@media(min-width:1001px){.home h1{font-size:clamp(44px,4vw,58px)}}
@media(max-width:760px){.home h1{font-size:36px;line-height:1.15}}

/* L'orange porte les surfaces et l'action, a la demande d'Alexandre. */
.home{background:color-mix(in srgb,var(--gigets-ember) 7%,var(--gigets-paper))}
.home .site-head{background:var(--gigets-paper)}
.home-stage{position:relative;padding-top:64px;padding-bottom:64px;gap:72px}
.home .action{background:var(--gigets-ember);border-color:var(--gigets-ember);color:var(--gigets-ink);padding:16px 32px}
.home .action:hover{background:color-mix(in srgb,var(--gigets-ember) 85%,var(--gigets-paper))}
.console-heading{border-color:var(--gigets-ember);padding:16px 0;font-size:16px}
.console-heading>span{color:var(--gigets-ink)}
.console-tabs{padding:0;gap:32px;border-color:color-mix(in srgb,var(--gigets-ember) 35%,var(--gigets-paper))}
.console-tabs button{padding:20px 0}
.console-content{padding:32px 0;min-height:300px}
.console-ask{font-size:28px;line-height:1.5}
.console-bottom{padding:20px 0;border-color:var(--gigets-ember)}
.console-label{color:var(--gigets-body)}
.giving-heading{border-top-color:var(--gigets-ember)}
.giving-examples article{border-top-color:var(--gigets-ember)}
.purpose-section{background:color-mix(in srgb,var(--gigets-ember) 20%,var(--gigets-paper))}
.home .site-foot{background:color-mix(in srgb,var(--gigets-ember) 7%,var(--gigets-paper));border-top-color:var(--gigets-ember)}
@media(max-width:760px){.home-stage{padding:40px 20px}.exchange-console{margin-top:40px}.console-content{padding:24px 0;min-height:320px}.console-ask{font-size:24px}.console-tabs{gap:24px}.home .site-foot-brand img{width:36px;height:40px}}

/* Une scene ouverte occupe la largeur, sans panneau ni faux ecran. */
.home .home-stage{display:block;max-width:1280px;padding:64px 40px 56px}
.stage-copy{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:center;margin-bottom:56px}
.home .stage-copy h1{font-size:clamp(48px,4.8vw,68px);margin:0;line-height:1.06;letter-spacing:-.04em}
.home .stage-description{font-size:20px;max-width:360px;margin-bottom:24px}
.exchange-scene{position:relative;border-top:1px solid var(--gigets-ember);border-bottom:1px solid var(--gigets-ember);padding:24px 0 16px}
.scene-top{display:flex;justify-content:space-between;gap:24px;align-items:center}.scene-top .eyebrow{color:var(--gigets-body)}
.scene-counter{font:12px var(--gigets-font-data);color:var(--gigets-body)}.scene-counter span{margin:0 12px;color:var(--gigets-ink)}
.scene-body{display:grid;grid-template-columns:5fr 2fr 5fr;align-items:center;gap:24px;min-height:250px;padding:36px 0 24px}
.scene-tag{font:12px var(--gigets-font-data);color:var(--gigets-body)}.scene-ask>p{font:26px/1.4 var(--gigets-font-ui);letter-spacing:-.02em;margin-top:16px}
.scene-bridge{position:relative;height:140px}.scene-bridge svg{width:100%;height:100%;overflow:visible}.scene-bridge path{fill:none;stroke:var(--gigets-ember);stroke-width:2;stroke-dasharray:240;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s ease}.scene-bridge>span{position:absolute;right:-3px;top:14px;font-size:25px;color:var(--gigets-ink)}
.person-title{display:flex;align-items:center;gap:20px}.person-initial{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--gigets-ember);color:var(--gigets-ink);font:30px var(--gigets-font-display)}.person-title strong{font:30px var(--gigets-font-ui)}.person-title p{font-size:18px;margin-top:4px}
.scene-reason{font-size:15px;line-height:1.6;color:var(--gigets-body);margin-top:20px!important;max-width:380px}.scene-reason>span{display:block;font-size:11px;margin-bottom:6px}
.scene-person{transition:opacity .6s ease,transform .6s ease}.scene-settled{display:flex;align-items:center;gap:16px;min-height:68px;transition:opacity .6s ease,transform .6s ease}.settled-mark{color:var(--gigets-verdigris);font-size:28px}.scene-settled>p{font-size:16px}.scene-amount{margin-left:auto;font:20px var(--gigets-font-data);color:var(--gigets-ink)}
.exchange-scene[data-phase="0"] .scene-person{opacity:0;transform:translateY(12px);visibility:hidden}.exchange-scene[data-phase="0"] .scene-bridge path{stroke-dashoffset:240}.exchange-scene[data-phase="0"] .scene-bridge>span{opacity:0}
.exchange-scene:not([data-phase="2"]) .scene-settled{opacity:0;transform:translateY(8px);visibility:hidden}
.scene-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:16px}.scene-bottom>p{font-size:12px;color:var(--gigets-body)}.scene-bottom>div{display:flex;gap:24px}.scene-bottom button{font:13px var(--gigets-font-ui);color:var(--gigets-ink);background:none;border:0;border-bottom:1px solid var(--gigets-ember);padding:8px 0;cursor:pointer}
.home .giving-heading{border:0;padding-top:8px}.home .purpose-section{background:var(--gigets-ember)}.home .purpose-section .eyebrow{color:var(--gigets-body)}
@media(max-width:1000px){.home .stage-copy h1{font-size:48px}.stage-copy{gap:32px}.scene-ask>p{font-size:23px}.scene-body{gap:16px}.scene-counter{font-size:10px}}
@media(max-width:760px){.home .home-stage{padding:40px 20px}.stage-copy{display:block;margin-bottom:32px}.home .stage-copy h1{font-size:39px}.home .stage-description{font-size:17px;margin:24px 0}.scene-top{display:block}.scene-counter{margin-top:16px!important;font-size:11px}.scene-body{grid-template-columns:1fr;padding:24px 0 8px;gap:0}.scene-ask>p{font-size:23px}.scene-bridge{height:48px;width:80px;margin-left:24px}.scene-bridge svg{transform:scaleY(-1)}.scene-bridge>span{top:16px}.scene-person{margin-top:8px;min-height:160px}.scene-reason{font-size:14px}.scene-settled{flex-wrap:wrap;gap:8px 12px}.scene-settled>p{font-size:14px;max-width:240px}.scene-amount{margin:0 0 0 36px;font-size:18px}.scene-bottom{align-items:flex-start}.scene-bottom>p{max-width:180px;font-size:11px}.scene-bottom>div{gap:16px}}
@media(prefers-reduced-motion:reduce){.scene-person,.scene-settled,.scene-bridge path{transition:none!important}}

/* Guide lent, grand G et fond neutre. */
.home{background:var(--gigets-paper)}
.home .home-stage{padding-top:48px}
.stage-copy{grid-template-columns:7fr 5fr;gap:32px;margin-bottom:72px}
.home .stage-copy h1{font-size:clamp(46px,4.8vw,68px);margin:0 0 24px}
.home .stage-description{font-size:19px;max-width:440px;margin-bottom:28px}
.hero-mark{display:grid;place-items:center;min-height:440px}.hero-mark svg{width:220px;height:220px;overflow:visible}
.hero-mark.drawing .mark-master{mask:url(#mark-reveal)}.hero-mark.drawing .mark-trace{stroke-dasharray:1;stroke-dashoffset:1;animation:draw-mark 3.6s ease-in-out forwards}
@keyframes draw-mark{to{stroke-dashoffset:0}}
.home .exchange-scene{border:0;padding:0}
.story-intro{max-width:760px;margin-bottom:36px}.story-intro .eyebrow{color:var(--gigets-mute);margin-bottom:12px}.home .story-intro h2{font:36px/1.2 var(--gigets-font-display)}.story-intro>p:last-child{font-size:13px;color:var(--gigets-mute);margin-top:12px}
.story-layout{display:grid;grid-template-columns:1fr 3fr;gap:48px}.story-navigation{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.story-navigation button{display:flex;gap:16px;align-items:baseline;background:transparent;border:0;padding:16px 0;text-align:left;font:16px var(--gigets-font-ui);color:var(--gigets-body);cursor:pointer}
.story-navigation button>span{font:12px var(--gigets-font-data);color:var(--gigets-mute)}
.story-navigation button[aria-current=step]{color:var(--gigets-ink);font-weight:600}.story-navigation button[aria-current=step]>span{color:var(--gigets-crimson)}
.story-panels{background:color-mix(in srgb,var(--gigets-ember) 6%,var(--gigets-paper));padding:36px 40px;min-height:390px}
.story-panel:not([hidden]){animation:panel-in .6s ease-out}.story-panel .eyebrow{color:var(--gigets-body);margin-bottom:16px}.story-panel h3{font:30px/1.25 var(--gigets-font-ui);margin:0 0 24px}
.story-example{font:25px/1.4 var(--gigets-font-ui);max-width:650px;letter-spacing:-.02em;margin-bottom:24px!important}.story-example.story-price{font:36px var(--gigets-font-data)}
.story-explanation{font-size:17px;line-height:1.65;color:var(--gigets-body);max-width:650px}.story-disclosure{font-size:12px;color:var(--gigets-mute);margin-bottom:12px!important}
.story-controls{display:flex;align-items:center;justify-content:space-between;margin:24px 0 0 28%;gap:24px}.story-controls>p{font:12px var(--gigets-font-data);color:var(--gigets-mute)}.story-controls>div{display:flex;gap:24px;flex-wrap:wrap}.story-controls button{border:0;background:none;color:var(--gigets-body);font:14px var(--gigets-font-ui);padding:8px 0;cursor:pointer}.story-controls button:disabled{opacity:.45;cursor:default}
.home .giving-heading{display:block;margin-bottom:32px}.home .giving-heading h2{font:36px/1.2 var(--gigets-font-display);max-width:700px}.giving-examples article{border:0;padding-top:0}.giving-index{display:none}
.home .purpose-section{background:transparent;padding:40px 0;margin-top:24px;margin-bottom:40px}.home .purpose-section h2{max-width:900px}.home .purpose-section .eyebrow{color:var(--gigets-mute)}
@keyframes panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.home .stage-copy h1{font-size:48px}.hero-mark{min-height:360px}.hero-mark svg{width:180px;height:180px}.story-layout{gap:24px;grid-template-columns:1fr 3fr}.story-panels{padding:28px;min-height:440px}}
@media(max-width:760px){.stage-copy{display:flex;flex-direction:column-reverse;gap:0;margin-bottom:48px;align-items:stretch}.hero-mark{min-height:200px}.hero-mark svg{width:100px;height:100px}.home .stage-copy h1{font-size:39px}.home .stage-description{font-size:17px}.story-layout{display:block}.story-navigation{flex-direction:row;overflow-x:auto;gap:20px;margin-bottom:20px}.story-navigation button{font-size:13px;white-space:nowrap;padding:8px 0;gap:6px}.story-navigation button span{font-size:10px}.story-panels{padding:24px 20px;min-height:480px}.story-panel h3{font-size:25px}.story-example{font-size:22px}.story-explanation{font-size:16px}.home .story-intro h2,.home .giving-heading h2{font-size:30px}.story-controls{margin-left:0;gap:12px}.story-controls>div{gap:16px}.story-controls button{font-size:12px}.home .purpose-section{margin-left:20px;margin-right:20px;padding:24px 0}}
@media(prefers-reduced-motion:reduce){.hero-mark .mark-master{mask:none!important}.mark-trace,.story-panel{animation:none!important}}

/* Les images de l'echange portent l'explication. Le detail reste facultatif. */
.story-panels{background:transparent;padding:8px 24px;min-height:420px}
.visual-stage{min-height:290px;display:flex;flex-direction:column;justify-content:center;gap:24px}
.visual-member{display:flex;align-items:center;gap:12px}.visual-member strong{font:18px var(--gigets-font-ui)}
.visual-avatar{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:50%;font:23px var(--gigets-font-display);background:color-mix(in srgb,var(--gigets-ember) 23%,var(--gigets-paper));color:var(--gigets-ink)}
.visual-pair>div:last-child .visual-avatar,.quote-people>.visual-member:last-child .visual-avatar{background:color-mix(in srgb,var(--gigets-magenta) 12%,var(--gigets-paper))}
.visual-ask{max-width:640px}.written-ask{margin-top:24px;font:27px/1.5 var(--gigets-font-ui);letter-spacing:-.02em}.written-ask>span{display:block}
.visual-pair{display:grid;grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);gap:20px;align-items:center}
.visual-label{font:12px var(--gigets-font-data);color:var(--gigets-mute);margin:20px 0 12px!important}
.shared-fact{font:18px/1.5 var(--gigets-font-ui);padding:4px 0;text-decoration:underline;text-decoration-color:var(--gigets-ember);text-underline-offset:6px;text-decoration-thickness:2px}
.visual-link svg{width:100%;overflow:visible}.visual-link path{fill:none;stroke:var(--gigets-ember);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:0}.visual-link circle{fill:var(--gigets-ember)}
.accept-sign{font-size:15px;line-height:1.5;margin-top:16px!important}.accept-sign>span{font-size:22px;color:var(--gigets-verdigris);margin-right:6px}
.visual-dialogue{margin-top:4px;display:grid;gap:12px;font-size:16px}.visual-dialogue>p:last-child{text-align:right}.visual-dialogue strong{font-size:12px;display:block;color:var(--gigets-mute);font-weight:400}
.quote-people{display:flex;justify-content:space-between;gap:32px;max-width:500px;margin:auto}.quote-amount{text-align:center;font:28px var(--gigets-font-data);margin-top:32px}.quote-amount>span{font-size:72px;letter-spacing:-.05em}.quote-amount>p{font:12px var(--gigets-font-ui);color:var(--gigets-mute);margin-top:12px}
.settled-stamp{font:32px var(--gigets-font-ui);color:var(--gigets-verdigris);text-align:center;margin-top:16px!important}
.visual-caption{font:18px/1.5 var(--gigets-font-ui);margin-top:24px!important;max-width:640px}.visual-details{margin-top:16px;font:14px/1.6 var(--gigets-font-ui);color:var(--gigets-body)}.visual-details summary{cursor:pointer;width:fit-content;color:var(--gigets-mute)}.visual-details p{max-width:650px;margin-top:12px}.story-disclosure{margin:12px 0 0!important}
.exchange-scene[data-visual-run=on] .story-panel:not([hidden]) .sequence-item{animation:visual-enter .9s both}.exchange-scene[data-visual-run=on] .step-two{animation-delay:1.8s!important}.exchange-scene[data-visual-run=on] .step-three{animation-delay:3.6s!important}
.exchange-scene[data-paused=true]:not([data-manual=true]):not([data-phase="4"]) .sequence-item{animation-play-state:paused!important}
.exchange-scene[data-manual=true] .sequence-item{animation:none!important}
@keyframes visual-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:760px){.story-panels{padding:8px 0;min-height:440px}.visual-stage{min-height:280px}.written-ask{font-size:23px}.visual-pair{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:12px}.visual-member{gap:8px}.visual-avatar{width:36px;height:36px;font-size:20px}.visual-member strong{font-size:16px}.shared-fact{font-size:15px}.visual-label{font-size:10px}.accept-sign{font-size:13px}.visual-caption{font-size:16px}.quote-amount>span{font-size:60px}.visual-dialogue{font-size:15px}}
@media(prefers-reduced-motion:reduce){.sequence-item{animation:none!important}}

/* Seuls les elements de la scene s'animent, jamais le panneau entier. */
.story-panel:not([hidden]){animation:none}

/* Une seule composition, les elements restent en place pendant tout l'echange. */
.continuous-scene .story-intro{margin-bottom:32px}
.continuous-stage{display:grid;grid-template-columns:minmax(0,5fr) 2fr minmax(0,5fr);gap:20px 32px;align-items:start;min-height:410px;padding:24px 0}
.continuous-ask,.continuous-person{min-height:250px}.continuous-request{font:24px/1.5 var(--gigets-font-ui);letter-spacing:-.02em;max-width:450px;margin-top:24px!important}
.continuous-person .visual-avatar{background:color-mix(in srgb,var(--gigets-magenta) 12%,var(--gigets-paper))}
.continuous-experience{font:13px var(--gigets-font-ui);color:var(--gigets-mute);margin-top:24px!important}
.need-pair{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;font:16px/1.5 var(--gigets-font-ui)}.need-pair span{background:color-mix(in srgb,var(--gigets-ember) 15%,var(--gigets-paper));padding:4px 8px}
.person-accept{font:14px var(--gigets-font-ui);margin-top:20px!important}.person-accept>span{font-size:20px;margin-right:8px}.continuous-reply{font:20px/1.4 var(--gigets-font-ui);margin-top:16px!important}
.continuous-link{align-self:start;padding-top:64px}.continuous-link svg{width:100%;overflow:visible}.connection-track{fill:none;stroke:var(--gigets-ember);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s ease}.connection-dot{fill:var(--gigets-ember);opacity:0}
.continuous-scene:not([data-phase="0"]) .connection-track{stroke-dashoffset:0}.continuous-scene:not([data-phase="0"]) .connection-dot{animation:connection-cross 2s ease both}
@keyframes connection-cross{0%{opacity:0;transform:translateX(0)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(232px)}}
.continuous-value{grid-column:1/4;display:flex;gap:32px;align-items:center;justify-content:center;padding:12px 0;min-height:100px}.continuous-value>div{white-space:nowrap}.value-number{font:56px var(--gigets-font-data);letter-spacing:-.04em}.value-unit{font:22px var(--gigets-font-data);margin-left:12px}.continuous-value small{display:block;font:12px var(--gigets-font-ui);color:var(--gigets-mute);margin-top:6px}.continuous-value>p{max-width:340px;font:15px/1.5 var(--gigets-font-ui);color:var(--gigets-body)}
.continuous-settlement{grid-column:1/4;display:flex;gap:16px;align-items:center;justify-content:center;min-height:48px;font:17px/1.4 var(--gigets-font-ui)}.settlement-check{font-size:30px;color:var(--gigets-verdigris)}.continuous-settlement>strong{font-size:17px;color:var(--gigets-verdigris);font-weight:500}
.show-from-one,.show-from-two,.show-from-three,.show-from-four{transition:opacity .8s ease,transform .8s ease}
[data-phase="0"] .show-from-one,[data-phase="0"] .show-from-two,[data-phase="0"] .show-from-three,[data-phase="0"] .show-from-four,[data-phase="1"] .show-from-two,[data-phase="1"] .show-from-three,[data-phase="1"] .show-from-four,[data-phase="2"] .show-from-three,[data-phase="2"] .show-from-four,[data-phase="3"] .show-from-four{opacity:0;visibility:hidden;transform:translateY(8px)}
.continuous-explanation{text-align:center;margin:16px 0 0;font:18px/1.5 var(--gigets-font-ui)}.continuous-disclosure{font-size:11px;color:var(--gigets-mute);margin-top:8px!important;min-height:18px}
.story-controls.continuous-controls{margin:16px 0 0;justify-content:center;gap:24px}
.continuous-scene[data-paused=true] .connection-dot{animation-play-state:paused}
@media(max-width:760px){.continuous-stage{grid-template-columns:1fr 1fr;gap:24px 16px;padding:8px 0;min-height:500px}.continuous-request{font-size:18px;line-height:1.5}.continuous-ask,.continuous-person{min-height:320px}.continuous-link{display:none}.need-pair{font-size:12px;gap:8px}.need-pair span{padding:3px 4px}.continuous-experience{font-size:12px}.continuous-reply{font-size:16px}.person-accept{font-size:13px}.continuous-value,.continuous-settlement{grid-column:1/3}.continuous-value{display:block;text-align:center}.continuous-value>p{margin:16px auto 0;max-width:320px;font-size:14px}.value-number{font-size:42px}.value-unit{font-size:20px}.continuous-settlement{gap:10px;flex-wrap:wrap;font-size:14px}.continuous-settlement>p{max-width:230px}.continuous-settlement>strong{font-size:14px}.continuous-explanation{font-size:16px}}
@media(prefers-reduced-motion:reduce){.show-from-one,.show-from-two,.show-from-three,.show-from-four,.connection-track{transition:none!important}.connection-dot{animation:none!important}}

/* Une demande traverse la meme scene sur ordinateur comme sur telephone. */
.continuous-stage{position:relative;padding:32px 0;gap:28px 40px}
.continuous-stage .visual-avatar{width:64px;height:64px;font-size:30px}
.continuous-stage .visual-member{gap:16px}
.continuous-stage .visual-member strong{font-size:21px}
.continuous-request{font-size:26px;line-height:1.45}
.need-pair span{padding:6px 10px;background:color-mix(in srgb,var(--gigets-ember) 9%,var(--gigets-paper))}
.continuous-person .visual-avatar{background:color-mix(in srgb,var(--gigets-ember) 18%,var(--gigets-paper))}
.continuous-ask .visual-avatar{background:color-mix(in srgb,var(--gigets-magenta) 12%,var(--gigets-paper))}
.travelling-ask{position:absolute;z-index:2;width:40px;height:30px;padding:7px;background:var(--gigets-magenta);opacity:0;pointer-events:none;display:grid;gap:4px}
.travelling-ask i{display:block;height:2px;background:var(--gigets-paper)}.travelling-ask i:last-child{width:60%}
.continuous-value{padding:28px 0}.continuous-settlement{padding:16px 0}
@media(max-width:760px){.continuous-stage{gap:24px 20px;padding:24px 0}.continuous-stage .visual-avatar{width:48px;height:48px;font-size:24px}.continuous-stage .visual-member{gap:8px}.continuous-stage .visual-member strong{font-size:17px}.continuous-request{font-size:18px}.need-pair span{padding:4px 6px}.continuous-value{padding:16px 0}}
@media(prefers-reduced-motion:reduce){.travelling-ask{display:none}}

/* Le trace attend que le visiteur puisse le voir. Le master final est conserve. */
.hero-mark svg{width:290px;height:290px}.hero-mark{min-height:380px}
.hero-mark.drawing .mark-trace{animation:draw-mark 5.2s cubic-bezier(.35,0,.2,1) .45s both}
.visual-avatar{position:relative}.member-arrival{position:absolute;inset:0;border:1px solid var(--gigets-ember);border-radius:50%;opacity:0;pointer-events:none}
@media(max-width:1000px){.hero-mark svg{width:245px;height:245px}.hero-mark{min-height:320px}}
@media(max-width:760px){.hero-mark svg{width:140px;height:140px}.hero-mark{min-height:180px}}
@media(prefers-reduced-motion:reduce){.hero-mark.drawing .mark-trace{animation:none!important}.member-arrival{display:none}}

/* Le document et ses deux trajets forment le centre vivant de l'echange. */
.continuous-stage{grid-template-columns:minmax(0,1fr) minmax(220px,.95fr) minmax(0,1fr);gap:24px 32px;align-items:start}
.continuous-link{padding-top:0;align-self:center;display:block}
.exchange-instrument{display:block;width:100%;height:auto;overflow:visible}
.flow-guide{fill:none;stroke:var(--gigets-rule);stroke-width:1;opacity:.45}
.flow-route{fill:none;stroke:var(--gigets-magenta);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:0}
.flow-back{stroke:var(--gigets-ember);opacity:0}
.flow-stem{fill:none;stroke:var(--gigets-rule);stroke-width:1;stroke-dasharray:3 6}
.flow-document{transform-origin:180px 160px}
.document-sheet{fill:var(--gigets-paper);stroke:var(--gigets-magenta);stroke-width:1.5}
.document-fold{fill:none;stroke:var(--gigets-magenta);stroke-width:1.5}
.document-line{stroke:var(--gigets-body);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:0}
.document-check{fill:none;stroke:var(--gigets-verdigris);stroke-width:3;stroke-dasharray:1;opacity:0}
.flow-signal{opacity:0;fill:var(--gigets-magenta)}.signal-ink{fill:none;stroke:var(--gigets-paper);stroke-width:1}
.signal-back{fill:none;stroke:var(--gigets-ember);stroke-width:3}
.flow-agreement{fill:none;stroke:var(--gigets-ink);stroke-width:2}.flow-agreement path{stroke-dasharray:1;opacity:0}
.continuous-scene[data-phase="0"] .flow-out{stroke-dashoffset:1}
.continuous-scene:is([data-phase="2"],[data-phase="3"],[data-phase="4"]) .flow-back,.continuous-scene:is([data-phase="2"],[data-phase="3"],[data-phase="4"]) .flow-agreement path{opacity:1}
.continuous-scene[data-phase="4"] .document-check{opacity:1}.continuous-scene[data-phase="4"] .document-line{opacity:0}
.continuous-scene[data-phase="4"] .document-sheet,.continuous-scene[data-phase="4"] .document-fold{stroke:var(--gigets-verdigris)}
.continuous-scene[data-phase="4"] .flow-route{stroke:var(--gigets-verdigris);opacity:.55}
.continuous-value{min-height:110px;margin-top:0}.continuous-explanation{max-width:640px;margin:16px auto 0}
@media(max-width:760px){.continuous-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 24px}.continuous-link{grid-column:1/3;grid-row:2;max-width:260px;width:100%;margin:-20px auto -16px}.continuous-ask,.continuous-person{min-height:0;grid-row:1}.continuous-value,.continuous-settlement{grid-column:1/3}.continuous-request{font-size:17px}.continuous-experience{margin-top:24px!important}.continuous-value{min-height:0}.continuous-stage .visual-avatar{width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){.flow-signal{display:none}}

/* L'arc final ne se ferme qu'apres livraison et confirmation. */
.flow-full{fill:none;stroke:none}.flow-close{opacity:0;stroke-dashoffset:1}
.continuous-scene[data-phase="4"] .flow-close{opacity:1;stroke-dashoffset:0}
.continuous-scene[data-phase="4"] .signal-out{fill:var(--gigets-verdigris)}
.loop-message{text-align:center;font:20px/1.3 var(--gigets-font-display);margin:0!important;color:var(--gigets-ink)}
@media(max-width:760px){.loop-message{font-size:18px}.continuous-link{margin-bottom:4px}}

/* Palette demandee pour l'illustration publique; etats du produit inchanges. */
.continuous-scene .continuous-person{transform:none}
.continuous-scene[data-phase="4"] .flow-route{stroke:url(#loop-colour);opacity:1}
.continuous-scene[data-phase="4"] .document-sheet,.continuous-scene[data-phase="4"] .document-fold{stroke:var(--gigets-magenta)}
.continuous-scene .document-check{stroke:var(--gigets-magenta)}
.continuous-scene[data-phase="4"] .signal-out{fill:var(--gigets-magenta)}
.continuous-scene .settlement-check,.continuous-scene .continuous-settlement>strong{color:var(--gigets-magenta)}
.home .action{border:2px solid transparent;background:linear-gradient(var(--gigets-paper),var(--gigets-paper)) padding-box,var(--gigets-gradient) border-box;color:var(--gigets-ink)}
.home .action:hover{background:linear-gradient(color-mix(in srgb,var(--gigets-ember) 8%,var(--gigets-paper)),color-mix(in srgb,var(--gigets-ember) 8%,var(--gigets-paper))) padding-box,var(--gigets-gradient) border-box}
.home .action:focus-visible{outline:2px solid var(--gigets-magenta);outline-offset:5px}

/* Une action typographique, sans rectangle. */
.home .action,.home .action:hover{display:inline-flex;align-items:center;gap:18px;position:relative;background:none;border:0;padding:10px 0 13px;color:var(--gigets-ink);font-size:19px;font-weight:600;text-decoration:none}
.home .action::before{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gigets-gradient)}
.home .action::after{content:'↗';font-size:25px;font-weight:400;color:var(--gigets-magenta);transition:transform .2s ease}
.home .action:hover::after{transform:translate(3px,-3px)}
/* Un masque vide, puis un seul trace par ouverture de page. */
.hero-mark .mark-trace{stroke-dasharray:1 2;stroke-dashoffset:1.05;stroke-linecap:butt}
.hero-mark.mark-pending .mark-master{mask:url(#mark-reveal)}
.hero-mark.drawing .mark-trace{stroke-dasharray:1 2;stroke-dashoffset:1.05}
@keyframes draw-mark{from{stroke-dashoffset:1.05}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.home .action::after{transition:none}.home .action:hover::after{transform:none}.hero-mark.mark-pending .mark-master{mask:none!important}}

/* L'invitation precede la saisie; les espaces de texte restent stables. */
.ask-invitation{font:16px/1.4 var(--gigets-font-ui);color:var(--gigets-body);margin:20px 0 0!important}
.continuous-request{margin-top:12px!important}
.request-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.typed-copy>span{opacity:1}
.continuous-scene[data-phase="0"] .typed-copy>span,.continuous-scene[data-phase="0"] .ask-facts{opacity:0}
.continuous-scene[data-phase="0"] .exchange-instrument{opacity:0}
.hero-mark .mark-trace,.hero-mark.drawing .mark-trace{stroke-linecap:round;stroke-dashoffset:1.08}
@keyframes draw-mark{from{stroke-dashoffset:1.08}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.typed-copy>span{opacity:1!important}}
