/* Direction produit — septembre 2026. Styles limités à l'accueil. */
.home { --cream:#f8f7f2; --cream-warm:#efeee7; --ink:#213e35; --body:#536158; }
.home .hero { padding:42px 0 0; background:transparent; overflow:hidden; }
.home .hero__grid { min-height:650px; grid-template-columns:1fr 1fr; gap:32px; align-items:center; }
.home .hero-copy { padding:0 0 25px; }
.home .hero-kicker { border:0; background:transparent; padding:0; font-size:.67rem; letter-spacing:.12em; margin-bottom:26px; }
.home .hero h1 { max-width:12ch; font-size:clamp(3.6rem,5.8vw,5.2rem); line-height:1.03; letter-spacing:-.065em; margin-bottom:26px; }
.home .hero h1 em { color:#6c8051; }
.home .hero__lede { font-size:1.06rem; max-width:41ch; line-height:1.8; }
.home .hero__note { max-width:43ch; color:#5d695f; }
.home .hero-explore { font-size:.85rem; margin-top:14px; border-bottom:1px solid #b2bfaa; padding-bottom:7px; }
.home .hero-explore span { border:0; width:auto; height:auto; }
.home .hero__art { height:630px; width:100%; border-radius:48% 48% 24px 24px; background:linear-gradient(160deg,#e5e8d9,#edf0e1 43%,#dfe5d3); perspective:1100px; isolation:isolate; }
.stage-glow { position:absolute; inset:0; border-radius:inherit; background:radial-gradient(ellipse at 24% 18%,#fffff7dd,transparent 62%); }
.stage-ring { position:absolute; width:85%; height:80%; border:1px solid #9aa88e50; border-radius:50%; left:7.5%; top:10%; transform:rotate(-25deg); }
.stage-ring--two { width:100%; height:60%; left:0; top:20%; transform:rotate(30deg); }
.stage-plinth { position:absolute; left:4%; right:4%; height:90px; bottom:35px; border-radius:50%; background:linear-gradient(165deg,#fafff1,#bcc9ac); box-shadow:0 16px 0 #b1bea3,0 19px 0 #d6dfc9,0 32px 40px #36552e28,inset 0 -2px 2px #f7ffef; }
.stage-pearl { position:absolute; border-radius:50%; background:radial-gradient(circle at 28% 22%,#fbffe6,#c9d7a0 45%,#819269 85%); box-shadow:14px 16px 22px #25422c1c; }
.stage-pearl--one { width:58px; height:58px; top:30px; right:32px; }
.stage-pearl--two { width:34px; height:34px; right:26px; bottom:175px; background:radial-gradient(circle at 25% 20%,#fff9db,#d9cca1 48%,#a39a6c); }
.home .device-rig { display:block; z-index:1; }
.lead-phone { position:absolute; top:45px; left:9%; z-index:2; width:246px; transform:rotate(-8deg); }
.home .device-frame { padding:6px; border-radius:34px; transform:rotateY(12deg) rotateX(4deg); box-shadow:1px 0 #fff,3px 1px #a2ad97,6px 2px #c3cbb7,8px 3px #81947a,20px 26px 28px #30422c30; }
.home .hero__phone { width:100%; border-radius:28px; }
.home .device-frame::after { top:105px; }
.companion-phone { position:absolute; width:202px; right:5%; top:116px; transform:rotateY(-14deg) rotateX(3deg) rotateZ(10deg); }
.phone-shell { padding:6px; border-radius:31px; background:linear-gradient(100deg,#c6ceba,#f5f7ec 35%,#bdc8b3); box-shadow:1px 0 #fff,4px 2px #849578,7px 3px #afbea3,20px 24px 32px #25422c25; }
.phone-shell img { width:100%; height:auto; border-radius:25px; border:1px solid #c5cbb8; }
.phone-label { display:block; text-align:center; font-size:.65rem; text-transform:uppercase; letter-spacing:.14em; color:#4f6047; font-weight:800; margin-bottom:12px; }
.home .float-note--check { top:auto; bottom:104px; left:14%; transform:rotate(-3deg); padding:13px 18px; border:1px solid #fff; box-shadow:0 15px 28px #28433222; }
.home .float-note strong { font-size:.8rem; }.home .float-note small { font-size:.7rem; }
.home .scene-caption { bottom:-5px; font-size:.65rem; color:#4f6147; letter-spacing:.04em; }
.home .reassurance { margin-top:46px; padding-block:28px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d8dfce; border-bottom:1px solid #d8dfce; }
.reassurance>div { display:flex; flex-direction:column; align-items:center; gap:2px; padding:0 20px; }
.reassurance>div+div { border-left:1px solid #d8dfce; }
.reassurance strong { font-family:'Quicksand',sans-serif; font-size:1.17rem; color:var(--ink); }
.reassurance span { font-size:.79rem; text-align:center; }
.home #en-bref { margin-top:0; background:transparent; padding:46px 0 38px; border:0; }
.home #en-bref>.wrap { display:block; }.home #en-bref .eyebrow { display:none; }
.home #en-bref h2 { font-size:1.45rem; max-width:none; margin-bottom:24px; }
.home #en-bref .facts-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; }
.home #en-bref .facts-grid>div { border:0; padding:0; }
.home #en-bref dt { font-size:.92rem; }.home #en-bref dd { font-size:.85rem; line-height:1.7; }
.home #en-bref .doc__meta { border-top:1px solid #dde2d4; padding-top:20px; font-size:.77rem; }
.home .story-section { padding-top:50px; }
.home .story-section .duo { grid-template-columns:1fr 1fr; gap:70px; }
.home .story-section h2 { max-width:15ch; font-size:clamp(2.3rem,4.2vw,3.5rem); }
.circle-art { position:relative; min-height:510px; border-radius:34px; background:radial-gradient(circle at 40% 32%,#f9f9ee,#e9ebdb); overflow:hidden; }
.circle-orbit { position:absolute; width:340px; height:340px; left:50%; top:43%; transform:translate(-50%,-50%); border:1px dashed #a1b391; border-radius:50%; }
.circle-orbit--inner { width:240px; height:240px; border-style:solid; border-color:#c9d2b9; }
.circle-center { position:absolute; left:50%; top:43%; transform:translate(-50%,-50%) rotate(-7deg); width:134px; height:146px; border-radius:30px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; background:linear-gradient(130deg,#fffef5,#e4e9d7); border:1px solid #fff; box-shadow:3px 3px #c2ccb7,7px 7px #b0bda1,16px 20px 27px #52614328; }
.circle-center img { width:72px; height:72px; border-radius:19px; }.circle-center span { color:var(--ink); font-size:.8rem; font-weight:800; }
.circle-person { position:absolute; width:65px; height:75px; filter:drop-shadow(6px 8px 7px #4a614022); }
.circle-person i { position:absolute; left:20px; top:0; width:32px; height:32px; border-radius:50%; background:radial-gradient(circle at 30% 25%,#fbffe9,#bbcca2 65%,#8a9d71); z-index:1; }
.circle-person b { position:absolute; top:34px; left:6px; width:60px; height:42px; border-radius:30px 30px 17px 17px; background:linear-gradient(125deg,#dce8c3,#819872); border:1px solid #dce7c6; box-shadow:2px 3px #768b63; }
.circle-person span { position:absolute; bottom:-27px; left:0; right:0; text-align:center; font-size:.73rem; font-weight:800; color:#3d5738; }
.person-a { left:16%; top:20%; transform:rotate(-10deg); }.person-b { right:16%; top:20%; transform:rotate(9deg); }
.person-c { left:15%; top:56%; transform:rotate(8deg); }.person-d { right:15%; top:56%; transform:rotate(-8deg); }
.person-e { left:calc(50% - 32px); top:4%; transform:scale(.8); }
.person-b i,.person-d i { background:radial-gradient(circle at 30% 25%,#fff9de,#dac69e 65%,#b8a479); }
.person-b b,.person-d b { background:linear-gradient(125deg,#eae4ce,#b7b196); border-color:#eee8d4; box-shadow:2px 3px #a39f89; }
.circle-caption { position:absolute; bottom:21px; left:0; right:0; text-align:center; line-height:1.5; font-size:.86rem; color:#4d6245; }.circle-caption strong { font-size:1.05rem; }
.home #fonctionnement { background:#e9eddf; }
.home #fonctionnement h2 { max-width:17ch; }
.home .steps { gap:0; }.home .step { padding:80px 32px 15px 0; }
.home .step+.step { padding-left:32px; border-left:1px solid #cdd5be; }
.home .step::before { width:auto; height:auto; top:0; left:0; background:none; border:0; font-size:3rem; font-weight:500; color:#6a8058; content:'0' counter(step); }
.home .step+.step::before { left:32px; }.home .step h3 { font-size:1.27rem; }
.home .feature-section .grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px; }
.home .feature-section h2 { max-width:17ch; font-size:clamp(2.3rem,4vw,3.5rem); }
.home .feature-section .card:nth-child(n) { grid-column:span 2; border:1px solid #e1e6d9; background:#fffef9; padding:30px; box-shadow:none; border-radius:24px; overflow:hidden; }
.home .feature-section .card:nth-child(-n+2) { grid-column:span 3; }
.home .feature-section .card:nth-child(2) { background:#eaf0de; display:grid; grid-template-columns:1fr 150px; gap:0 22px; }
.home .feature-section .card:nth-child(2) .card__icon { grid-column:1; }
.home .feature-section .card:nth-child(2) h3,.home .feature-section .card:nth-child(2) p { grid-column:1; }
.home .feature-section .card h3 { font-size:1.23rem; letter-spacing:-.025em; }.home .feature-section .card p { font-size:.94rem; }
.home .feature-section .card:hover { transform:translateY(-4px); border-color:#bccbaa; }
.home .feature-section .card:nth-child(1) { background:#fffaf4; }
.wellbeing-art { grid-column:2; grid-row:1/5; align-self:center; text-align:center; transform:rotate(8deg); }
.wellbeing-art>span { width:104px; height:104px; margin:0 auto 20px; display:grid; place-items:center; font-size:3.5rem; color:#3e6137; border-radius:32px; background:linear-gradient(140deg,#fffdeb,#d8e5b8); border:1px solid #fffdf1; box-shadow:2px 3px #b7c79a,5px 6px #91a879,13px 20px 18px #70845430; }
.home .wellbeing-art p { font-size:.85rem; font-weight:800; }.wellbeing-art small { font-size:.65rem; font-weight:500; }
.message-art { display:grid; gap:9px; margin-top:25px; }.message-art>span { padding:10px 13px; background:#e8eedf; border-radius:13px 13px 13px 0; font-size:.76rem; color:#476037; width:fit-content; }
.message-art>span+span { margin-left:auto; background:#f1efdf; border-radius:13px 13px 0; }.message-art small { font-size:.64rem; text-align:right; color:#677560; }
.home #apercu { background:#213e35; color:#d5dfd2; position:relative; }
.home #apercu h2 { color:#f5f5e8; font-size:clamp(2.3rem,4vw,3.4rem); }.home #apercu .eyebrow { color:#c3d4a4; }.home #apercu .lede { color:#d5dfd2; }
.product-explorer { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding:26px 0 35px; }
.product-explorer[hidden] { display:none; }
.explorer-copy { max-width:440px; }.home .explorer-copy h3 { color:#f5f5e8; font-size:2.1rem; margin-bottom:20px; }.explorer-copy>p:not(.eyebrow) { font-size:.99rem; min-height:80px; }
.explorer-choices { display:grid; gap:10px; margin-top:30px; }
.explorer-choices button { display:flex; align-items:center; gap:15px; width:100%; padding:18px; border:1px solid #60766a; border-radius:16px; background:transparent; color:#e5ebdc; text-align:left; font:700 1rem 'Quicksand',sans-serif; cursor:pointer; transition:background .2s,border-color .2s; }
.explorer-choices button[aria-pressed="true"] { background:#dce8c4; color:#243e2d; border-color:#dce8c4; }
.explorer-choices button:hover { border-color:#e1ebd0; }.explorer-choices small { display:block; font:400 .8rem 'Nunito',sans-serif; margin-top:3px; }
.explorer-choices button>span:last-child { margin-left:auto; }.choice-icon { width:39px; height:39px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:1.4rem; }
.home .explorer-copy .explorer-note { min-height:0; font-size:.71rem; margin-top:22px; color:#bbc9b7; }
.explorer-stage { position:relative; min-height:645px; display:flex; align-items:center; justify-content:center; padding-bottom:50px; perspective:1000px; }
.explorer-disc { position:absolute; width:430px; height:430px; border-radius:50%; background:radial-gradient(circle at 36% 28%,#678767,#395b44 64%,#294635); border:1px solid #75916950; }
.explorer-disc::after { content:''; position:absolute; inset:-25px; border:1px solid #96ae8038; border-radius:50%; }
.explorer-phone { position:relative; width:252px; border-radius:36px; padding:7px; background:linear-gradient(120deg,#cbd5bd,#fcfff2,#afbea3); box-shadow:4px 2px #8b9b7a,7px 4px #cbd5bd,25px 30px 40px #0b241c70; transform:rotateY(-9deg) rotateZ(5deg); }
.explorer-phone img { width:100%; aspect-ratio:840/1826; object-fit:cover; border-radius:29px; border:1px solid #a4b592; }
.explorer-caption { position:absolute; bottom:0; left:0; right:0; text-align:center; font-size:.82rem; color:#d0ddc4; }
.screens-library { border-top:1px solid #647867; margin-top:24px; }
.screens-library>summary { display:flex; align-items:center; justify-content:space-between; padding:24px 0; cursor:pointer; font-size:.94rem; color:#eaf0df; list-style:none; }
.screens-library>summary::-webkit-details-marker { display:none; }.screens-library>summary span { font-size:1.7rem; transition:transform .2s; }.screens-library[open]>summary span { transform:rotate(45deg); }
.home #apercu .shot figcaption,.home #apercu .gallery-tip { color:#d4dfc8; }.home #apercu .shot img { box-shadow:10px 18px 30px #102b2244; }.home #apercu .gallery-controls { justify-content:flex-end; }
.home .limits-section { background:#efeee7; }
.home #tarifs .plan { padding:32px 24px; min-height:280px; display:flex; flex-direction:column; }
.plan-link { margin-top:auto; padding-top:22px; display:flex; justify-content:space-between; gap:10px; font-size:.78rem; font-weight:800; text-decoration:none; border-top:1px solid #cdd7c0; }
.plan--best .plan-link { color:#e0edc4; border-color:#6b8066; }.plan-link:hover { text-decoration:underline; }
.home .advice-section .card { position:relative; padding-top:62px; border-radius:0; border:0; border-top:1px solid #bccab0; background:transparent; }
.home .advice-section .card::before { content:'↗'; position:absolute; top:13px; right:26px; font-size:1.7rem; color:#68865a; }
.home .download-section>.wrap { background:radial-gradient(ellipse at 50% 100%,#d4dfbe,#e8eddc 70%); padding-block:90px; }
.home .download-section>.wrap::after { content:''; position:absolute; width:220px; height:220px; border:1px solid #a2b99077; border-radius:50%; right:-130px; bottom:20px; pointer-events:none; }
.home .download-section h2 { max-width:18ch; font-size:clamp(2.4rem,4.6vw,3.7rem); }
.home :is(a,button,summary):focus-visible { outline:3px solid #64843d; outline-offset:5px; }
.home #apercu :is(a,button,summary):focus-visible { outline-color:#eef6c9; }
.motion-ready .stage-pearl--one { animation:pearl-bob 8s ease-in-out infinite; }
.motion-ready .stage-pearl--two { animation:pearl-bob 9s ease-in-out -3s infinite; }
.scene-offscreen * { animation-play-state:paused!important; }
@keyframes pearl-bob { 50% { translate:0 -12px; } }
@media(min-width:1500px) { .home .hero__grid { min-height:670px; }.home .hero__art { height:650px; } }
@media(max-width:1100px) {
  .home .hero__grid { gap:22px; }.home .hero h1 { font-size:3.7rem; }.home .hero__art { height:590px; }
  .lead-phone { width:220px; left:5%; top:55px; }.companion-phone { width:170px; right:4%; top:131px; }
  .home .hero__lede { font-size:1rem; }.home .story-section .duo { gap:38px; }
  .home .feature-section .card:nth-child(n) { grid-column:span 3; }.home .feature-section .card:nth-child(2) { display:block; }.wellbeing-art { margin-top:24px; }.wellbeing-art>span { width:75px; height:75px; font-size:2.5rem; }
  .product-explorer { gap:30px; }.explorer-disc { width:330px; height:330px; }
}
@media(max-width:850px) {
  .home .hero h1 { font-size:3.1rem; }.home .hero__art { height:530px; }.lead-phone { width:187px; left:4%; top:53px; }.companion-phone { width:150px; right:2%; top:122px; }
  .home .hero .cta-row { flex-direction:row; }.home .float-note--check { bottom:78px; left:3%; padding:10px; }.home .float-note strong { font-size:.7rem; }.home .float-note small { font-size:.65rem; }
  .home .hero-kicker { font-size:.59rem; }.home #en-bref .facts-grid { grid-template-columns:1fr 1fr; }
  .home .story-section .duo { grid-template-columns:1fr; }.circle-art { width:100%; min-height:450px; order:2; }
  .circle-orbit { width:330px; height:330px; }.circle-orbit--inner { width:230px; height:230px; }.person-a { left:25%; }.person-c { left:24%; }.person-b { right:25%; }.person-d { right:24%; }
  .home .step,.home .step+.step { padding:28px 0 28px 65px; border-left:0; }.home .step::before,.home .step+.step::before { left:0; top:18px; font-size:2.3rem; }
  .explorer-copy { max-width:none; }.explorer-copy>p:not(.eyebrow) { min-height:0; }.product-explorer { grid-template-columns:1fr; gap:20px; }.explorer-choices { grid-template-columns:repeat(3,1fr); gap:8px; }.explorer-choices button { font-size:.86rem; gap:8px; padding:12px; flex-wrap:wrap; }.choice-icon { width:30px; height:30px; font-size:1.1rem; }.explorer-choices button>span:last-child { display:none; }.explorer-choices small { font-size:.72rem; }
  .explorer-stage { min-height:645px; }.explorer-disc { width:420px; height:420px; }.explorer-phone { width:252px; }
}
@media(max-width:620px) {
  .home .hero { padding-top:34px; }.home .hero__grid { display:flex; gap:25px; }.home .hero-copy { padding:0; }.home .hero h1 { font-size:clamp(2.9rem,12.5vw,4.1rem); max-width:12ch; }.home .hero__lede { max-width:40ch; }.home .hero-kicker { font-size:.59rem; margin-bottom:22px; letter-spacing:.06em; }
  .home .hero__art { height:565px; margin-top:0; border-radius:46% 46% 22px 22px; }.lead-phone { width:210px; top:42px; left:7%; }.companion-phone { width:155px; top:135px; right:5%; }.home .float-note--check { left:10%; bottom:91px; }.stage-pearl--one { width:40px; height:40px; top:18px; right:38px; }.stage-pearl--two { width:26px; height:26px; }.stage-plinth { height:66px; bottom:38px; }.home .scene-caption { bottom:0; }
  .home .reassurance { margin-top:36px; padding:20px 22px; gap:14px; grid-template-columns:1fr; }.reassurance>div { flex-direction:row; justify-content:space-between; padding:0; gap:18px; }.reassurance>div+div { border:0; }.reassurance strong { font-size:.9rem; white-space:nowrap; }.reassurance span { font-size:.71rem; text-align:right; }
  .home #en-bref { padding:34px 0 20px; }.home #en-bref .facts-grid { gap:24px 18px; }.home #en-bref dt { font-size:.87rem; }.home #en-bref dd { font-size:.81rem; }
  .home .story-section .duo { display:flex; gap:30px; }.home .story-section { padding-top:40px; }.home .story-section h2 { font-size:2.4rem; }
  .circle-art { min-height:450px; border-radius:24px; }.circle-orbit { width:280px; height:280px; }.circle-orbit--inner { width:190px; height:190px; }.circle-center { width:109px; height:122px; }.circle-center img { width:59px; height:59px; }.circle-center span { font-size:.68rem; }.person-a { left:9%; top:19%; }.person-b { right:9%; top:19%; }.person-c { left:9%; top:55%; }.person-d { right:9%; top:55%; }.person-e { top:3%; }.circle-person { scale:.86; }
  .home .feature-section .grid { grid-template-columns:1fr; }.home .feature-section .card:nth-child(n) { grid-column:auto; padding:27px; }.home .feature-section .card:nth-child(2) { display:grid; grid-template-columns:1fr 90px; gap:0 10px; }.wellbeing-art { margin-top:0; }.wellbeing-art>span { width:70px; height:70px; border-radius:24px; }.wellbeing-art small { display:none; }
  .home .feature-section h2 { font-size:2.35rem; }.home #apercu h2 { font-size:2.4rem; }.home .explorer-copy h3 { font-size:1.75rem; }
  .explorer-choices { grid-template-columns:1fr; gap:8px; }.explorer-choices button { flex-wrap:nowrap; font-size:.94rem; padding:13px 16px; gap:14px; }.explorer-choices button>span:last-child { display:block; }.choice-icon { width:37px; height:37px; }.explorer-choices small { font-size:.76rem; }.home .explorer-copy .explorer-note { font-size:.68rem; }
  .explorer-stage { min-height:610px; }.explorer-disc { width:290px; height:290px; }.explorer-disc::after { inset:-14px; }.explorer-phone { width:232px; }.explorer-caption { font-size:.76rem; }.screens-library>summary { font-size:.85rem; gap:20px; }
  .home #tarifs .plan { min-height:260px; }.home .download-section>.wrap { padding:60px 22px; }.home .download-section h2 { font-size:2.4rem; }
}
@media(max-width:360px) {
  .home .hero__art { height:515px; }.lead-phone { width:185px; left:4%; }.companion-phone { width:134px; right:2%; top:135px; }.home .float-note--check { left:3%; bottom:83px; }.home .float-note strong { font-size:.66rem; }.home .float-note small { font-size:.61rem; }.phone-label { font-size:.56rem; }.home .hero-kicker { font-size:.52rem; }.home .hero .store { padding:12px 10px; }.home .hero .store small { font-size:.86rem; }
  .home .feature-section .card:nth-child(2) { display:block; }.wellbeing-art { margin-top:24px; }.explorer-disc { width:250px; height:250px; }.circle-person { scale:.75; }.person-a,.person-c { left:3%; }.person-b,.person-d { right:3%; }
}
@media(prefers-reduced-motion:reduce) { .stage-pearl { animation:none!important; }.home .feature-section .card:hover { transform:none; } }
html.motion-paused .home .feature-section .card:hover { transform:none; }
@media print { .home #apercu { background:white; color:#213e35; }.home #apercu h2,.home #apercu .lede { color:#213e35; }.product-explorer,.stage-pearl,.stage-ring { display:none; }.screens-library { display:block; }.home .hero__art { height:550px; }.home #apercu .shot figcaption { color:#213e35; } }
