.manifesto.manifesto-egg{display:grid;grid-template-columns:minmax(180px,.65fr) 1.7fr;gap:4%;align-items:center;padding:40px 6%;min-height:420px;overflow:hidden}
.manifesto-egg h2{font-size:clamp(37px,4.7vw,68px);line-height:1.12;letter-spacing:-.055em}
.egg-stage{height:340px;position:relative;min-width:0}
.egg-drop{position:absolute;inset:0;transform-origin:50% 85%}
.egg-drop model-viewer{width:100%;height:100%;pointer-events:none}
.egg-shadow{position:absolute;bottom:8%;left:23%;width:54%;height:12px;border-radius:50%;background:#17374f38;filter:blur(9px)}
.egg-ready:not(.egg-entered) .egg-drop,.egg-ready:not(.egg-entered) .egg-shadow{opacity:0}
.egg-entered .egg-drop{animation:egg-landing 2.8s both}
.egg-entered .egg-shadow{animation:egg-ground 2.8s both}
@keyframes egg-landing{
0%{opacity:0;transform:translateY(-240px) rotate(-13deg)}
8%{opacity:1}
26%{transform:translateY(0) rotate(3deg) scale(1.05,.95);animation-timing-function:ease-out}
42%{transform:translateY(-55px) rotate(-7deg) scale(1);animation-timing-function:ease-in}
56%{transform:translateY(0) rotate(4deg) scale(1.025,.975);animation-timing-function:ease-out}
66%{transform:translateY(-13px) rotate(-3deg)}
74%{transform:translateY(0) rotate(0)}
82%{transform:rotate(7deg)}
90%{transform:rotate(-4deg)}
96%{transform:rotate(2deg)}
100%{opacity:1;transform:none}}
@keyframes egg-ground{0%,8%{opacity:0;transform:scale(.5)}26%,56%,74%,100%{opacity:1;transform:scale(1)}42%{opacity:.4;transform:scale(.65)}66%{opacity:.7;transform:scale(.85)}}
@media(max-width:800px){.manifesto.manifesto-egg{grid-template-columns:1fr;padding:25px 7% 35px;min-height:0;gap:10px}.egg-stage{height:240px;width:240px;max-width:100%;margin:auto}.manifesto-copy{text-align:center}.manifesto-egg h2{font-size:clamp(33px,6vw,48px)}}
@media(prefers-reduced-motion:reduce){.egg-drop,.egg-shadow{animation:none!important;opacity:1!important;transform:none!important}}
/* Accélération gravitationnelle, contacts brefs, rebonds fortement amortis. */
.egg-entered .egg-drop{animation:egg-weighted-drop 1.65s linear both}
.egg-entered .egg-shadow{animation:egg-weighted-shadow 1.65s linear both}
@keyframes egg-weighted-drop{
0%{opacity:1;transform:translateY(-290px) rotate(-9deg);animation-timing-function:cubic-bezier(.55,0,1,.45)}
24%{transform:translateY(0) rotate(2deg) scale(1.045,.955);animation-timing-function:ease-out}
26%{transform:translateY(-2px) rotate(2deg) scale(1);animation-timing-function:cubic-bezier(0,.55,.45,1)}
34%{transform:translateY(-38px) rotate(-4deg);animation-timing-function:cubic-bezier(.55,0,1,.45)}
42%{transform:translateY(0) rotate(2deg) scale(1.025,.975);animation-timing-function:ease-out}
44%{transform:translateY(0) rotate(1deg) scale(1);animation-timing-function:cubic-bezier(0,.55,.45,1)}
48%{transform:translateY(-8px) rotate(-2deg);animation-timing-function:cubic-bezier(.55,0,1,.45)}
52%{transform:translateY(0) rotate(1deg);animation-timing-function:ease-out}
61%{transform:rotate(5deg);animation-timing-function:ease-in-out}
73%{transform:rotate(-3deg);animation-timing-function:ease-in-out}
84%{transform:rotate(1.5deg);animation-timing-function:ease-in-out}
94%{transform:rotate(-.5deg)}
100%{opacity:1;transform:none}}
@keyframes egg-weighted-shadow{
0%{opacity:.12;transform:scale(.55);filter:blur(13px)}
24%,42%,52%{opacity:1;transform:scale(1.08);filter:blur(5px)}
34%{opacity:.45;transform:scale(.78);filter:blur(10px)}
48%{opacity:.75;transform:scale(.94);filter:blur(7px)}
61%,100%{opacity:.8;transform:scale(1);filter:blur(7px)}}
/* Un petit œuf, puis le déploiement de la même silhouette que le hero. */
.egg-drop model-viewer{width:74%;height:74%;position:absolute;left:13%;bottom:8%}
.egg-bird{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;filter:brightness(.84) contrast(1.63) saturate(.73)}
.egg-hatching .egg-drop model-viewer{opacity:0;transition:opacity .75s ease .35s}
.egg-hatching .egg-bird{opacity:1;transition:opacity 1s ease .45s}
.egg-hatching .egg-shadow{opacity:.65!important;transition:opacity 1s ease}
@media(prefers-reduced-motion:reduce){.egg-hatching .egg-drop model-viewer,.egg-hatching .egg-bird{transition:none}}
/* Même finition et lumières que le hero, avec une silhouette plus ample. */
.egg-bird{inset:-18% -20%;width:140%;height:136%;filter:brightness(.84) contrast(1.63) saturate(.73)}
@media(max-width:800px){.egg-bird{inset:-14% -15%;width:130%;height:128%}}
/* Les ailes peuvent sortir du cadre une fois la transformation commencée. */
.manifesto.manifesto-egg.egg-hatching{overflow:visible}
.egg-bird{inset:-32% -40%;width:180%;height:164%}
@media(max-width:800px){.egg-bird{inset:-24% -25%;width:150%;height:148%}}
/* Toile de rendu élargie : le débordement existe aussi à l’intérieur du canvas. */
.manifesto-egg .egg-stage{overflow:visible}
.egg-bird{inset:auto;left:50%;top:50%;width:360%;height:328%;transform:translate(-50%,-50%);max-width:none}
@media(max-width:800px){.egg-bird{width:300%;height:296%}}
/* Une toile plus large, sans démultiplier la hauteur et donc la taille du modèle. */
.egg-bird{width:260%;height:164%;left:50%;top:50%;inset:auto;transform:translate(-50%,-50%)}
.egg-stage .egg-bird{left:50%;top:50%}
@media(max-width:800px){.egg-bird{width:210%;height:148%}}
/* Centre de transformation rapproché du corps de l’oiseau dans son cadrage validé. */
.egg-stage{--egg-center-shift:-72px}
.egg-drop{top:var(--egg-center-shift);bottom:calc(-1 * var(--egg-center-shift))}
.egg-shadow{translate:0 var(--egg-center-shift)}
@media(max-width:800px){.egg-stage{--egg-center-shift:-46px}}
/* Un peu plus de marge autour de la silhouette dans la composition. */
.egg-stage .egg-bird{transform:translate(-50%,-50%) scale(.94)}
.egg-editing .egg-drop{animation:none!important;opacity:1!important;transform:none!important}
.egg-editing .egg-drop model-viewer{opacity:1!important;transition:none!important}
.egg-editing .egg-bird{opacity:0!important;pointer-events:none!important}
.footer-model-tabs{display:flex;gap:10px;margin:12px 0}
.footer-model-tabs button{border:1px solid #cbd9e8;border-radius:20px;background:#edf4fc;color:#193b58;padding:8px 18px}
/* Comparaison simultanée pendant le positionnement de l’œuf. */
.egg-editing .egg-bird{opacity:.5!important;pointer-events:none!important;transition:none!important}
.egg-editing .egg-drop{z-index:2}
/* Une constellation brève accompagne la rotation et se dissipe à l’éclosion. */
.egg-magic{position:absolute;left:50%;top:calc(50% + var(--egg-center-shift));width:0;height:0;perspective:500px;pointer-events:none;opacity:0;z-index:3;transition:opacity .45s ease}
.egg-magic i{position:absolute;width:var(--size);height:var(--size);border-radius:50%;background:#d9faff;box-shadow:0 0 7px #bcefff,0 0 16px #9cd9ff80;transform:rotate(var(--phase)) translateX(80px);opacity:0}
.egg-magic i:nth-child(3n){background:#e1c4ff;box-shadow:0 0 9px #cfb2ff}
.egg-magic i:nth-child(3n + 1){background:#fff4d4;box-shadow:0 0 8px #fff1c0}
.egg-spinning .egg-magic{opacity:1}
.egg-spinning .egg-magic i{animation:egg-magic-orbit 1.2s linear infinite,egg-magic-appear .4s ease both}
@keyframes egg-magic-orbit{from{transform:translateY(var(--level)) rotateX(65deg) rotate(var(--phase)) translateX(90px) rotateX(-65deg)}to{transform:translateY(var(--level)) rotateX(65deg) rotate(calc(var(--phase) - 360deg)) translateX(90px) rotateX(-65deg)}}
@keyframes egg-magic-appear{to{opacity:.9}}
.egg-hatching .egg-magic{opacity:0;scale:1.8;transition:opacity .9s ease,scale 1.2s ease-out}
.egg-editing .egg-magic{display:none}
@media(prefers-reduced-motion:reduce){.egg-magic{display:none}}
/* Trois filaments, une impulsion, puis l’oiseau : pas de ronde de points. */
.egg-magic{top:calc(48% + var(--egg-center-shift));perspective:600px}
.egg-magic i,.egg-magic i:nth-child(n){left:-85px;top:-45px;width:170px;height:90px;border-radius:50%;background:none;box-shadow:none;border:1.5px solid transparent;border-top-color:#e5fcff;border-right-color:#b8beff90;filter:drop-shadow(0 0 5px #b8eaff);transform:none;opacity:0}
.egg-spinning .egg-magic i{animation:egg-filament 1.15s cubic-bezier(.4,0,.3,1) both}
.egg-magic i:nth-child(2){width:145px;height:110px;left:-72px;top:-55px;border-top-color:#e8d4ff}
.egg-magic i:nth-child(3){width:185px;height:75px;left:-92px;top:-37px;border-top-color:#fff}
@keyframes egg-filament{0%{opacity:0;transform:rotate(var(--phase)) scale(1.25)}20%{opacity:.7}75%{opacity:1}100%{opacity:0;transform:rotate(calc(var(--phase) - 360deg)) scale(.45)}}
.egg-magic:after{content:'';position:absolute;left:-85px;top:-85px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,#fff9 0%,#cbeaff65 25%,transparent 65%);opacity:0;pointer-events:none}
.egg-hatching .egg-magic{opacity:1;scale:1;transition:none}
.egg-hatching .egg-magic:after{animation:egg-reveal-glow .85s ease-out both}
@keyframes egg-reveal-glow{0%{opacity:0;transform:scale(.4)}25%{opacity:.8}100%{opacity:0;transform:scale(1.6)}}
.egg-hatching .egg-drop model-viewer{transition:opacity .55s ease .05s}
.egg-hatching .egg-bird{transition:opacity .9s ease .15s}
@media(prefers-reduced-motion:reduce){.egg-magic{display:none!important}}
/* Métamorphose WebGL échantillonnée sur les surfaces réelles des deux modèles. */
.egg-morph-canvas{position:absolute;pointer-events:none;z-index:4;opacity:0}
.manifesto-egg.morph-active{overflow:visible}
.morph-active .egg-drop model-viewer,.morph-active .egg-bird{transition:none!important}
.morph-active .egg-drop{animation:none;transform:none;opacity:1}
.morph-active .egg-shadow,.egg-hatching .egg-shadow{animation:none;opacity:.65;transform:scale(1.2,.85);filter:blur(10px);transition:opacity 1s ease,transform 1.4s ease,filter 1.4s ease}
.egg-editing .egg-morph-canvas{display:none}
/* Deux impulsions de l’intérieur : anticipation, vol bref, réception ferme. */
.egg-knocking .egg-drop{animation:egg-knock .62s linear both}
.egg-knocking .egg-shadow{animation:egg-knock-shadow .62s linear both}
.egg-knocking.morph-active .egg-drop,.egg-knocking.egg-hatching .egg-drop{animation:none;transform:none}
.egg-knocking.morph-active .egg-shadow,.egg-knocking.egg-hatching .egg-shadow{animation:none}
@keyframes egg-knock{
 0%{transform:none;animation-timing-function:ease-in}
 10%{transform:translateY(2px) scale(1.025,.975);animation-timing-function:cubic-bezier(0,.55,.45,1)}
 27%{transform:translateY(-18px) rotate(-3deg);animation-timing-function:cubic-bezier(.55,0,1,.45)}
 43%{transform:translateY(0) rotate(1deg) scale(1.035,.965);animation-timing-function:ease-out}
 49%{transform:none;animation-timing-function:ease-in}
 55%{transform:translateY(2px) scale(1.03,.97);animation-timing-function:cubic-bezier(0,.55,.45,1)}
 72%{transform:translateY(-27px) rotate(3deg);animation-timing-function:cubic-bezier(.55,0,1,.45)}
 89%{transform:translateY(0) rotate(-1deg) scale(1.04,.96);animation-timing-function:ease-out}
 100%{transform:none}
}
@keyframes egg-knock-shadow{
 0%,49%,100%{opacity:.8;transform:scale(1);filter:blur(7px)}
 10%,43%,55%,89%{opacity:.95;transform:scale(1.08);filter:blur(5px)}
 27%{opacity:.5;transform:scale(.84);filter:blur(9px)}
 72%{opacity:.4;transform:scale(.78);filter:blur(10px)}
}
@media(prefers-reduced-motion:reduce){.egg-knocking .egg-drop,.egg-knocking .egg-shadow{animation:none!important}}

/* Composition du manifeste : la lumière relie la silhouette et la promesse. */
.manifesto.manifesto-egg{
 background:
  radial-gradient(ellipse at 105% 135%,#efd0ed 0%,#c3b5f540 32%,transparent 58%),
  radial-gradient(ellipse at 62% -30%,#789af4 0%,transparent 63%),
  radial-gradient(ellipse at 8% 100%,#25bdd480 0%,transparent 53%),
  linear-gradient(115deg,#12546f 0%,#2068ba 43%,#4e61c4 77%,#8d80cd 100%);
 box-shadow:inset 0 1px 0 #ffffff26;
}
.manifesto-egg .manifesto-copy{transform:translateY(-52px);padding-left:2%;}
.manifesto-egg .manifesto-copy h2{margin:0;letter-spacing:-.045em;line-height:1.16;font-weight:600;}
.manifesto-lead{display:block;font-size:clamp(30px,3.5vw,50px);color:#f6f9ff;}
.manifesto-promise{display:block;margin-left:clamp(30px,5.5vw,80px);margin-top:18px;font-size:clamp(43px,4.7vw,68px);white-space:nowrap;letter-spacing:-.035em;word-spacing:.035em;}
.manifesto-egg .manifesto-promise em{
 font-weight:750;letter-spacing:-.035em;color:#fff;
 background:linear-gradient(105deg,#ffffff 5%,#e2f8ff 40%,#f5d9f0 100%);
 -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
@media(max-width:800px){
 .manifesto-egg .manifesto-copy{transform:none;padding:0 0 8px;}
 .manifesto-lead{font-size:clamp(25px,5.6vw,38px);}
 .manifesto-promise{font-size:clamp(30px,7vw,48px);margin-top:12px;margin-left:0;}
}

@media(min-width:801px){.manifesto.manifesto-egg{padding-top:72px;padding-bottom:8px;min-height:420px}}

/* Le manifeste raconte la même transformation que la sculpture. */
.manifesto.manifesto-egg{position:relative;isolation:isolate}
.manifesto-egg .egg-stage,.manifesto-egg .manifesto-copy{z-index:1}
.manifesto-egg .manifesto-copy{position:relative}
.manifesto-egg:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:0;background:radial-gradient(ellipse at 20% 40%,#c0faff50 0%,#98c8ff20 24%,transparent 55%)}
.egg-ready .manifesto-promise{opacity:0}
.egg-entered .manifesto-lead{animation:manifesto-thought 1.25s ease both}
.morph-active .manifesto-promise,.egg-hatching .manifesto-promise{animation:manifesto-answer .95s cubic-bezier(.2,.65,.25,1) 2.3s both}
.manifesto-egg.morph-active:before,.manifesto-egg.egg-hatching:before{animation:manifesto-light 1.6s ease 1.9s both}
@keyframes manifesto-thought{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes manifesto-answer{from{opacity:0;filter:blur(7px);transform:translateX(-14px)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes manifesto-light{0%{opacity:0}65%{opacity:1}100%{opacity:.5}}
@media(prefers-reduced-motion:reduce){.egg-ready .manifesto-promise{opacity:1}.manifesto-egg .manifesto-lead,.manifesto-egg .manifesto-promise,.manifesto-egg:before{animation:none!important;filter:none}}


/* No early glimpse before the centered entrance trigger. */
.manifesto-egg .manifesto-lead{opacity:0}
.manifesto-signature{display:inline-grid;vertical-align:top;}
.manifesto-signature em{grid-column:1;grid-row:1}
.manifesto-signature .manifesto-since{grid-column:1;grid-row:2;justify-self:end;margin-top:20px;font-family:Manrope,sans-serif;font-size:clamp(22px,2.15vw,30px);font-weight:500;letter-spacing:.015em;line-height:1.4;color:#f4f5ff;white-space:nowrap}
.manifesto-since>span>span{display:inline-block;opacity:0;filter:blur(6px)}
.morph-active .manifesto-since>span>span,.egg-hatching .manifesto-since>span>span{animation:manifesto-date-letter 1.2s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(2.95s + var(--letter)*.075s)}
@keyframes manifesto-date-letter{from{opacity:0;filter:blur(6px);transform:translateY(5px)}to{opacity:1;filter:blur(0);transform:none}}
@media(max-width:800px){.manifesto-signature .manifesto-since{font-size:22px;margin-top:14px}}
@media(prefers-reduced-motion:reduce){.manifesto-egg .manifesto-lead,.manifesto-since>span>span{opacity:1;filter:none;animation:none!important}}


/* Client signatures close the story after the founding date. */
.manifesto.manifesto-egg{row-gap:0}
.manifesto-egg .client-ribbon.section{grid-column:1/-1;min-width:0;width:100%;max-width:none;margin:0;padding:0 0 28px;position:relative;z-index:1;opacity:0;pointer-events:none}
.manifesto-egg .client-ribbon-group img,.manifesto-egg .client-ribbon-group img:hover{filter:brightness(0) invert(1);mix-blend-mode:normal;opacity:.65}
.manifesto-egg .client-ribbon-group img:hover{opacity:1}
.manifesto-egg .client-ribbon-track{animation-play-state:paused}
.manifesto-egg.morph-active .client-ribbon,.manifesto-egg.egg-hatching .client-ribbon{animation:manifesto-clients-in 1.3s ease 4.3s both}
.manifesto-egg.morph-active .client-ribbon-track,.manifesto-egg.egg-hatching .client-ribbon-track{animation-play-state:running}
@keyframes manifesto-clients-in{from{opacity:0}to{opacity:1;pointer-events:auto}}
@media(max-width:800px){.manifesto-egg .client-ribbon.section{margin-top:22px;padding-bottom:0}}
@media(prefers-reduced-motion:reduce){.manifesto-egg .client-ribbon.section{opacity:1;pointer-events:auto;animation:none!important}}

/* Tighter spacing between the promise, date and client signatures. */
.manifesto-signature .manifesto-since{margin-top:8px}
.manifesto-egg .client-ribbon.section{margin-top:-24px}
@media(max-width:800px){.manifesto-signature .manifesto-since{margin-top:6px}.manifesto-egg .client-ribbon.section{margin-top:10px}}

/* Stronger grouping, with specificity above the original date styling. */
.manifesto-egg .manifesto-copy .manifesto-signature .manifesto-since{margin-top:0;line-height:1.15}
.manifesto-egg .client-ribbon.section{margin-top:-76px;padding-bottom:22px}
@media(max-width:800px){.manifesto-egg .manifesto-copy .manifesto-signature .manifesto-since{margin-top:0}.manifesto-egg .client-ribbon.section{margin-top:0;padding-top:0}}

/* Original client artwork, without monochrome or inverted colors. */
.manifesto-egg .client-ribbon-group img,.manifesto-egg .client-ribbon-group img:hover{filter:none;mix-blend-mode:normal;opacity:1}
/* Translucent rim inside the panel; preserves the 3D canvas geometry. */
.manifesto.manifesto-egg{box-shadow:inset 0 0 0 5px #ffffff38,inset 0 0 0 1px #ffffff80}

/* Stronger rim and a more closely grouped signature. */
.manifesto.manifesto-egg{box-shadow:inset 0 0 0 10px #ffffff38,inset 0 0 0 1px #ffffff80}
.manifesto-egg .client-ribbon-group img{opacity:.55}
.manifesto-egg .client-ribbon-group img:hover{opacity:1}
.manifesto-egg .manifesto-copy .manifesto-promise{margin-top:7px}
.manifesto-egg .manifesto-copy .manifesto-signature .manifesto-since{margin-top:-4px;display:flex;align-items:center;gap:12px}
.manifesto-stars{display:inline-flex;gap:3px;font-style:normal;font-size:11px;color:#fff;opacity:0}
.morph-active .manifesto-stars,.egg-hatching .manifesto-stars{animation:manifesto-date-letter 1.2s ease 2.95s both}
@media(max-width:800px){.manifesto-egg .manifesto-copy .manifesto-promise{margin-top:5px}.manifesto-egg .manifesto-copy .manifesto-signature .manifesto-since{gap:8px;margin-top:-2px}.manifesto-stars{font-size:9px;gap:2px}}
@media(prefers-reduced-motion:reduce){.manifesto-stars{opacity:1;animation:none!important}}

/* Compact five-star Google signature. */
.manifesto-rating .manifesto-stars{font-size:15px;gap:4px}
.rating-divider{height:19px;width:1px;background:#ffffff70;display:block}
.rating-google{font-size:22px;background:conic-gradient(#4285f4 0deg 110deg,#34a853 110deg 200deg,#fbbc05 200deg 250deg,#ea4335 250deg 315deg,#4285f4 315deg);background-clip:text;-webkit-background-clip:text;color:transparent}
.manifesto-rating .rating-divider,.manifesto-rating .rating-google{opacity:0}
.morph-active .rating-divider,.egg-hatching .rating-divider,.morph-active .rating-google,.egg-hatching .rating-google{animation:manifesto-date-letter 1.2s ease 3.1s both}
@media(prefers-reduced-motion:reduce){.manifesto-rating .rating-divider,.manifesto-rating .rating-google{opacity:1;animation:none!important}}

.manifesto-egg .manifesto-rating{position:relative;top:6px}
.manifesto-rating .rating-google{background:none;color:#fff;-webkit-text-fill-color:#fff}

.manifesto-egg .manifesto-rating{left:-20px}

/* Continue directly after the Google mark and lift the client strip. */
.manifesto-egg .client-ribbon.section{position:relative;top:-20px}

/* The stage arrives with the egg, never as an empty coloured panel.
   Opacity leaves model/canvas geometry and the approved choreography intact. */
.manifesto.manifesto-egg.egg-arrival-pending{opacity:0;transition:opacity 1.1s cubic-bezier(.22,.61,.36,1)}
.manifesto.manifesto-egg.egg-arrival-pending.egg-entered,.manifesto.manifesto-egg.egg-arrival-pending.egg-hatching{opacity:1}
@media(prefers-reduced-motion:reduce){.manifesto.manifesto-egg.egg-arrival-pending{opacity:1;transition:none}}

/* Open the backdrop independently: no scaling or clipping of the 3D scene. */
.manifesto.manifesto-egg.egg-panel-prepared{background:transparent;box-shadow:none;opacity:1;transition:none}
.egg-arrival-panel{position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;clip-path:inset(49.7% 46% round 40px)}
.egg-opening .egg-arrival-panel{animation:egg-panel-unfold 1.45s cubic-bezier(.22,1,.36,1) both}
@keyframes egg-panel-unfold{
 0%{opacity:0;clip-path:inset(49.7% 46% round 40px);filter:brightness(1.7)}
 18%{opacity:1;clip-path:inset(49.5% 12% round 40px);filter:brightness(1.5)}
 100%{opacity:1;clip-path:inset(0 round 0);filter:brightness(1)}
}
@media(prefers-reduced-motion:reduce){.egg-arrival-panel{opacity:1;clip-path:none;animation:none!important}}

/* Alternative: an open, quiet grey stage for the transformation. */
.manifesto.manifesto-egg.egg-arrival-pending{background:#f3f4f6;box-shadow:none;border:0;border-radius:0;opacity:1;transition:none;max-width:none;width:100%;overflow:visible}
.manifesto.manifesto-egg:before{display:none}
.manifesto-egg .manifesto-copy h2,.manifesto-egg .manifesto-lead,.manifesto-egg .manifesto-promise{color:#193b58}
.manifesto-egg .manifesto-promise em{background:linear-gradient(105deg,#167e98,#416cce 55%,#8b72cb);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.manifesto-egg .manifesto-stars,.manifesto-egg .rating-google{color:#193b58;-webkit-text-fill-color:#193b58}
.manifesto-egg .rating-divider{background:#193b5840}

/* Light must brighten the grey stage, never deposit a dark pigment halo. */
.egg-morph-canvas{mix-blend-mode:screen}

/* Keep the shadow on the floor; soften and spread it with elevation. */
@keyframes egg-weighted-shadow{
 0%{opacity:.06;transform:scale(1.12);filter:blur(7px);animation-timing-function:cubic-bezier(.55,0,1,.45)}
 24%,26%{opacity:.65;transform:scale(1);filter:blur(7px);animation-timing-function:cubic-bezier(0,.55,.45,1)}
 34%{opacity:.28;transform:scale(1.06);filter:blur(7px);animation-timing-function:cubic-bezier(.55,0,1,.45)}
 42%,44%{opacity:.65;transform:scale(1);filter:blur(7px);animation-timing-function:cubic-bezier(0,.55,.45,1)}
 48%{opacity:.48;transform:scale(1.02);filter:blur(7px);animation-timing-function:cubic-bezier(.55,0,1,.45)}
 52%,100%{opacity:.65;transform:scale(1);filter:blur(7px)}
}
@keyframes egg-knock-shadow{
 0%,10%,49%,55%{opacity:.65;transform:scale(1);filter:blur(7px);animation-timing-function:cubic-bezier(0,.55,.45,1)}
 27%{opacity:.38;transform:scale(1.035);filter:blur(7px);animation-timing-function:cubic-bezier(.55,0,1,.45)}
 43%{opacity:.65;transform:scale(1);filter:blur(7px)}
 72%{opacity:.3;transform:scale(1.05);filter:blur(7px);animation-timing-function:cubic-bezier(.55,0,1,.45)}
 89%,100%{opacity:.65;transform:scale(1);filter:blur(7px)}
}

/* Stable footprint: height is conveyed mainly through density, not width. */
.egg-shadow{transform-origin:50% 50%;filter:blur(7px)}
.morph-active .egg-shadow,.egg-hatching .egg-shadow{transform:scale(1);filter:blur(7px);opacity:.65;transition:opacity .8s ease}

/* Shared page grid, with the transformation to the right of the message. */
.manifesto.manifesto-egg.egg-arrival-pending{width:min(var(--page-width),calc(100% - var(--page-gutter)*2));max-width:var(--page-width);margin-inline:auto;padding-inline:var(--panel-inset)}
@media(min-width:801px){
 .manifesto.manifesto-egg{grid-template-columns:1.7fr minmax(180px,.65fr)}
 .manifesto-egg .manifesto-copy{grid-column:1;grid-row:1;padding-left:0}
 .manifesto-egg .egg-stage{grid-column:2;grid-row:1}
 .manifesto-egg .client-ribbon.section{grid-column:1/-1;grid-row:2}
}

/* An open composition: pearl egg on the page, closer to its message. */
.manifesto.manifesto-egg.egg-arrival-pending{background:transparent}
@media(min-width:801px){
 .manifesto.manifesto-egg{grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);column-gap:1%}
 .manifesto-egg .egg-stage{translate:-55px 0}
 .manifesto-egg .manifesto-copy{padding-left:2%}
}
@media(min-width:801px) and (max-width:1050px){.manifesto-egg .egg-stage{translate:-20px 0}}

/* White-page typography: a clear statement, then a stronger signature. */
.manifesto-egg .manifesto-copy h2{letter-spacing:-.045em;line-height:1.2}
.manifesto-egg .manifesto-lead{color:#536980;font-size:clamp(27px,3vw,43px);font-weight:500}
.manifesto-egg .manifesto-copy .manifesto-promise{margin-left:0;margin-top:16px;color:#193b58;font-size:clamp(40px,4.6vw,66px);font-weight:650}
.manifesto-egg .manifesto-promise em{font-style:normal;font-weight:750;background:linear-gradient(110deg,#177f9c,#3064cf 62%,#8270c7);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.manifesto-egg .manifesto-rating{left:0;top:8px}
.manifesto-egg .manifesto-stars{color:#f4b400;-webkit-text-fill-color:#f4b400}
.manifesto-egg .rating-google{background:conic-gradient(#4285f4 0deg 110deg,#34a853 110deg 200deg,#fbbc05 200deg 250deg,#ea4335 250deg 315deg,#4285f4 315deg);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.manifesto-egg .client-ribbon-group img{filter:grayscale(1);opacity:.45;transition:filter .35s ease,opacity .35s ease}
.manifesto-egg .client-ribbon-group img:hover{filter:grayscale(0);opacity:1}
@media(max-width:800px){.manifesto-egg .manifesto-lead{font-size:clamp(25px,5.6vw,38px)}.manifesto-egg .manifesto-copy .manifesto-promise{font-size:clamp(30px,7vw,48px);margin-top:12px}}

/* Tighten the main duet, give the client signatures their own breathing room. */
@media(min-width:801px){
 .manifesto-egg .egg-stage{translate:-125px 0}
 .manifesto-egg .client-ribbon.section{margin-top:-30px;top:0;padding-top:0}
}
@media(min-width:801px) and (max-width:1050px){.manifesto-egg .egg-stage{translate:-65px 0}}
@media(max-width:800px){.manifesto-egg .client-ribbon.section{margin-top:24px;top:0}}

/* Bring both columns inward without changing their order. */
@media(min-width:1051px){
 .manifesto-egg .manifesto-copy{translate:55px 0}
 .manifesto-egg .egg-stage{translate:-145px 0}
}
@media(min-width:801px) and (max-width:1050px){
 .manifesto-egg .manifesto-copy{translate:20px 0}
 .manifesto-egg .egg-stage{translate:-75px 0}
}

/* Chute, deux rebonds, puis métamorphose sans phase d’attente. */
.egg-entered:not(.morph-active):not(.egg-hatching) .egg-drop{animation:egg-quick-arrival .95s linear both}
.egg-entered:not(.morph-active):not(.egg-hatching) .egg-shadow{animation:egg-quick-shadow .95s linear both}
@keyframes egg-quick-arrival{
 0%{opacity:1;transform:translateY(-240px) rotate(-9deg);animation-timing-function:cubic-bezier(.55,0,1,.45)}
 36%{transform:translateY(0) rotate(2deg) scale(1.04,.96);animation-timing-function:cubic-bezier(0,.55,.45,1)}
 56%{transform:translateY(-34px) rotate(-3deg);animation-timing-function:cubic-bezier(.55,0,1,.45)}
 74%{transform:translateY(0) rotate(1deg) scale(1.025,.975);animation-timing-function:cubic-bezier(0,.55,.45,1)}
 86%{transform:translateY(-11px) rotate(-1deg);animation-timing-function:cubic-bezier(.55,0,1,.45)}
 97%{transform:translateY(0) scale(1.015,.985)}
 100%{opacity:1;transform:none}
}
@keyframes egg-quick-shadow{
 0%{opacity:.06;transform:scale(1.12);filter:blur(7px)}
 36%,74%,97%,100%{opacity:.65;transform:scale(1);filter:blur(7px)}
 56%{opacity:.28;transform:scale(1.06);filter:blur(7px)}
 86%{opacity:.48;transform:scale(1.02);filter:blur(7px)}
}
