500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f6f5f0;--ink:#252922;--muted:#7a7f72;--line:#dcded4;--accent:#d5e795}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:3}.brand{width:100px;height:72px;overflow:hidden}.brand img{width:100%;height:100%;object-fit:contain}nav{display:flex;gap:36px;font-size:13px}.nav-cta{font-size:13px;border-bottom:1px solid;padding:12px 0}.nav-cta span{margin-left:24px}.hero{min-height:740px;height:calc(100svh - 100px);max-height:1000px;padding:65px 6% 30px;position:relative;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600}.eyebrow i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7b9462;margin-right:10px}h1,h2,h3,p{margin:0}h1{font-family:Manrope,sans-serif;font-size:clamp(66px,7.5vw,126px);font-weight:500;line-height:1.06;letter-spacing:-7px;position:relative;z-index:2;margin-top:46px;max-width:850px}h1 span{color:#818776}.hero-bottom{display:flex;gap:65px;align-items:center;margin-top:42px;position:relative;z-index:2}.hero-bottom p{font-size:19px;line-height:1.5}.hero-bottom small{display:block;font-size:12px;color:var(--muted);margin-top:18px}.round-link{display:flex;align-items:center;gap:24px;font-size:11px;line-height:1.5}.round-link b{border:1px solid #aab39b;border-radius:50%;width:56px;height:56px;display:grid;place-items:center;font-size:23px;font-weight:400;transition:.3s}.round-link:hover b{background:var(--accent);transform:translateY(5px)}.sculpture{position:absolute;right:1%;top:11%;width:49%;height:78%;display:grid;place-items:center;perspective:900px}.sculpture img{width:88%;height:100%;object-fit:contain;transform:rotateY(-15deg) rotateZ(7deg);filter:drop-shadow(24px 30px 14px #343c2723);animation:float 9s ease-in-out infinite}.orbit{position:absolute;width:85%;aspect-ratio:1;border:1px solid #d1d6c6;border-radius:50%;transform:rotateX(60deg) rotateZ(-20deg)}.orbit:after{content:'';position:absolute;inset:35px;border:1px solid #e0e3d6;border-radius:50%}.axis{position:absolute;font-size:8px;letter-spacing:1.8px;color:#8c927f}.x{bottom:6%;right:12%}.y{right:0;writing-mode:vertical-rl}.hero-foot{position:absolute;bottom:24px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;border-top:1px solid var(--line);padding-top:20px}.intro{position:fixed;inset:0;background:var(--paper);display:grid;place-items:center;z-index:20;pointer-events:none;animation:curtain 1.7s cubic-bezier(.7,0,.2,1) forwards}.intro img{width:min(60vw,530px);animation:arrival 1.4s ease forwards}.journey{background:#e9ecdf;padding:100px 7% 0}.section-head{display:grid;grid-template-columns:1fr 1.8fr 1fr;align-items:start;gap:30px}h2{font-family:Manrope,sans-serif;font-size:clamp(40px,4.5vw,76px);font-weight:500;letter-spacing:-3px;line-height:1.12}em{font-style:normal;color:#828b73}.section-head p{font-size:13px;line-height:1.8;padding-top:10px}.story{display:grid;grid-template-columns:1fr 1fr;gap:10%}.steps article{min-height:75vh;display:flex;flex-direction:column;justify-content:center;opacity:.3;transition:opacity .5s}.steps article.active{opacity:1}.steps article>span{font-size:10px;letter-spacing:2px;color:#72805f;margin-bottom:25px}h3{font-family:Manrope,sans-serif;font-size:34px;font-weight:500;letter-spacing:-1.3px;line-height:1.2}.steps p{max-width:340px;font-size:15px;line-height:1.8;color:#6d7563;margin-top:25px}.stage{position:sticky;top:5vh;align-self:start;height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.demo-label{font-size:8px;letter-spacing:1.3px;color:#858d78}.device{width:310px;min-height:450px;background:#fafbf6;border:5px solid #fafbf6;border-radius:32px;box-shadow:0 25px 60px #35402119,0 0 0 1px #ccd2bf;overflow:hidden;padding:24px 17px 10px;transform:rotate(-3deg);transition:transform .7s}.device:hover{transform:rotate(0)}.device-top,.device-bottom{display:flex;justify-content:space-between;font-size:10px}.device-top{margin-bottom:36px}.device-top b{letter-spacing:3px}.device-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;color:#818a73;font-size:9px}#demo-content{min-height:286px;animation:appear .5s}#demo-content small{font-size:10px;color:#858c78}#demo-content h4{font-size:27px;font-weight:500;letter-spacing:-1px;margin:8px 0 24px}.demo-box{background:#eaf0de;padding:22px 15px;border-radius:12px}.demo-box strong{font-size:42px;font-weight:500;letter-spacing:-2px}.demo-row{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:11px}.pill{display:inline-block;background:var(--accent);border-radius:20px;padding:7px 11px;font-size:9px;margin-top:12px}.photo-scene{height:145px;position:relative;overflow:hidden;background:linear-gradient(150deg,#d9e0da,#f2ead7)}.photo-scene:before{content:'';position:absolute;left:12%;top:24%;width:75%;height:80%;background:repeating-linear-gradient(90deg,#a6aea0 0 3px,#dce0d0 3px 35px);clip-path:polygon(0 30%,65% 0,100% 25%,100% 100%,0 100%)}.photo-scene:after{content:'ILLUSTRATION CHANTIER';position:absolute;bottom:8px;left:12px;font-size:7px;letter-spacing:1px}.bars{height:115px;display:flex;align-items:end;gap:14px;margin:18px 0}.bars i{flex:1;background:#a5b785;border-radius:4px 4px 0 0}.stage-caption{display:flex;width:310px;justify-content:space-between;font-size:9px;color:#79836a}.people{padding:110px 8%}.people h2{margin:35px 0 65px}.roles{display:flex;border-bottom:1px solid var(--line)}.roles button{background:none;border:0;flex:1;text-align:left;padding:25px 0;color:#929785;font-size:16px;display:flex;justify-content:space-between;margin-right:30px}.roles button[aria-selected=true]{border-bottom:2px solid var(--ink);color:var(--ink)}.role-detail{display:flex;gap:12%;padding:50px 0}.role-detail>span{font-size:85px;font-family:Manrope;color:#d0d7c0}.role-detail p{max-width:520px;line-height:1.8;color:#7a826d;margin-top:20px}.closing{text-align:center;padding:100px 20px 110px;background:#e7ebdd}.closing h2{margin:35px 0}.dark-cta{background:var(--ink);color:white;border-radius:35px;padding:19px 28px;display:inline-flex;gap:40px;font-size:13px}.closing p{font-size:10px;letter-spacing:1px;margin-top:30px;color:#7f8873}footer{display:flex;justify-content:space-between;align-items:center;padding:30px 6%;font-size:10px;color:#7c8371}footer strong{color:var(--ink);letter-spacing:3px;font-size:19px}footer button{border:0;background:none;color:inherit;font-size:10px}a:focus-visible,button:focus-visible{outline:2px solid #758650;outline-offset:5px}@keyframes arrival{from{opacity:0;transform:scale(1.4);filter:blur(12px)}to{opacity:1;transform:scale(.85);filter:blur(0)}}@keyframes curtain{0%,65%{opacity:1}100%{opacity:0;visibility:hidden}}@keyframes float{50%{transform:rotateY(8deg) rotateZ(3deg) translateY(-15px)}}@keyframes appear{from{opacity:.2;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:800px){header{height:80px}nav{display:none}.hero{height:auto;min-height:970px;padding-top:40px}h1{font-size:64px;letter-spacing:-4px}.hero-bottom{gap:20px;justify-content:space-between}.sculpture{top:420px;height:450px;right:10%;width:80%}.hero-foot span:nth-child(2){display:none}.section-head{display:block}.section-head h2{margin:25px 0}.section-head p{margin-bottom:40px}.story{gap:15px;grid-template-columns:1fr 1fr}.journey{padding:60px 5% 0}.stage{top:8vh;height:75vh}.device{width:200px;padding:20px 10px;min-height:350px;border-radius:23px}.device-top{margin-bottom:20px}#demo-content{min-height:240px}#demo-content h4{font-size:22px}.demo-box strong{font-size:32px}.demo-label{font-size:6px;text-align:center}.stage-caption{width:190px;font-size:7px}.steps h3{font-size:24px}.steps p{font-size:12px}.steps article{min-height:80vh}.people{padding:70px 6%}.roles button{font-size:12px;margin-right:12px}.role-detail{gap:20px}.role-detail h3{font-size:27px}footer{gap:20px;flex-wrap:wrap}h2{letter-spacing:-2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro{display:none}.steps article{opacity:1}}
/* Direction finale : blanc, argent et ivoire discret, sans vert. */
:root{--paper:#fff;--ink:#17191d;--muted:#717680;--line:#e6e7eb;--accent:#f0f1f4}body{background:#fff}.hero{background:radial-gradient(ellipse at 80% 55%,#f5f5f3,transparent 52%)}h1 span,em{color:#9398a1}.eyebrow i{background:#6e737c}.round-link b{border-color:#d2d5db;background:linear-gradient(#fff,#f1f2f5)}.orbit{border-color:#e0e2e7}.orbit:after{border-color:#eceef1}.axis{color:#979ca5}.journey{background:#fafaf8}.steps article>span,.steps p,.stage-caption,.demo-label,.role-detail p,.closing p,footer{color:#747983}.device{background:#fff;border-color:#fff;box-shadow:0 25px 60px #20273712,0 0 0 1px #e0e3e8}.demo-box{background:linear-gradient(140deg,#f8f9fa,#eceff3)}#demo-content small,.device-bottom{color:#838994}.pill{background:#eceff3}.bars i{background:#9ba3b0}.roles button{color:#9399a3}.role-detail>span{color:#dce0e5}.closing{background:linear-gradient(#fff,#f8f8f6)}.photo-scene{background:linear-gradient(150deg,#e3e7ec,#f5f3ed)}.photo-scene:before{background:repeating-linear-gradient(90deg,#a6aeb7 0 3px,#dce1e7 3px 35px)}
/* Extraits cadrés des captures originales, sans retouche des interfaces. */
.story{grid-template-columns:1fr 1.2fr;gap:9%}.real-fragments{width:100%;max-width:550px;min-height:0!important}.fragment-composition{padding:32px;background:linear-gradient(135deg,#ffffffed,#f8f9fbd9);border:1px solid #e6e8ed;border-radius:30px;box-shadow:0 24px 65px #1d26370b}.fragment-heading{display:flex;flex-direction:column;gap:14px;margin-bottom:30px}.fragment-heading>span{font-size:9px;letter-spacing:1.5px;color:#8d949f}.fragment-heading>b{font-size:22px;font-weight:500;letter-spacing:-.6px}.app-crop{position:relative;overflow:hidden;width:100%;background:white;border-radius:18px;box-shadow:0 10px 24px #17203208}.app-crop img{position:absolute;max-width:none;height:auto;display:block}.actions-fragment{border-radius:0;box-shadow:none}.time-fragment{margin-bottom:20px}.fragment-note{font-size:11px;color:#8d949f;margin-top:24px;display:flex;align-items:center;gap:8px}.tiny-dot{width:6px;height:6px;border-radius:50%;background:#a2a9b5}.stage-caption{width:100%;max-width:550px}.stage{gap:22px}.demo-label{font-size:8px;letter-spacing:1.7px}@media(max-width:800px){.story{grid-template-columns:1fr;gap:0}.stage{grid-row:1;position:sticky;top:0;height:auto;min-height:38vh;max-height:49vh;z-index:3;background:#fafaf8;padding:16px 0}.real-fragments{max-width:410px}.fragment-composition{padding:18px;border-radius:20px}.fragment-heading{gap:8px;margin-bottom:15px}.fragment-heading>b{font-size:18px}.fragment-heading>span{font-size:8px}.fragment-note{margin-top:14px;font-size:10px}.stage-caption,.demo-label{display:none}.steps article{min-height:75vh;padding:35px 12px}.steps h3{font-size:30px}.steps p{font-size:15px}.time-fragment{margin-bottom:12px}}
/* Un même défilement anime le texte et son visuel, sans remplacement brutal. */
.story{display:block;position:relative;height:310vh;margin-top:35px}.story-pin{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:1fr 1.2fr;gap:9%;align-items:center}.steps{position:relative;height:360px}.steps article{position:absolute;inset:0;min-height:0!important;height:100%;padding:0;justify-content:center;transition:none;will-change:opacity,transform}.steps article h3{font-size:clamp(30px,3vw,48px);line-height:1.15}.steps article p{max-width:380px}.stage{position:relative;top:auto;height:auto;min-height:0;max-height:none;align-self:center;padding:0;gap:20px;background:none}.real-fragments{display:grid;max-width:580px;animation:none!important;min-height:0!important}.visual-slide{grid-area:1/1;align-self:center;will-change:opacity,transform}.fragment-composition{padding:30px;background:#fff;border:1px solid #eceef1;border-radius:22px;box-shadow:0 18px 50px -22px #20293824}.fragment-heading{gap:12px;margin-bottom:24px}.fragment-heading>b{font-size:23px}.fragment-note{margin-top:20px}.app-crop{box-shadow:none;border-radius:12px}.catalogue-pieces{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.catalogue-pieces .app-crop{border-radius:11px}.demo-label{color:#969ca5}.journey{padding-bottom:25px}.stage-caption{max-width:580px}.hero-foot{display:none}@media(max-width:800px){.story{height:290svh;margin-top:15px}.story-pin{height:100svh;grid-template-columns:1fr;grid-template-rows:1fr 1.35fr;gap:0;padding:24px 0}.steps{height:100%;min-height:190px;order:0}.steps article{padding:0 10px;justify-content:center}.steps article>span{margin-bottom:12px}.steps article h3{font-size:30px}.steps article p{font-size:13px;line-height:1.65;margin-top:12px;max-width:440px}.stage{grid-row:auto;order:1;height:auto;align-self:start;max-height:none;min-height:0;padding:0 8px}.real-fragments{max-width:440px}.fragment-composition{padding:19px;border-radius:19px}.fragment-heading{margin-bottom:15px;gap:8px}.fragment-heading>b{font-size:19px}.fragment-note{font-size:9px;margin-top:13px}.catalogue-pieces{gap:7px}.demo-label,.stage-caption{display:none}}@media(prefers-reduced-motion:reduce){.visual-slide,.steps article{will-change:auto}}

/* Entrée depuis la droite et sortie vers la gauche, pilotées par le défilement. */
.journey{overflow:clip}.story{height:370vh}.visual-slide{transform-origin:center center;backface-visibility:hidden}.story-pin{isolation:isolate}@media(max-width:800px){.story{height:350svh}}

/* Parcours plus court : chaque cran déclenche une apparition complète. */
.story{height:230vh;margin-top:0}.journey{padding-top:65px}.section-head{margin-bottom:0}@media(max-width:800px){.story{height:240svh}.journey{padding-top:45px}}

.exact-site-card{padding:0;border:0;background:transparent;box-shadow:0 18px 50px -22px #20293824;width:min(100%,430px);margin-inline:auto;border-radius:24px;overflow:hidden}.exact-site-card>img{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain}@media(max-width:800px){.exact-site-card{width:auto;max-width:100%;box-shadow:none}.exact-site-card>img{max-height:48svh;width:auto;max-width:100%;margin:auto}}

.abbaca-halo{position:relative;width:min(100%,420px);margin:auto;isolation:isolate}.abbaca-halo:before{content:"";position:absolute;inset:12% -5% 4%;background:radial-gradient(ellipse,#b9cbdc70,#d9e0e750 55%,transparent 74%);filter:blur(30px);z-index:-1}.abbaca-cutout{position:relative;aspect-ratio:660/954;overflow:hidden;border-radius:5% / 3.5%;filter:drop-shadow(0 12px 20px #24354b12)}.abbaca-cutout img{position:absolute;display:block;width:103.63636%;max-width:none;height:auto;left:-1.66667%;top:-1.04822%}.capsules-original{display:block;width:100%;height:auto;mix-blend-mode:multiply}.capsule-showcase{background:transparent;border:0;box-shadow:none;padding:20px 0}.capsule-showcase .fragment-heading,.capsule-showcase .fragment-note{padding-inline:14px}@media(max-width:800px){.abbaca-halo{width:min(100%,31svh)}}

.villa-title{position:absolute;left:4.7%;top:10.6%;width:91%;height:6.6%;display:flex;align-items:center;background:#f9f9fb;color:#17191d;font-size:clamp(17px,1.55vw,24px);font-weight:700;letter-spacing:-.3px}.abbaca-cutout img.villa-photo{left:4.85%;top:17.7%;width:90.3%;height:44.45%;object-fit:cover;border-radius:3.3%;}@media(max-width:800px){.villa-title{font-size:14px}}

/* Les étapes du devis se posent les unes sur les autres. */
.quote-section{padding:100px 7% 70px;background:#fff}.quote-intro{max-width:1000px;margin:0 auto 60px;text-align:center}.quote-intro h2{margin:26px 0}.quote-intro p{font-size:17px;line-height:1.8;color:var(--muted)}.quote-stack{position:relative;padding-bottom:12vh}.quote-card{position:sticky;top:8vh;min-height:76vh;display:grid;grid-template-columns:.85fr 1.15fr;gap:6%;align-items:center;padding:45px 5%;margin-bottom:20vh;background:#fafafa;border:1px solid #e5e7eb;border-radius:32px;box-shadow:0 -12px 45px #2430410a,0 25px 60px #2430410b}.quote-card:nth-child(2){top:10vh;background:#f7f8fa}.quote-card:nth-child(3){top:12vh;background:#fdfdfd;margin-bottom:0}.quote-number{display:block;font-size:10px;letter-spacing:1.8px;color:#868d97;margin-bottom:24px}.quote-copy h3{font-size:clamp(30px,3vw,48px)}.quote-copy p{font-size:15px;line-height:1.85;color:var(--muted);max-width:360px;margin-top:24px}.quote-visual{min-width:0;display:flex;justify-content:center}.quote-crop{position:relative;overflow:hidden;border-radius:20px;width:100%;box-shadow:0 15px 40px #23334d0a}.quote-crop img{position:absolute;max-width:none;height:auto;display:block}.quote-settings{aspect-ratio:660/493;max-width:470px}.quote-settings img{width:116.8182%;left:-4.5455%;top:-21.501%}.quote-line{aspect-ratio:1448/438}.quote-line img{width:110.4972%;left:-4.2818%;top:-62.1005%}.quote-summary{aspect-ratio:768/813;max-width:430px;max-height:62vh}.quote-summary img{width:114.84375%;left:-8.3333%;top:-8.61%}@media(max-width:800px){.quote-section{padding:65px 5% 35px}.quote-intro{margin-bottom:35px}.quote-intro p{font-size:14px}.quote-card{grid-template-columns:1fr;gap:25px;padding:26px 22px;min-height:78svh;top:4svh;border-radius:24px;margin-bottom:15svh}.quote-card:nth-child(2){top:6svh}.quote-card:nth-child(3){top:8svh}.quote-copy h3{font-size:28px}.quote-copy p{font-size:13px;margin-top:12px}.quote-number{margin-bottom:12px}.quote-summary{max-width:29svh;max-height:none}.quote-settings{max-width:360px}.quote-stack{padding-bottom:5vh}}@media(prefers-reduced-motion:reduce){.quote-card{position:relative;top:auto!important;margin-bottom:30px}.quote-stack{padding-bottom:0}}

/* Édition complète, notes et actions fournisseurs incluses. */
.quote-line{aspect-ratio:1957/1887;width:min(100%,66vh);border-radius:14px;background:white}.quote-line img{position:static;width:100%;height:auto;left:auto;top:auto}@media(max-width:800px){.quote-line{width:min(100%,43svh)}}

.team-section{padding:100px 7%;background:#fff}.team-heading{margin-bottom:55px}.team-heading h2{margin:24px 0}.team-heading p{color:var(--muted);line-height:1.8}.team-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:26px;align-items:start}.team-tile{padding:36px;background:#f8f9fb;border:1px solid #e8ebef;border-radius:30px;overflow:hidden;transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.team-tile.waiting{opacity:0;transform:translateY(35px)}.team-copy>span{font-size:10px;letter-spacing:1.6px;color:#858b95}.team-copy h3{margin-top:20px;font-size:32px}.team-copy p{font-size:14px;color:var(--muted);line-height:1.8;max-width:440px;margin:18px 0 30px}.team-crop{position:relative;overflow:hidden;width:100%;border-radius:20px}.team-crop img{position:absolute;max-width:none;height:auto}.team-hours{grid-row:span 2}.team-expenses .team-crop{max-width:440px;margin:auto}.team-material{margin-top:0}.team-confirm{width:47%;margin:25px 0 0 auto}.team-pay{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:center}.pay-year{font-weight:600;margin-bottom:24px;display:flex;justify-content:space-between}.pay-year span{color:#858b95}.pay-documents{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pay-documents .team-crop{border-radius:8px;background:white;box-shadow:0 10px 25px #2430410c}.pay-documents img{filter:blur(5px);pointer-events:none}.pay-documents b{display:block;text-align:center;font-weight:500;font-size:13px;margin-top:14px}@media(max-width:800px){.team-section{padding:65px 5%}.team-grid{grid-template-columns:1fr;gap:18px}.team-tile{padding:24px;border-radius:24px}.team-hours{grid-row:auto}.team-pay{grid-column:auto;display:block}.team-copy h3{font-size:28px}.pay-documents{gap:12px}.team-confirm{width:50%}}@media(prefers-reduced-motion:reduce){.team-tile.waiting{opacity:1;transform:none}}

/* Une pile construite au défilement, avec les fiches précédentes visibles. */
.team-grid{display:block;position:relative;height:290vh;padding:0 30px}.team-deck{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;perspective:1400px}.team-tile{position:absolute;width:calc(100% - 60px);height:72vh;max-height:780px;padding:40px 5%;display:grid;grid-template-columns:.9fr 1.1fr;gap:5%;align-items:center;background:#f8f9fb;box-shadow:0 22px 70px #26344915;transform:translate(calc(var(--depth)*-17px),calc(var(--depth)*-22px)) scale(calc(1 - var(--depth)*.035));transform-origin:50% 35%;transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .45s ease;opacity:1;overflow:hidden}.team-tile.team-front{background:#fff}.team-tile.team-future{transform:translateY(100px) scale(.88) rotateX(-5deg);opacity:0;pointer-events:none}.team-tile .team-copy{grid-column:1;grid-row:1}.team-tile>.team-crop{grid-column:2;grid-row:1;max-height:58vh}.team-hours>.team-crop{width:min(100%,58vh);justify-self:center}.team-expenses>.team-crop{width:100%;max-width:520px}.team-material>.team-crop{align-self:start;margin-top:8vh}.team-confirm{grid-column:2;grid-row:1;align-self:end;width:48%;max-width:210px;margin:0 0 0 auto}.team-pay .pay-preview{grid-column:2}.team-pay{gap:5%}.team-copy h3{font-size:clamp(28px,3vw,44px)}@media(max-width:800px){.team-grid{height:300svh;padding:0}.team-deck{height:100svh}.team-tile{height:78svh;width:94%;padding:24px;grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:20px;border-radius:24px;transform:translate(calc(var(--depth)*-5px),calc(var(--depth)*-12px)) scale(calc(1 - var(--depth)*.035))}.team-tile .team-copy{grid-row:1;grid-column:1}.team-tile>.team-crop,.team-pay .pay-preview{grid-column:1;grid-row:2;max-height:42svh}.team-copy h3{font-size:26px;margin-top:12px}.team-copy p{margin:12px 0 0;font-size:13px}.team-hours>.team-crop{width:min(100%,44svh)}.team-material>.team-crop{margin-top:0}.team-confirm{grid-column:1;grid-row:2;width:40%;max-width:160px}.team-expenses>.team-crop{max-width:400px}.team-pay .pay-preview{align-self:center}.pay-documents{max-width:440px;margin:auto}}@media(prefers-reduced-motion:reduce){.team-grid{height:auto}.team-deck{position:relative;height:auto;display:block}.team-tile,.team-tile.team-future{position:relative;transform:none;opacity:1;width:100%;margin:20px 0;height:auto;min-height:65vh}.team-tile{pointer-events:auto}}

/* Le logo avance vers le visiteur puis révèle la page. */
.intro{overflow:hidden;animation:logo-curtain 1.65s cubic-bezier(.65,0,.2,1) forwards}.intro img{transform-origin:center;animation:logo-flight 1.65s cubic-bezier(.65,0,.2,1) forwards;will-change:transform,opacity}@keyframes logo-flight{0%{opacity:0;transform:scale(.72);filter:blur(5px)}22%{opacity:1;transform:scale(.86);filter:blur(0)}48%{opacity:1;transform:scale(1);filter:blur(0)}90%{opacity:0;transform:scale(9);filter:blur(5px)}100%{opacity:0;transform:scale(11)}}@keyframes logo-curtain{0%,48%{opacity:1}90%,100%{opacity:0;visibility:hidden}}

.sample-payslip{background:#fff;color:#202739;border:1px solid #e0e4eb;border-radius:5px;padding:12px 9px;box-shadow:0 8px 20px #26344910;aspect-ratio:.69;font-family:Arial,sans-serif;font-size:7px;overflow:hidden}.sample-top{display:flex;justify-content:space-between;gap:8px;border-bottom:2px solid #172d66;padding-bottom:7px;font-size:7px}.sample-top span{font-weight:700;text-align:right}.sample-company{margin:9px 0;line-height:1.5}.sample-person{background:#e8eefb;padding:8px 6px;margin-left:18%;line-height:1.55}.sample-person b{font-size:8px!important;text-align:left!important;margin:0!important}.sample-contract{line-height:1.6;margin:10px 0}.sample-table>div{display:grid;grid-template-columns:1.65fr .7fr 1fr;border-bottom:1px solid #e1e4ea;min-height:19px;align-items:center;gap:2px}.sample-table>div>*:last-child{text-align:right}.sample-table-head{background:#172d66;color:white;padding:3px}.sample-table-head b{font-size:6px!important;margin:0!important;text-align:left!important}.sample-net{display:flex;justify-content:space-between;border-top:2px solid #172d66;background:#f2f5fb;padding:9px 3px;margin-top:10px;font-size:7px}.sample-net b{font-size:9px!important;margin:0!important}.sample-footer{text-align:center;font-size:6px;color:#677084;line-height:1.7;margin-top:9px;letter-spacing:.25px}@media(max-width:800px){.sample-payslip{padding:7px 4px;font-size:5px}.sample-top{font-size:5px}.sample-person{padding:4px;margin-left:5%}.sample-person b{font-size:6px!important}.sample-contract{margin:5px 0}.sample-table>div{min-height:13px}.sample-table-head b{font-size:4px!important}.sample-net{font-size:5px;padding:5px 1px}.sample-net b{font-size:6px!important}.sample-footer{font-size:4px;margin-top:5px}}

/* Ouverture symétrique du logo comme deux portes. */
.intro{display:block;background:transparent;animation:split-intro-end 2s forwards;overflow:hidden}.intro-door{position:absolute;inset:0;background:#fff;display:grid;place-items:center;will-change:transform;animation-duration:2s;animation-timing-function:cubic-bezier(.65,0,.2,1);animation-fill-mode:forwards}.intro-left{clip-path:inset(0 50% 0 0);animation-name:split-left}.intro-right{clip-path:inset(0 0 0 50%);animation-name:split-right}.intro .intro-door img{width:min(60vw,530px);height:auto;animation:none;transform:none;filter:none;opacity:1}.intro.restarting,.intro.restarting *{animation:none!important}@keyframes split-left{0%,25%{transform:translateX(0)}100%{transform:translateX(-100%)}}@keyframes split-right{0%,25%{transform:translateX(0)}100%{transform:translateX(100%)}}@keyframes split-intro-end{0%,99%{visibility:visible}100%{visibility:hidden}}

.sample-payslip{aspect-ratio:auto;min-height:320px}.sample-payslip:before{content:'EXEMPLE FICTIF';display:block;color:#66738a;font-size:6px;letter-spacing:1px;margin-bottom:6px}@media(max-width:800px){.sample-payslip{min-height:240px}}
/* Les deux moitiés avancent vers le visiteur tout en s’écartant. */
.intro{perspective:1000px;animation-duration:2.15s}.intro-door{animation-duration:2.15s;backface-visibility:hidden}.intro-left{transform-origin:50% 50%;animation-name:split-zoom-left}.intro-right{transform-origin:50% 50%;animation-name:split-zoom-right}@keyframes split-zoom-left{0%,20%{transform:translateX(0) scale(1)}45%{transform:translateX(-5%) scale(1.35)}100%{transform:translateX(-115%) scale(3.8)}}@keyframes split-zoom-right{0%,20%{transform:translateX(0) scale(1)}45%{transform:translateX(5%) scale(1.35)}100%{transform:translateX(115%) scale(3.8)}}
/* Logo seul, détouré : aucun panneau blanc au-dessus du site. */
.intro,.intro-door{background:transparent}.intro .intro-door img{width:min(84vw,850px)}.intro{animation-duration:2.2s}.intro-door{animation-duration:2.2s}.intro-left{animation-name:transparent-logo-left}.intro-right{animation-name:transparent-logo-right}@keyframes transparent-logo-left{0%{transform:translateX(0) scale(.85);opacity:0}12%,24%{transform:translateX(0) scale(1);opacity:1}55%{transform:translateX(-8%) scale(2.1);opacity:1}85%{opacity:1}100%{transform:translateX(-100%) scale(5);opacity:0}}@keyframes transparent-logo-right{0%{transform:translateX(0) scale(.85);opacity:0}12%,24%{transform:translateX(0) scale(1);opacity:1}55%{transform:translateX(8%) scale(2.1);opacity:1}85%{opacity:1}100%{transform:translateX(100%) scale(5);opacity:0}}

/* Départ blanc, révélation centrale synchronisée avec le logo. */
.intro{animation-duration:2.5s}.intro-cover{position:absolute;top:0;bottom:0;width:50.05%;background:#fff;animation:cover-open-left 2.5s cubic-bezier(.65,0,.2,1) forwards}.cover-left{left:0}.cover-right{right:0;animation-name:cover-open-right}.intro-door{animation-duration:2.5s}.intro-left{animation-name:reveal-logo-left}.intro-right{animation-name:reveal-logo-right}@keyframes cover-open-left{0%,28%{transform:translateX(0)}100%{transform:translateX(-101%)}}@keyframes cover-open-right{0%,28%{transform:translateX(0)}100%{transform:translateX(101%)}}@keyframes reveal-logo-left{0%,28%{transform:translateX(0) scale(1);opacity:1}60%{transform:translateX(-16%) scale(2.2);opacity:1}100%{transform:translateX(-110%) scale(5);opacity:0}}@keyframes reveal-logo-right{0%,28%{transform:translateX(0) scale(1);opacity:1}60%{transform:translateX(16%) scale(2.2);opacity:1}100%{transform:translateX(110%) scale(5);opacity:0}}

.intro-welcome{position:absolute;z-index:3;left:20px;right:20px;bottom:9vh;text-align:center;display:flex;flex-direction:column;gap:9px;animation:welcome-away 2.5s ease forwards;color:#17191d}.intro-welcome strong{font-family:Manrope,sans-serif;font-size:clamp(20px,2.1vw,32px);font-weight:500;letter-spacing:-.7px}.intro-welcome span{font-size:14px;color:#8b9099}.intro .intro-door img{width:min(56vw,570px)}@keyframes welcome-away{0%{opacity:0;transform:translateY(8px)}12%,28%{opacity:1;transform:translateY(0)}50%,100%{opacity:0;transform:translateY(-8px)}}

/* Le logo flottant deborde librement de la zone accueil. */
.hero{overflow:visible;z-index:1}.sculpture{overflow:visible;z-index:3}.sculpture img{overflow:visible} 
/* Ajustements pour les petits ecrans. */
@media(max-width:480px){header{padding-inline:6%;height:76px}.brand{width:78px;height:60px}.hero{min-height:820px;padding:36px 6% 20px}h1{font-size:clamp(48px,13vw,62px);letter-spacing:-3px;margin-top:30px}.hero-bottom{gap:15px;margin-top:28px}.hero-bottom p{font-size:16px}.hero-bottom small{font-size:10px}.round-link{gap:10px;font-size:10px}.round-link b{width:42px;height:42px;flex-shrink:0}.sculpture{top:370px;right:7%;width:86%;height:360px}.sculpture img{width:88%}.axis.y{display:none}h2{font-size:38px;letter-spacing:-1.8px}.quote-card{padding:22px 18px}.quote-line{width:min(100%,45svh)}.quote-copy h3{font-size:25px}.roles button{font-size:11px}.role-detail>span{font-size:56px}.role-detail h3{font-size:25px}.closing{padding:70px 20px}.intro-welcome strong{font-size:22px}}
/* Bulletins compacts pour telephone. */
.sample-payslip:before{content:none}
@media(max-width:800px){.pay-documents{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pay-documents>div:nth-child(n+3){display:none}.sample-payslip{min-height:0;padding:9px 7px;aspect-ratio:auto}.sample-company{margin:6px 0}.sample-table>div{min-height:12px}.sample-contract{margin:5px 0}.sample-net{margin-top:6px}.pay-year{margin-bottom:14px}.pay-documents>div>b{margin-top:9px}}
/* Cadrage des captures de devis actualisees. */
.quote-settings{aspect-ratio:660/493}.quote-settings img{width:111.060606%;left:-4.545455%;top:-23.123732%}
.quote-line{aspect-ratio:2029/1846}.quote-line img{position:static;width:100%;height:auto;display:block}
.quote-summary{aspect-ratio:768/850}.quote-summary img{width:118.880208%;left:-12.760417%;top:-7.058824%}
/* Retouches editoriales et cadrages du 16 octobre. */
.section-head{display:block}.section-head h2{max-width:900px}
.hero h1{font-size:clamp(48px,5.4vw,92px);letter-spacing:-4px;max-width:1100px}
.quote-settings{container-type:inline-size}
.quote-names{position:absolute;z-index:2;left:3%;top:65.6%;width:65%;height:10.5%;background:#f6f7f9;display:flex;align-items:center;gap:2%;font-family:'DM Sans',sans-serif;font-size:2.7cqw;white-space:nowrap}
.quote-names span{padding:1.5% 3%;border:1px solid #e2e5e9;border-radius:99px;background:#f2f3f6}
.team-expenses>.team-crop{border-radius:7% / 9%;background:#fff}
.team-confirm .team-crop{aspect-ratio:612/620!important;border-radius:0}
.team-confirm .team-crop img{top:-17.741935%!important}
.team-confirm{margin-bottom:12px}
.footer-wordmark{display:block;position:relative;width:115px;height:25px;overflow:hidden;flex-shrink:0}
.footer-wordmark img{position:absolute;width:140px;height:auto;max-width:none;left:-12px;top:-106px}
#counter,#role-num{display:none}
@media(max-width:800px){.hero h1{font-size:clamp(40px,10.8vw,64px);letter-spacing:-2px}.team-confirm{margin-bottom:8px}}
.small-business{padding:90px 7%;background:#fff}.small-business-copy{max-width:780px;margin:0 auto 45px}.small-business-copy p{font-size:17px;line-height:1.85;color:#737c88;margin-top:24px;max-width:680px}.small-business-visuals{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1200px;margin:auto}.small-business-visuals figure{margin:0;padding:18px;border:1px solid #e4e7eb;border-radius:26px;background:#fafbfc;overflow:hidden}.small-business-visuals img{display:block;width:100%;height:auto;border-radius:14px}.small-business-visuals figcaption{font-size:15px;margin:18px 6px 5px;color:#505966}.small-business-visuals .planning-wide{grid-column:1/-1}.single-account-note{margin:0 0 30px;padding:28px 32px;background:#f7f8fa;border:1px solid #e3e6eb;border-radius:24px}.single-account-note h2{font-size:25px;letter-spacing:-.7px}.single-account-note p{font-size:15px;line-height:1.8;color:#737b86;margin-top:14px;max-width:900px}@media(max-width:800px){.small-business{padding:55px 6%}.small-business-copy p{font-size:15px}.small-business-visuals{grid-template-columns:1fr;gap:18px}.small-business-visuals .planning-wide{grid-column:auto}.small-business-visuals figure{padding:12px}.single-account-note{padding:23px}.single-account-note h2{font-size:23px}}
/* Cartes extraites des captures, empilees au defilement. */
.business-card-track{height:260vh;max-width:1100px;margin:auto}
.business-card-table{position:sticky;top:0;height:100svh;display:grid;place-items:center;isolation:isolate}
.business-card{grid-area:1/1;position:relative;width:min(85%,780px);margin:0;padding:32px;background:#fff;border:1px solid #e4e7ec;border-radius:28px;box-shadow:0 22px 65px #26344816;transform-origin:35% 90%;will-change:transform,opacity}
.business-card:nth-child(2){z-index:2}.business-card:nth-child(3){z-index:3}
.business-card figcaption{font-size:clamp(20px,2vw,29px);letter-spacing:-.6px;margin:0 0 25px}
.business-fragment{position:relative;overflow:hidden;border-radius:18px;background:#fff}
.business-fragment img{position:absolute;display:block;max-width:none;height:auto}
.business-hours .business-fragment{aspect-ratio:878/403}
.business-hours img{width:233.2574%;left:-15.3759%;top:-67.4938%}
.business-calendar .business-fragment{aspect-ratio:608/240}
.business-calendar img{width:336.8421%;left:-198.5197%;top:-80%}
.business-planning .business-fragment{aspect-ratio:910/230}
.business-planning img{width:225.0549%;left:-.8791%;top:-115.2174%}
@media(max-width:800px){.business-card-track{height:240svh}.business-card{width:90%;padding:20px;border-radius:23px}.business-card figcaption{font-size:23px;line-height:1.3;margin-bottom:20px}.business-hours .business-fragment{aspect-ratio:428/403}.business-hours img{width:478.5047%;left:-31.5421%}.business-planning .business-fragment{aspect-ratio:540/230}.business-planning img{width:379.2593%;left:-1.4815%}.business-fragment{border-radius:12px}}
@media(prefers-reduced-motion:reduce){.business-card-track{height:auto}.business-card-table{position:static;height:auto;display:flex;flex-direction:column;gap:24px;padding:30px 0}.business-card{transform:none!important;opacity:1!important}}
.small-business{overflow:clip}
/* Format commun pour les trois cartes petites entreprises. */
.business-card{height:480px;display:flex;flex-direction:column;justify-content:center}
.business-card figcaption{flex-shrink:0}
.business-fragment{flex-shrink:0}
@media(max-width:800px){.business-card{height:440px;max-height:80svh}.business-fragment{max-height:310px}}
.business-hours .architect-overlay{position:absolute;top:4.22%;width:44.88%;height:62.78%;border-radius:12px;background-image:url('assets/chantiers-dessins.webp');background-size:200% 100%;background-repeat:no-repeat}
.architect-house{left:1.94%;background-position:left center}.architect-building{left:52.62%;background-position:right center}
.architect-overlay span{position:absolute;top:6%;left:4%;background:#fff3df;color:#b56b12;padding:5px 9px;border-radius:30px;font-size:10px}
@media(max-width:800px){.business-hours .architect-overlay{width:92.06%}.architect-house{left:3.97%}.architect-building{left:107.94%}.architect-overlay span{font-size:9px}}
.business-planning .planning-architect{position:absolute;left:19.45%;top:60%;width:8.25%;height:31.3%;border-radius:4px;background:url('assets/chantiers-dessins.webp') right center / 200% 100% no-repeat}
@media(max-width:800px){.business-planning .planning-architect{left:32.78%;width:13.9%}}
.team-jumping{scroll-behavior:auto!important}.team-jumping .visual-slide,.team-jumping .steps article,.team-jumping .team-tile,.team-jumping .business-card{visibility:hidden;transition:none!important}

/* Vector link arrows remain monochrome on iOS. */
.link-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;pointer-events:none}


/* Visible, aligned mobile navigation. */
@media(max-width:800px){
body header{height:auto;min-height:100px;padding:16px 5% 20px;display:flex;flex-direction:column;gap:14px}
body header>.brand{width:70px;height:54px;flex-shrink:0}
body header>nav{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;width:100%;font-size:12px}
body header>nav>a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border:1px solid #e8eaed;border-radius:999px;white-space:nowrap;line-height:1.2;background:#f8f9fa;color:#454a52;box-sizing:border-box}
body header>nav>a[aria-current=page]{background:#191b1e;color:#fff;border-color:#191b1e}
body header>.nav-cta{display:none}
}
.back-to-top{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:8px;border:1px solid #e0e3e7;background:#fff;color:#22262b;padding:12px 16px;min-height:44px;border-radius:999px;box-shadow:0 6px 25px #19233218;font:inherit;font-size:12px;cursor:pointer}
.back-to-top[hidden]{display:none}
.back-to-top:focus-visible{outline:2px solid #68758b;outline-offset:4px}
@media(max-width:800px){.back-to-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));padding:11px 13px}}

/* Plain text navigation and page-top link. */
@media(max-width:800px){
 body header{flex-direction:row;align-items:center;gap:18px;padding:18px 5%;min-height:88px}
 body header>.brand{width:60px;height:54px}
 body header>nav{flex:1;width:auto;justify-content:flex-start;column-gap:18px;row-gap:8px;font-size:12px}
 body header>nav>a,body header>nav>a[aria-current=page]{background:none;border:0;border-radius:0;padding:8px 0;min-height:36px;color:#26292e;box-shadow:none}
 body header>nav>a[aria-current=page]{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#a5abb3}
}
.back-to-top{background:none;border:0;border-radius:0;box-shadow:none;padding:12px;font-size:13px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.back-to-top{padding:12px}}

/* Stable mobile header with a plain three-line menu. */
.simple-mobile-menu{display:none}
@media(max-width:800px){
 body header{height:84px;min-height:84px;box-sizing:border-box;flex-direction:row;padding:12px 6%;position:relative;z-index:30}
 body header>nav{display:none!important}
 body header>.simple-mobile-menu{display:block;margin-left:auto}
 .simple-mobile-menu summary{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;list-style:none}
 .simple-mobile-menu summary::-webkit-details-marker{display:none}
 .simple-mobile-menu summary span{display:block;width:22px;height:1.5px;background:#202226}
 body header .simple-mobile-menu nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:10px 6% 20px;background:white;border-bottom:1px solid #e4e6e9;box-shadow:0 15px 25px #1722300a}
 body header .simple-mobile-menu nav a{display:block;padding:14px 0;min-height:44px;box-sizing:border-box;font-size:16px;line-height:1.4;white-space:nowrap;background:none;border:0;border-radius:0;color:#24272c}
 body header .simple-mobile-menu nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
 .simple-mobile-menu summary:focus-visible{outline:2px solid #7b8594;outline-offset:3px}
}

/* Short entrance: no artificial multi-second wait. */
.intro,.intro-cover,.intro-door,.intro-welcome{animation-duration:2.5s!important}
.sculpture.is-offscreen img{animation-play-state:paused}

/* Footer: centered Lister wordmark only. */
footer{justify-content:center}

.mobile-story-deck{display:none}
@media(max-width:800px){
.story{height:300svh}.story-pin>.steps,.story-pin>.stage{display:none}
.story-pin{display:flex;align-items:center;justify-content:center;padding:24px 0}
.mobile-story-deck{display:grid;width:100%;position:relative;isolation:isolate}
.mobile-story-card{grid-area:1/1;background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:22px;box-shadow:0 18px 45px #25304212;transform-origin:center;min-width:0;height:78svh;max-height:740px;overflow:hidden;display:flex;flex-direction:column;gap:18px}
.mobile-story-copy>span{font-size:10px;letter-spacing:1.5px;color:#858b95}.mobile-story-copy h3{font-size:26px;margin-top:12px}.mobile-story-copy p{font-size:13px;line-height:1.6;color:#747b86;margin-top:12px}
.mobile-story-visual{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.mobile-story-visual>div{max-width:100%;max-height:100%}.mobile-story-visual .abbaca-halo{width:100%;transform:scale(.85);transform-origin:center}.mobile-story-visual .fragment-composition{padding:12px}
.team-grid{height:370svh}.team-tile{transition:none!important;will-change:transform;transform-origin:center}
}

/* Final mobile section follows the same sticky stack as the quote cards. */
@media(max-width:800px){
.business-card-track{height:auto;padding-bottom:5vh}
.business-card-table{position:relative;top:auto;height:auto;display:block;padding:0}
.business-card{position:sticky;top:4svh;margin:0 auto 15svh;width:94%;height:78svh;max-height:none;min-height:0;transform:none!important;opacity:1!important;display:flex;flex-direction:column;justify-content:center;gap:25px;padding:26px 22px;border-radius:24px}
.business-card:nth-child(2){top:6svh}.business-card:nth-child(3){top:8svh;margin-bottom:0}
}
@media(max-width:800px) and (prefers-reduced-motion:reduce){
.story{height:auto}.story-pin{position:relative;height:auto}.mobile-story-deck{display:block}.mobile-story-card{height:auto;min-height:500px;margin-bottom:24px;transform:none!important;opacity:1!important}
.business-card{position:relative;top:auto!important;margin-bottom:30px}
}

/* Mobile story visuals share one frame; the full contact card must fit. */
@media(max-width:800px){
.mobile-story-card{gap:16px}
.mobile-story-visual{container-type:size;width:100%;overflow:visible;flex:1;min-height:0}
.mobile-story-visual>.abbaca-halo{width:min(100%,calc(100cqh * 660 / 954));max-height:none;margin:auto;transform:none}
.mobile-story-visual>.fragment-composition{width:100%;max-width:340px;max-height:none;box-sizing:border-box;margin:auto;padding:14px}
.mobile-story-visual .fragment-heading{margin-bottom:16px}
.mobile-story-visual .fragment-heading>b{font-size:18px}
.mobile-story-visual .catalogue-pieces{gap:8px}
.mobile-story-visual .capsule-showcase{padding:0}
}
