/* Studio 2026. Progressive, dependency-free visual layer. */
:root, .home {
  --cream:#f8f7f1; --cream-warm:#efeee6; --ink:#203f36; --ink-soft:#365348;
  --body:#54645a; --muted:#687469; --border:#e3e5da; --border-2:#d5dccf;
  --sage:#4d735e; --sage-deep:#264e3c; --sage-bg:#eaf0e3; --max:1240px;
}
body { background:var(--cream); }
h1,h2,h3,h4 { font-family:'Nunito',system-ui,sans-serif; }
h1,h2 { font-weight:750; letter-spacing:-.05em; }
h3 { letter-spacing:-.025em; }
.wrap { padding-inline:40px; }
.nav { top:0; margin:0; width:100%; max-width:none; padding:0; border:0; background:#f8f7f1f2; border-bottom:1px solid #254c3420; backdrop-filter:blur(18px); border-radius:0; box-shadow:none; }
.nav .nav__in { max-width:1440px; min-height:88px; border-radius:0; background:none; box-shadow:none; padding-inline:40px; }
.nav__brand { gap:12px; }.nav__brand img { width:40px; height:40px; border-radius:12px; }
.nav__name { font-family:'Nunito',sans-serif; font-size:1.12rem; letter-spacing:-.03em; }
.nav__links { gap:25px; }.nav__links a { color:#466052; font-size:.82rem; }
.nav-cta { border-radius:100px; background:#264e3c; font-size:.78rem; padding:14px 20px; box-shadow:none; }
.motion-toggle { border-color:#c7d0c3; border-radius:50%; color:#365446; }
.nav :is(a,button,summary):focus-visible { outline-color:#537550; }
.band { padding-block:108px; }
.eyebrow { font:800 .68rem 'Nunito',sans-serif; letter-spacing:.16em; color:#4e6c54; margin-bottom:20px; }
.card { box-shadow:none; border-radius:18px; }
.store { border-radius:12px; transition:transform .25s,box-shadow .25s; background:#284e3c; }
.store:hover { background:#1e402f; transform:translateY(-3px); box-shadow:0 8px 15px #264e3c20; }
.home .hero { padding-top:0; overflow:hidden; position:relative; }
.hero-topline { display:flex; justify-content:space-between; padding-top:22px; font-size:.69rem; letter-spacing:.035em; color:#667663; }
.home .hero__grid { grid-template-columns:1.05fr 1fr; gap:35px; min-height:720px; padding-block:36px 42px; }
.home .hero-copy { padding:8px 0 20px; position:relative; z-index:2; }
.editorial-index { display:block; font-size:.67rem; font-weight:800; letter-spacing:.16em; margin-bottom:26px; color:#526d51; }
.editorial-index::before { content:''; display:inline-block; vertical-align:middle; width:22px; height:1px; margin-right:10px; background:#638256; }
.home .hero h1 { font-family:'Nunito',sans-serif; font-size:clamp(3.6rem,5.6vw,5.2rem); font-weight:800; letter-spacing:-.065em; line-height:1.06; max-width:none; margin-bottom:28px; }
.home .hero h1 em { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-style:italic; color:#6d7c4a; letter-spacing:-.065em; }
.home .hero__lede { font-size:1.04rem; line-height:1.8; max-width:40ch; margin-bottom:30px; }
.home .hero .cta-row { gap:10px; margin-top:0; }
.home .hero .store { padding:13px 17px; }.home .hero .store small { font-size:1.07rem; }
.home .hero__note { font-size:.72rem; max-width:44ch; margin-top:18px; }
.home .hero-explore { margin-top:26px; font-size:.78rem; border:0; display:inline-flex; gap:25px; align-items:center; }
.home .hero-explore span { display:grid; place-items:center; border:1px solid #b8c4ac; border-radius:50%; width:31px; height:31px; transition:transform .25s; }
.home .hero-explore:hover span { transform:rotate(45deg); }
.home .hero__art { height:642px; margin:0; width:100%; border-radius:180px 180px 28px 28px; background:radial-gradient(ellipse at 30% 16%,#55705c,#2b4f3e 45%,#153b30 90%); perspective:1300px; isolation:isolate; }
.stage-glow { background:radial-gradient(ellipse at 70% 15%,#d5e4b31c,transparent 55%); }
.home .device-rig { position:absolute; inset:0; width:100%; height:100%; transform-style:preserve-3d; transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .5s ease-out; }
.home .lead-phone { width:208px; top:78px; left:10%; transform:translateZ(45px) rotate(-11deg); transition:transform .7s; }
.home .device-frame { transform:rotateY(16deg) rotateX(4deg); padding:6px; background:linear-gradient(115deg,#f5f5df,#95a486); box-shadow:1px 0 #f4faec,3px 2px #6b7f5f,6px 3px #b1bea0,8px 4px #58744e,24px 30px 35px #001b1855; }
.home .companion-phone { width:175px; top:147px; right:5%; transform:translateZ(10px) rotateY(-20deg) rotateZ(12deg); transition:transform .7s; }
.home .phone-shell { box-shadow:1px 0 #fff,3px 2px #77856c,7px 4px #93a484,20px 24px 32px #061e1b66; }
.home .phone-label { color:#e3ebd6; font:700 .57rem 'Nunito',sans-serif; letter-spacing:.13em; margin-bottom:13px; }
.home .float-note--check { z-index:3; bottom:96px; left:-16px; padding:14px 18px; transform:rotate(-5deg); border-radius:15px; background:#fbfcf0f2; backdrop-filter:blur(12px); border:1px solid #fff; box-shadow:0 20px 35px #062a2650; }
.home .float-note strong { font-size:.77rem; }.home .float-note small { font-size:.66rem; }
.home .note-check { width:37px; height:37px; }
.home .scene-caption { bottom:-29px; font-size:.59rem; text-transform:uppercase; letter-spacing:.12em; color:#637156; }
.signature-tile { position:absolute; right:65px; top:32px; z-index:3; display:flex; align-items:center; gap:11px; transform:rotate(8deg); }
.signature-tile img { width:55px; height:55px; padding:2px; border-radius:16px; background:#f2ead4; box-shadow:2px 3px #b4c0a0,4px 6px #8ea380,12px 13px 20px #082c2555; }
.signature-tile span { color:#e4ead8; font-size:.63rem; line-height:1.5; font-weight:700; }
.orbit-sculpture { position:absolute; left:50%; top:42%; width:430px; height:430px; transform:translate(-50%,-50%); perspective:1000px; pointer-events:none; }
.orbit-volume { position:absolute; inset:0; transform-style:preserve-3d; transform:rotateX(61deg) rotateY(-17deg) rotateZ(-30deg); }
.orbit-volume i { position:absolute; inset:0; border:15px solid #a8bb8540; border-top-color:#e2edb1cc; border-left-color:#bbc994aa; border-radius:50%; transform:translateZ(calc(var(--slice) * 1.5px)); box-shadow:inset 0 1px #f3f6ca55,0 1px #d1dea355; }
.motion-ready .orbit-volume { animation:studio-orbit 18s ease-in-out infinite; }
@keyframes studio-orbit { 50% { transform:rotateX(48deg) rotateY(18deg) rotateZ(15deg); } }
.scene-controls { position:absolute; z-index:5; bottom:16px; left:50%; transform:translateX(-50%); display:flex; padding:4px; gap:4px; border:1px solid #c2d3a84d; background:#173a2cd9; border-radius:40px; width:max-content; }
.scene-controls[hidden] { display:none; }
.scene-controls button { font:700 .65rem 'Nunito',sans-serif; padding:9px 13px; color:#e7eedc; background:none; border:0; border-radius:30px; cursor:pointer; min-height:34px; }
.scene-controls button[aria-pressed=true] { background:#dce6c0; color:#294b36; }
.scene-controls button:focus-visible { outline:2px solid white; outline-offset:1px; }
.home .hero__art[data-view=front] .device-rig { transform:none; }
.home .hero__art[data-view=front] :is(.lead-phone,.companion-phone,.device-frame) { transform:none; animation:none; }
.home .hero__art[data-view=front] .device-float { animation:none; }
.home .hero__art[data-view=front] .lead-phone { left:7%; top:95px; width:198px; }
.home .hero__art[data-view=front] .companion-phone { right:7%; top:127px; width:177px; }
.home .hero__art[data-view=front] .float-note { opacity:0; pointer-events:none; }
.home .reassurance { margin-top:0; border-top:1px solid #d0d9c7; border-bottom:1px solid #d0d9c7; padding-block:26px; gap:0; }
.reassurance>div { align-items:flex-start; padding-left:36px; gap:4px; }.reassurance>div:first-child { padding-left:0; }
.home .reassurance strong { font-family:'Nunito',sans-serif; font-size:1.18rem; letter-spacing:-.03em; }
.reassurance span { font-size:.75rem; text-align:left; }
.home #en-bref { padding-block:42px; }.home #en-bref h2 { font-size:1.25rem; letter-spacing:-.025em; }
.home #en-bref .facts-grid { gap:28px; }.home #en-bref dd { font-size:.8rem; line-height:1.8; }
.home #en-bref dt { font-size:.85rem; }.home #en-bref .doc__meta { font-size:.74rem; margin-top:28px; }
.home .story-section { padding-block:75px 105px; }.home .story-section .duo { gap:90px; grid-template-columns:1fr 1fr; }
.home .story-section h2 { font-size:clamp(2.6rem,4.1vw,3.7rem); font-weight:750; line-height:1.06; margin-bottom:28px; }
.home .story-section .prose>p:not(.eyebrow) { font-size:.97rem; line-height:1.85; }
.circle-art { min-height:530px; border-radius:230px 230px 24px 24px; background:radial-gradient(circle at 40% 30%,#fbfbed,#e4e9d7); border:1px solid #dfe6d2; }
.circle-center { transform:translate(-50%,-50%) rotate(-8deg); box-shadow:3px 4px #c9d3b8,7px 8px #a6b996,20px 26px 32px #56734530; }
.circle-orbit { border-style:solid; box-shadow:0 1px #fff; }
.circle-person { filter:drop-shadow(7px 14px 8px #4a614030); }
.home #fonctionnement { background:#e9edde; border:0; position:relative; }
.home #fonctionnement h2 { font-size:clamp(2.5rem,4vw,3.4rem); max-width:19ch; }
.home #fonctionnement .lede { font-size:1rem; max-width:50ch; }
.home .steps { gap:22px; }.home .step,.home .step+.step { border:0; background:#f8faf0; border-radius:20px; padding:110px 27px 30px; position:relative; }
.home .step::before,.home .step+.step::before { content:'0' counter(step); top:23px; left:26px; font:400 3.2rem Georgia,serif; color:#7b8d61; }
.home .step:not(:last-child)::after { content:'↗'; position:absolute; top:33px; right:28px; color:#63814f; font-size:1.4rem; }
.home .step h3 { font-size:1.22rem; }.home .step p { font-size:.91rem; line-height:1.85; }
.home .feature-section h2 { font-size:clamp(2.6rem,4.2vw,3.7rem); line-height:1.07; }
.home .feature-section .lede { font-size:1rem; }
.home .feature-section .grid { gap:17px; }.home .feature-section .card:nth-child(n) { border-radius:20px; border-color:#dde3d4; padding:30px; background:#fffef9; }
.home .feature-section .card:nth-child(1) { background:#fcf4eb; }
.home .feature-section .card:nth-child(2) { background:#e7eddb; }
.home .feature-section .card:nth-child(3) { background:#eef0e7; }
.home .feature-section .card:nth-child(7) { background:#f4efe2; }
.home .feature-section .card p { font-size:.92rem; line-height:1.8; }
.home .feature-section .card__icon { border-radius:14px; box-shadow:0 3px 0 #d5dfc855; }
.home .alert-section { background:transparent; border-top:1px solid #d9e0cf; }
.home .alert-section h2 { font-size:clamp(2.4rem,4vw,3.4rem); line-height:1.1; }
.home #apercu { margin:0 20px; border-radius:32px; background:radial-gradient(ellipse at 95% 20%,#405c42,#193c30 65%); overflow:hidden; }
.home #apercu h2 { font-size:clamp(2.7rem,4.3vw,3.8rem); }.home #apercu .lede { font-size:1rem; }
.product-explorer { gap:80px; }.home .explorer-copy h3 { font-size:2.1rem; font-weight:600; }
.explorer-choices button { border-radius:13px; padding:17px 20px; font-family:'Nunito',sans-serif; }
.explorer-choices button[aria-pressed=true] { background:#e2e9c8; }
.explorer-disc { background:radial-gradient(circle at 36% 28%,#9cae78,#5e7c55 60%,#385e44); box-shadow:0 10px 0 #284c38,0 40px 80px #061f2160; transform:rotateX(25deg); }
.explorer-phone { transform:rotateY(-14deg) rotateZ(5deg); }
.home .limits-section { background:transparent; }.home .limits-section h2 { font-size:2.5rem; }
.home #tarifs { background:#edf0e5; }
.home #tarifs h2 { font-size:clamp(2.7rem,4.3vw,3.7rem); line-height:1.1; max-width:18ch; }
.home #tarifs .plan { border:1px solid #d6dfc9; border-radius:20px; padding:32px; background:#fdfef7; }
.home #tarifs .plan--best { background:#244c39; color:#e6edd7; box-shadow:0 18px 35px #29472e15; border-color:#244c39; }
.home #tarifs .plan--best h3 { color:#f3f6e9; }.home #tarifs .plan--best .plan__price { color:#f3f6e9; }
.plan-link { font-size:.8rem; }.home .faq summary { padding-block:25px; font-family:'Nunito',sans-serif; font-weight:750; }
.home .faq details { border-color:#d5dfcb; }.home .advice-section { background:#f0f1e7; }
.home .advice-section h2 { font-size:3rem; }.home .advice-section .card { padding:52px 25px 25px; background:#fafbf3; border:1px solid #dce2d1; border-radius:16px; }
.home .advice-section .card a { text-decoration:none; }.home .advice-section .card:hover a { text-decoration:underline; }
.home .download-section { padding:50px 20px; background:var(--cream); }
.home .download-section>.wrap { background:#dfe8cf; border-radius:24px; padding-block:80px; overflow:hidden; }
.home .download-section h2 { font-size:clamp(2.8rem,4.6vw,4rem); line-height:1.06; }.home .download-section .lede { font-size:1rem; }
.foot { background:#173c2e; border:0; padding-block:60px 30px; color:#cad9c1; }
.foot .nav__name,.foot h4 { color:#f3f5e9; }.foot a,.foot p { color:#c6d4be; }
.foot p[style] { color:#c6d4be!important; }.foot h4 { font-size:.86rem; }.foot a { font-size:.8rem; }.foot a:hover { color:white; }.foot__legal { border-color:#45614a; font-size:.72rem; color:#b3c7ac; }
/* Shared editorial treatment for guides and practical pages. */
body:not(.home) .doc { padding-block:70px 90px; }
body:not(.home) .doc h1 { font-size:clamp(2.3rem,4.5vw,3.6rem); max-width:24ch; line-height:1.12; }
body:not(.home) .doc h2 { font-size:1.9rem; margin-top:48px; }
body:not(.home) .doc p,body:not(.home) .doc li { line-height:1.9; }
body:not(.home) .doc__meta { color:#66785f; }
body:not(.home) .card { background:#fffef8; border-color:#dce3d2; border-radius:18px; padding:28px; }
body:not(.home) .card h2 { margin-top:0; }
:is(a,button,summary):focus-visible { outline:3px solid #577440; outline-offset:5px; }
.foot a:focus-visible,.home #apercu :is(a,button,summary):focus-visible { outline-color:#edf4cb; }
html.motion-paused *,html.page-inactive * { animation-play-state:paused!important; }
html.motion-paused * { transition-duration:0s!important; }
html:not(.motion-ready) :is(.device-float,.float-note) { animation:none; }
html.motion-paused :is(.store:hover,.hero-explore:hover span) { transform:none; }
html.motion-paused .home .device-rig { transform:none; }
html.motion-paused :is(.store,.hero-explore span,.device-rig,.lead-phone,.companion-phone) { transition:none; }
@media (max-width:1100px) {
  .wrap { padding-inline:30px; }.nav .nav__in { padding-inline:25px; }.nav__links { gap:16px; }
  .home .hero__grid { gap:28px; min-height:650px; }.home .hero h1 { font-size:3.7rem; }
  .home .hero__art { height:590px; }.home .lead-phone { width:184px; left:6%; top:92px; }.home .companion-phone { width:151px; right:5%; top:156px; }
  .home .hero__art[data-view=front] .lead-phone { width:185px; left:4%; }.home .hero__art[data-view=front] .companion-phone { width:159px; right:4%; }
  .orbit-sculpture { width:350px; height:350px; }.signature-tile { right:48px; top:28px; }
  .home .float-note--check { bottom:95px; left:-10px; }.home .hero__lede { font-size:.97rem; }
  .home .hero .store { padding:12px; }.home .hero .store small { font-size:.95rem; }
  .home .story-section .duo { gap:50px; }.circle-art { min-height:510px; }
  .product-explorer { gap:45px; }.home #apercu { margin-inline:12px; }
}
@media (max-width:850px) {
  .nav .nav__in { min-height:76px; }.band { padding-block:75px; }
  .home .hero__grid { grid-template-columns:1fr 1fr; gap:20px; padding-top:30px; min-height:0; }
  .home .hero h1 { font-size:3rem; }.home .hero__art { height:540px; border-radius:150px 150px 22px 22px; }
  .home .lead-phone { width:160px; left:5%; top:93px; }.home .companion-phone { width:128px; right:4%; top:156px; }
  .home .hero__art[data-view=front] .lead-phone { width:153px; }.home .hero__art[data-view=front] .companion-phone { width:131px; }
  .home .hero__note { font-size:.68rem; }.home .hero .cta-row { flex-wrap:wrap; }.editorial-index { font-size:.55rem; letter-spacing:.11em; }.editorial-index::before { width:12px; margin-right:7px; }
  .signature-tile img { width:46px; height:46px; }.signature-tile span { font-size:.56rem; }.orbit-sculpture { width:280px; height:280px; }
  .home .float-note--check { bottom:99px; padding:10px 12px; }.home .float-note strong { font-size:.65rem; }.home .float-note small { font-size:.6rem; }
  .home .reassurance strong { font-size:1rem; }.reassurance>div { padding-left:22px; }.reassurance span { font-size:.67rem; }
  .home .story-section .duo { grid-template-columns:1fr; gap:40px; }.circle-art { min-height:440px; order:2; border-radius:24px; }
  .home .step,.home .step+.step { padding:30px 30px 30px 98px; }.home .step::before,.home .step+.step::before { left:26px; top:25px; font-size:2.6rem; }.home .step:not(:last-child)::after { display:none; }
  .product-explorer { grid-template-columns:1fr; gap:25px; }.explorer-stage { min-height:635px; }
  .home .limits-section h2 { font-size:2.2rem; }
}
@media (max-width:620px) {
  .wrap { padding-inline:22px; }.nav .nav__in { min-height:72px; padding-inline:20px; gap:10px; }.nav__brand { gap:9px; }.nav__brand img { width:32px; height:32px; }.nav__name { font-size:1rem; }
  .hero-topline { padding-top:18px; font-size:.58rem; }.hero-topline span:last-child { display:none; }
  .home .hero__grid { display:flex; flex-direction:column; padding-top:33px; padding-bottom:28px; gap:36px; }
  .home .hero-copy { padding:0; width:100%; }.editorial-index { font-size:.58rem; margin-bottom:19px; letter-spacing:.13em; }
  .home .hero h1 { font-size:clamp(2.85rem,12vw,4.3rem); line-height:1.06; letter-spacing:-.06em; margin-bottom:23px; max-width:none; }
  .home .hero__lede { font-size:1rem; line-height:1.8; margin-bottom:26px; }.home .hero__note { font-size:.72rem; }.home .hero-explore { margin-top:20px; }
  .home .hero .cta-row { flex-direction:row; gap:9px; }.home .hero .store { padding:12px 14px; }.home .hero .store small { font-size:1rem; }
  .home .hero__art { height:600px; border-radius:155px 155px 24px 24px; }
  .home .lead-phone { width:174px; left:6%; top:95px; }.home .companion-phone { width:144px; right:3%; top:154px; }
  .home .hero__art[data-view=front] .lead-phone { width:43%; left:5%; top:117px; }.home .hero__art[data-view=front] .companion-phone { width:39%; right:5%; top:150px; }
  .home .float-note--check { left:-5px; bottom:96px; padding:12px 14px; }.home .float-note strong { font-size:.71rem; }.home .float-note small { font-size:.63rem; }
  .signature-tile { top:30px; right:48px; }.signature-tile img { width:47px; height:47px; }.signature-tile span { font-size:.59rem; }
  .orbit-sculpture { width:320px; height:320px; top:43%; }.home .scene-caption { bottom:-25px; font-size:.55rem; }
  .home .reassurance { padding:24px 22px; gap:19px; grid-template-columns:1fr; }.reassurance>div { padding:0; flex-direction:row; justify-content:space-between; align-items:center; gap:16px; }.reassurance>div+div { border:0; }.reassurance span { text-align:right; font-size:.71rem; }
  .home #en-bref { padding-block:35px; }.home #en-bref .facts-grid { grid-template-columns:1fr; gap:22px; }.home #en-bref dd { font-size:.86rem; }.home #en-bref dt { font-size:.88rem; }.home #en-bref .doc__meta { font-size:.75rem; }
  .band { padding-block:65px; }.home .story-section { padding-block:30px 65px; }.home .story-section .duo { gap:35px; }.home .story-section h2 { font-size:2.7rem; }
  .circle-art { min-height:420px; }.home #fonctionnement h2 { font-size:2.5rem; }.home .step,.home .step+.step { padding:27px 22px 27px 78px; }.home .step::before,.home .step+.step::before { left:20px; font-size:2.2rem; }
  .home .feature-section h2 { font-size:2.7rem; }.home .feature-section .card:nth-child(n) { padding:26px; }
  .home #apercu { margin-inline:10px; border-radius:22px; }.home #apercu>.wrap { padding-inline:19px; }.home #apercu h2 { font-size:2.65rem; }.home .explorer-copy h3 { font-size:1.8rem; }
  .explorer-stage { min-height:575px; }.explorer-phone { width:216px; }.explorer-disc { width:270px; height:270px; }.explorer-choices button { padding:14px; }
  .home .limits-section h2 { font-size:2.25rem; }.home #tarifs h2 { font-size:2.65rem; }.home #tarifs .plan { padding:27px; }
  .home .advice-section h2 { font-size:2.6rem; }.home .download-section { padding:28px 10px; }.home .download-section>.wrap { padding:55px 23px; }.home .download-section h2 { font-size:2.65rem; }
  .foot { padding-top:50px; }.foot__grid { gap:30px; }
  body:not(.home) .doc { padding-top:40px; }body:not(.home) .doc h1 { font-size:2.4rem; }body:not(.home) .doc h2 { font-size:1.65rem; }
}
@media(max-width:360px) {
  .home .hero h1 { font-size:2.5rem; }.home .hero .store { padding:11px 10px; }.home .hero .store small { font-size:.87rem; }.home .hero .store svg { width:18px; }
  .home .hero__art { height:540px; }.home .lead-phone { width:144px; left:5%; }.home .companion-phone { width:116px; right:3%; top:145px; }
  .home .float-note--check { bottom:97px; padding:10px; }.home .float-note strong { font-size:.62rem; }.home .float-note small { font-size:.58rem; }.orbit-sculpture { width:260px; height:260px; }
  .signature-tile { right:30px; top:33px; }.home .phone-label { font-size:.5rem; }.home .reassurance strong { font-size:.89rem; }.reassurance span { font-size:.64rem; }
  .explorer-disc { width:235px; height:235px; }.home #apercu>.wrap { padding-inline:17px; }.explorer-phone { width:202px; }
}
@media(prefers-reduced-motion:reduce) {
  .orbit-volume,.home .device-rig,.home .device-float { animation:none!important; }
  .home .device-rig { transform:none!important; }
  .store:hover,.home .hero-explore:hover span { transform:none; }
}
@media print {
  .nav,.hero-topline,.scene-controls,.orbit-sculpture { display:none!important; }
  .home #apercu,.foot { background:white;color:#203f36; }
  .foot a,.foot h4,.foot .nav__name { color:#203f36; }
}
