/* ==========================================================================
   Accueil — composition éditoriale, mise en scène « table dressée »
   Motif signature : l’arche (cloche, fenêtre) qui s’ouvre sur l’assiette.
   ========================================================================== */
.home-modern{--paper:#F8F5ED;background:var(--paper);overflow-x:clip}
.home-modern main{display:block}

/* ---------- Rideau d’ouverture (première visite de la session) ---------- */
.intro-curtain{display:none}
/* Ouverture (une fois par session) : sur fond ivoire, les deux pages du symbole s’ouvrent comme un livre,
   le nom monte lettre à lettre, puis le rideau se lève en arche sur l’accueil. Un toucher l’abrège. */
.intro .intro-curtain{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(80% 55% at 50% 44%,#fffdf8 0%,var(--paper) 58%,#efe6da 100%);color:var(--wine-deep);cursor:pointer;animation:curtain-lift 1.05s cubic-bezier(.76,0,.24,1) 2.05s forwards}
.intro .intro-curtain:before{content:'';position:absolute;inset:0;background:var(--grain);opacity:.5;mix-blend-mode:multiply;pointer-events:none}
.intro-stage{position:relative;display:grid;justify-items:center;animation:stage-out .8s cubic-bezier(.7,0,.84,0) 1.95s forwards}
.intro-symbol{width:clamp(76px,10vw,108px);height:auto;fill:currentColor;overflow:visible;filter:drop-shadow(0 14px 22px rgba(53,25,32,.16))}
.intro-symbol .leaf{transform-box:fill-box;opacity:0;animation:leaf-left 1.15s cubic-bezier(.16,1,.3,1) .2s forwards}
.intro-symbol .leaf-left{transform-origin:100% 88%}
.intro-symbol .leaf-right{transform-origin:0% 88%;animation-name:leaf-right;animation-delay:.34s}
.intro-word{width:clamp(196px,27vw,290px);height:auto;margin-top:clamp(20px,2.6vw,28px);fill:currentColor;overflow:hidden}
.intro-word path{opacity:0;animation:letter-rise .95s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.78s + var(--k) * 42ms)}
.intro-rule{width:clamp(120px,16vw,170px);height:1px;margin:22px 0 16px;background:linear-gradient(90deg,transparent,var(--coral) 30%,var(--coral) 70%,transparent);transform:scaleX(0);animation:rule-grow 1s cubic-bezier(.16,1,.3,1) 1.3s forwards}
.intro-line{font-size:10.5px;font-weight:600;letter-spacing:.24em;color:var(--wine-mist);opacity:0;animation:tagline-in 1.1s cubic-bezier(.16,1,.3,1) 1.42s forwards}
@keyframes leaf-left{from{opacity:0;transform:scaleX(.06) skewY(-7deg) translateY(10px)}35%{opacity:1}to{opacity:1;transform:none}}
@keyframes leaf-right{from{opacity:0;transform:scaleX(.06) skewY(7deg) translateY(10px)}35%{opacity:1}to{opacity:1;transform:none}}
@keyframes letter-rise{from{opacity:0;transform:translateY(270px)}30%{opacity:1}to{opacity:1;transform:none}}
@keyframes rule-grow{to{transform:none}}
@keyframes tagline-in{to{opacity:1;letter-spacing:.44em}}
@keyframes stage-out{to{opacity:0;transform:translateY(-34px) scale(.97)}}
@keyframes curtain-lift{0%{clip-path:inset(0 0 0 0 round 0 0 0 0 / 0 0 0 0)}100%{clip-path:inset(0 0 100% 0 round 0 0 50% 50% / 0 0 26vh 26vh);visibility:hidden}}
@keyframes curtain-skip{from{opacity:1}to{opacity:0;visibility:hidden}}
.intro.intro-skip .intro-curtain{animation:curtain-skip .45s ease forwards}
.intro.intro-skip{--intro:.1s}
@keyframes dot-pop{from{transform:scale(0)}to{transform:scale(1)}}

/* ---------- En-tête ---------- */
.home-header{position:sticky;top:0;height:88px;padding:0 max(4.4%,24px);background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(18px);backdrop-filter:saturate(1.4) blur(18px);border:0;z-index:60;transition:height .45s var(--ease-out),transform .55s var(--ease-out),box-shadow .45s,background .45s}
.home-header.is-scrolled{height:72px;box-shadow:0 1px 0 rgba(75,32,43,.08),0 10px 30px -18px rgba(75,32,43,.25)}
.home-header.is-hidden{transform:translateY(-102%)}
.home-header .brand-logo{width:214px}
.desktop-nav{display:flex;gap:6px;font-size:14px;font-weight:550;padding:6px;border-radius:var(--r-pill);background:rgba(75,32,43,.045)}
.desktop-nav a{position:relative;padding:9px 18px;border-radius:var(--r-pill);overflow:hidden;transition:color .3s}
.desktop-nav a:before{content:'';position:absolute;inset:0;border-radius:inherit;background:var(--paper);box-shadow:var(--shadow-sm);transform:scale(.6);opacity:0;transition:transform .45s var(--ease-spring),opacity .3s}
.desktop-nav a:hover:before,.desktop-nav a.is-current:before{transform:scale(1);opacity:1}
.desktop-nav a span{position:relative}
.header-actions{display:flex;align-items:center;gap:24px}
.account-link{position:relative;font-size:14px;font-weight:550}
.account-link:after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-out)}
.account-link:hover:after{transform:scaleX(1);transform-origin:left}

/* Menu mobile plein écran */
.mobile-menu{position:fixed;inset:0;z-index:55;background:var(--wine-deep);color:var(--paper);display:flex;flex-direction:column;justify-content:space-between;padding:calc(110px + var(--safe-top)) 7% calc(34px + var(--safe-bottom));clip-path:circle(0 at calc(100% - 44px) 44px);transition:clip-path .75s var(--ease-in-out);overflow:auto}
.mobile-menu:before{content:'';position:absolute;inset:0;background:var(--grain);opacity:.18;mix-blend-mode:soft-light;pointer-events:none}
.mobile-menu.is-open{clip-path:circle(150% at calc(100% - 44px) 44px)}
.mobile-menu-links{display:grid;gap:4px}
.mobile-menu-links a{display:block;overflow:hidden;font-family:var(--serif);font-size:clamp(2.4rem,10vw,3.4rem);line-height:1.12;letter-spacing:-.03em;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.mobile-menu-links a span{display:block;transform:translateY(105%);transition:transform .8s var(--ease-out)}
.mobile-menu-links a:nth-child(n+4){font-family:var(--sans);font-size:1.05rem;letter-spacing:0;padding:14px 0;color:#ead6dc}
.mobile-menu.is-open .mobile-menu-links a span{transform:none}
.mobile-menu.is-open .mobile-menu-links a:nth-child(1) span{transition-delay:.18s}
.mobile-menu.is-open .mobile-menu-links a:nth-child(2) span{transition-delay:.24s}
.mobile-menu.is-open .mobile-menu-links a:nth-child(3) span{transition-delay:.3s}
.mobile-menu.is-open .mobile-menu-links a:nth-child(4) span{transition-delay:.36s}
.mobile-menu.is-open .mobile-menu-links a:nth-child(5) span{transition-delay:.4s}
.mobile-menu-foot{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:34px;opacity:0;transform:translateY(20px);transition:opacity .5s .45s,transform .7s var(--ease-out) .45s}
.mobile-menu.is-open .mobile-menu-foot{opacity:1;transform:none}
.mobile-menu-foot .time-note,.mobile-menu-foot .time-note>span{color:#ead6dc}
.home-header.menu-open{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--paper)}
.home-header.menu-open .brand-logo{display:none}
.home-header.menu-open .brand-logo-inverse{display:block}
.home-header.menu-open .header-actions>.button{opacity:0;pointer-events:none}
.menu-toggle{position:relative;width:46px;height:46px;border-radius:50%;flex-direction:column;gap:6px;background:rgba(75,32,43,.06)}
.menu-toggle span{width:18px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .45s var(--ease-out)}
.menu-toggle[aria-expanded=true]{background:rgba(255,255,255,.12)}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(20px,3vw,48px);margin:0 20px;min-height:min(860px,calc(100svh - 108px));padding:20px;background:var(--wine-deep);border-radius:var(--r-xl);overflow:hidden;color:var(--paper)}
.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:var(--grain);opacity:.22;mix-blend-mode:soft-light;pointer-events:none}
.hero-atmosphere{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-atmosphere span{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;will-change:transform}
.hero-atmosphere span:nth-child(1){width:46vw;height:46vw;left:-12vw;top:-18vw;background:#6b2c3e;animation:drift-a 22s ease-in-out infinite alternate}
.hero-atmosphere span:nth-child(2){width:30vw;height:30vw;left:22vw;bottom:-16vw;background:#7c3a2c;opacity:.35;animation:drift-b 26s ease-in-out infinite alternate}
.hero-atmosphere span:nth-child(3){width:18vw;height:18vw;left:4vw;bottom:8%;background:var(--lime);opacity:.07;animation:drift-a 30s ease-in-out infinite alternate-reverse}
@keyframes drift-a{to{transform:translate(8vw,6vw) scale(1.12)}}
@keyframes drift-b{to{transform:translate(-6vw,-4vw) scale(.9)}}
.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,4vw,64px) clamp(8px,2.5vw,44px) clamp(24px,3vw,40px)}
.home-modern .hero .eyebrow{color:var(--lime);font-size:.8125rem;letter-spacing:.16em;font-weight:650}
.hero h1{font-family:var(--sans);font-weight:650;font-size:clamp(3.2rem,6.4vw,6.8rem);line-height:1;letter-spacing:-.065em;margin:30px 0 32px}
.hero h1 .hl{display:block;overflow:hidden;padding:0 .08em .1em 0;margin-bottom:-.1em}
.hero h1 .hl>*{display:inline-block}
.hero h1 em{font-family:var(--serif);font-weight:400;font-style:italic;color:var(--lime);letter-spacing:-.035em;font-size:1.06em;padding-right:.06em}
.hero-description{font-size:1.125rem;line-height:1.65;max-width:470px;color:#f3e5e9}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:34px}
.hero-actions .button{min-height:58px;padding:18px 32px;font-size:1rem;box-shadow:0 0 0 0 rgba(224,229,168,.4)}
.hero-actions .button:hover{box-shadow:var(--shadow-glow)}
.time-note{position:relative;padding-left:24px;font-size:.875rem;line-height:1.55;color:#f3e5e9}
.time-note>span:last-child{color:#d9bfc6}
.clock{position:absolute;left:0;top:3px;width:15px;height:15px;border:1px solid currentColor;border-radius:50%}
.clock:before{content:'';position:absolute;left:6px;top:2px;width:1px;height:5px;background:currentColor;transform-origin:50% 100%;animation:rotate-slow 6s linear infinite}
.clock:after{content:'';position:absolute;left:6px;top:6px;width:4px;height:1px;background:currentColor}
.hero-together-link{display:inline-block;font-size:.875rem;margin-top:26px;color:#fffdf9;max-width:390px;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:3px;transition:background-size .6s var(--ease-out),color .3s}
.hero-together-link:hover{color:var(--lime);background-size:0 1px;background-position:100% 100%}
.hero-signature{display:flex;align-items:center;gap:12px;margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);color:#ead6dc;font-size:.875rem;line-height:1.5;width:min(100%,470px)}
.star{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.12em;overflow:visible;stroke-width:2.1}
.small-star{display:inline-flex;color:var(--lime);font-size:22px;line-height:1;animation:rotate-slow 14s linear infinite}

.hero-visual{position:relative;container-type:inline-size;min-height:620px}
.hero-arch{position:absolute;inset:0;overflow:hidden;border-radius:50cqw 50cqw var(--r-lg) var(--r-lg);background:var(--peach);transform:translateZ(0)}
.hero-arch img{width:100%;height:100%;object-position:50% 50%;transform:scale(1.1);transform-origin:50% 60%}
.hero-top-label{position:absolute;top:auto;bottom:128px;right:22px;left:auto;padding:10px 16px;border-radius:var(--r-pill);background:var(--paper);color:var(--wine-deep);font-size:.72rem;letter-spacing:.12em;font-weight:600;box-shadow:var(--shadow-md);transform:rotate(-3deg)}
.hero-stamp{position:absolute;top:13%;left:-34px;width:132px;height:132px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:var(--wine-deep);box-shadow:0 18px 40px -16px rgba(0,0,0,.45);transform:rotate(-12deg)}
.hero-stamp>svg{position:absolute;inset:0;width:100%;height:100%;animation:rotate-slow 24s linear infinite;font-weight:700;fill:currentColor}
.hero-stamp b{display:flex;font-size:34px;font-weight:400;line-height:1}
.hero-stamp b .star{stroke-width:1.8}
.hero-stamp .stamp-dot{stroke-width:2.6}
.photo-caption{position:absolute;left:22px;right:22px;bottom:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:20px 24px;border-radius:var(--r-md);background:rgba(66,27,42,.62);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border:1px solid rgba(255,255,255,.14);color:#fff}
.photo-caption>span:first-child{font-family:var(--serif);font-size:27px;line-height:1.08;letter-spacing:-.025em}
.caption-index{font-size:.72rem;letter-spacing:.14em;color:#f3e5e9;white-space:nowrap}

/* Séquence d’ouverture du hero */
.js .hero-eyebrow,.js .hero-description,.js .hero-actions,.js .hero-together-link,.js .hero-signature{animation:hero-fade 1s var(--ease-out) both}
.js .hero-eyebrow{animation-delay:calc(var(--intro,0s) + .05s)}
.js .hero h1 .hl>*{animation:hero-line 1.25s var(--ease-out) both}
.js .hero h1 .hl:nth-child(1)>*{animation-delay:calc(var(--intro,0s) + .12s)}
.js .hero h1 .hl:nth-child(2)>*{animation-delay:calc(var(--intro,0s) + .24s)}
.js .hero-description{animation-delay:calc(var(--intro,0s) + .45s)}
.js .hero-actions{animation-delay:calc(var(--intro,0s) + .58s)}
.js .hero-together-link{animation-delay:calc(var(--intro,0s) + .7s)}
.js .hero-signature{animation-delay:calc(var(--intro,0s) + .8s)}
.js .hero-arch{animation:arch-open 1.6s var(--ease-in-out) calc(var(--intro,0s) + .1s) both}
.js .hero-arch img{animation:arch-zoom 2.2s var(--ease-out) calc(var(--intro,0s) + .1s) both}
.js .hero-stamp{animation:stamp-in 1.1s var(--ease-spring) calc(var(--intro,0s) + .9s) both}
.js .hero-top-label{animation:label-in .9s var(--ease-spring) calc(var(--intro,0s) + 1.05s) both}
.js .photo-caption{animation:hero-fade 1s var(--ease-out) calc(var(--intro,0s) + 1.1s) both}
.intro{--intro:2.2s}
@keyframes hero-fade{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes hero-line{from{transform:translateY(115%) rotate(2deg)}to{transform:none}}
@keyframes arch-open{from{clip-path:inset(100% 0 0 0 round 50cqw 50cqw 26px 26px)}to{clip-path:inset(0 0 0 0 round 50cqw 50cqw 26px 26px)}}
@keyframes arch-zoom{from{scale:1.3}to{scale:1}}
@keyframes stamp-in{from{opacity:0;transform:rotate(40deg) scale(.4)}to{opacity:1;transform:rotate(-12deg) scale(1)}}
@keyframes label-in{from{opacity:0;transform:translateY(16px) rotate(4deg)}to{opacity:1;transform:rotate(-3deg)}}

/* ---------- Bandeau de promesses défilant ---------- */
.home-promises{overflow:hidden;padding:26px 0;border-bottom:1px solid var(--line-soft);-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.home-promises:hover .marquee-track{animation-play-state:paused}
.marquee-group{display:flex;align-items:center;gap:44px;padding-right:44px;white-space:nowrap}
.marquee-group span{font-size:clamp(1.15rem,1.7vw,1.6rem);letter-spacing:-.02em;color:var(--wine)}
.marquee-group strong{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.18em;color:var(--coral)}
.marquee-group i{display:inline-flex;font-style:normal;color:var(--lime-deep);font-size:1.3rem}

/* ---------- Sections ---------- */
.section-pad{padding:clamp(64px,9vw,128px) max(6.2%,24px);max-width:1680px;margin:auto}
.section-heading .eyebrow{margin-bottom:24px;font-size:.875rem;letter-spacing:.12em}
.section-heading h2 em,.approach h2 em{color:var(--coral)}
.section-heading.wide{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:clamp(36px,5vw,64px)}
.section-heading.wide>p{font-size:1rem;max-width:360px}
.home-modern h2{font-size:clamp(2.7rem,5vw,5rem);line-height:1}

/* L’approche — titre fixe pendant le défilement */
.approach{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}
.approach-heading{position:sticky;top:120px}
.large-copy{font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.55;margin:9px 0 40px;color:var(--ink);letter-spacing:-.01em}
.principle{position:relative;display:flex;gap:28px;padding:30px 0;border-top:1px solid var(--line)}
.principle:after{content:'';position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--wine);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease-out) .3s}
.principle.in-view:after{transform:scaleX(1)}
.principle>span{font-family:var(--serif);font-style:italic;font-size:1.6rem;line-height:1;color:var(--coral);min-width:38px}
.principle h3{font-size:1.25rem;margin-bottom:8px;font-weight:600;letter-spacing:-.02em;color:var(--wine)}
.principle p{font-size:1rem;line-height:1.65}

/* Pour vous */
.for-you{max-width:none;background:linear-gradient(180deg,#f5f0ed,#f8f2ee)}
.for-you>*{max-width:1680px;margin-left:auto;margin-right:auto}
.focus-grid{display:grid;grid-template-columns:1fr 1.03fr;gap:6%;align-items:center}
.focus-photo{position:relative;margin:0;min-height:560px;container-type:inline-size}
.focus-photo-frame{position:absolute;inset:0;overflow:hidden;border-radius:50cqw 50cqw var(--r-lg) var(--r-lg);transform:translateZ(0)}
.focus-photo img{position:absolute;inset:-6% 0;width:100%;height:112%;object-position:45% 50%}
.js-motion .focus-photo.reveal{opacity:1;transform:none}
.js-motion .focus-photo.reveal .focus-photo-frame{clip-path:inset(100% 0 0 0 round 50cqw 50cqw 26px 26px);transition:clip-path 1.6s var(--ease-in-out)}
.js-motion .focus-photo.reveal.in-view .focus-photo-frame{clip-path:inset(0 0 0 0 round 50cqw 50cqw 26px 26px)}
.js-motion .focus-photo.reveal .photo-overlay{opacity:0;transition:opacity 1s ease .9s}
.js-motion .focus-photo.reveal.in-view .photo-overlay{opacity:1}
.photo-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:40px;border-radius:50cqw 50cqw var(--r-lg) var(--r-lg);background:linear-gradient(0deg,rgba(47,25,34,.72),transparent 60%);pointer-events:none}
.photo-overlay>span{font-size:.8rem;color:var(--paper);letter-spacing:.14em;line-height:1.4}
.photo-overlay em{display:block;font-family:var(--serif);font-size:clamp(2.2rem,3.2vw,3rem);letter-spacing:-.02em;line-height:1.1;margin-top:6px}
.focus-list{align-self:center}
.focus-item{border-top:1px solid #ceb7bc;padding:4px 0;transition:background .4s}
.focus-item:last-child{border-bottom:1px solid #ceb7bc}
.focus-item summary{padding:24px 0;gap:22px}
.focus-number{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--coral);min-width:30px}
.focus-item h3{flex:1;font-family:var(--serif);font-size:clamp(1.7rem,2.4vw,2.3rem);font-weight:400;letter-spacing:-.03em;color:var(--wine);transition:transform .5s var(--ease-out),color .3s}
.focus-item summary:hover h3{transform:translateX(8px)}
.focus-item[open] h3{color:var(--wine-deep)}
.plus{position:relative;width:44px;height:44px;flex-shrink:0;border:1px solid #c9b2b6;border-radius:50%;transition:background .4s,border-color .4s,transform .6s var(--ease-spring)}
.plus:before,.plus:after{content:'';position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;background:currentColor;transition:transform .5s var(--ease-out)}
.plus:after{transform:rotate(90deg)}
.focus-item[open] .plus{background:var(--wine);border-color:var(--wine);color:var(--paper);transform:rotate(180deg)}
.focus-item[open] .plus:after{transform:rotate(0)}
.detail-body{padding:0 54px 26px 52px;font-size:1rem}
.detail-body p{margin-bottom:20px;max-width:520px}
.focus-item[open] .detail-body>*{animation:fade-up .6s var(--ease-out) both}
.focus-item[open] .detail-body>*:nth-child(2){animation-delay:.08s}

/* À table ensemble */
.together{max-width:none;display:grid;grid-template-columns:1fr 1.1fr;gap:8%;background:var(--lime);position:relative;overflow:hidden;scroll-margin-top:24px;padding-left:max(6.2%,24px);padding-right:max(6.2%,24px)}
.together:before{content:'';position:absolute;right:-6vw;top:-9vw;width:42vw;height:42vw;background:rgba(255,255,255,.26);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6v18.8M2.6 12h18.8M5.35 5.35l13.3 13.3M18.65 5.35 5.35 18.65' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6v18.8M2.6 12h18.8M5.35 5.35l13.3 13.3M18.65 5.35 5.35 18.65' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;animation:rotate-slow 90s linear infinite}
.together>*{position:relative}
.together-intro h2{font-size:clamp(4rem,7.5vw,8rem);line-height:.92;margin:22px 0 30px;color:var(--wine-deep)}
.together-intro h2 em{color:var(--wine-soft)}
.together-intro .eyebrow{font-size:.8125rem;letter-spacing:.12em}
.together-lead{font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.38;color:var(--wine-deep);margin-bottom:20px;letter-spacing:-.01em}
.together-intro>p:not(.eyebrow){max-width:480px;color:#4f5038}
.together-intro .button{margin-top:30px}
.together-details{align-self:center;background:var(--paper);border-radius:var(--r-xl);padding:clamp(26px,3vw,42px);box-shadow:0 40px 80px -40px rgba(52,54,27,.45)}
.together-heading{padding-bottom:26px;border-bottom:1px solid var(--line)}
.together-heading>span{display:block;font-size:.8125rem;letter-spacing:.14em;margin-bottom:16px;color:var(--muted)}
.together-heading strong{font-family:var(--sans);font-size:clamp(1.8rem,3vw,2.7rem);font-weight:650;letter-spacing:-.045em;line-height:1.1;color:var(--wine)}
.together-details ol{padding:0;margin:0;list-style:none;counter-reset:steps}
.together-details li{position:relative;display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.together-details li>span{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--lime-soft);font-size:.8rem;font-weight:650;color:#8a334b}
.together-details h3{font-size:1.1rem;margin-bottom:8px;color:var(--wine)}
.together-details p{font-size:1rem;line-height:1.55}
.together-details.reveal li{transition:opacity .8s var(--ease-out),transform .9s var(--ease-out)}
.js-motion .together-details.reveal li{opacity:0;transform:translateX(24px)}
.js-motion .together-details.in-view li{opacity:1;transform:none}
.together-details.in-view li:nth-child(2){transition-delay:.15s}
.together-details.in-view li:nth-child(3){transition-delay:.3s}
.together-privacy{margin-top:20px}
.together-details .together-status{margin-top:16px;font-size:.875rem;font-weight:600;color:var(--wine-deep);padding:12px 16px;border-radius:var(--r-sm);background:var(--lime-soft)}

/* Le premier pas */
.journey{position:relative;max-width:none;margin:24px;border-radius:var(--r-xl);background:var(--wine-deep);color:var(--paper);overflow:hidden;isolation:isolate}
.journey:after{content:'';position:absolute;inset:0;z-index:-1;background:var(--grain);opacity:.2;mix-blend-mode:soft-light}
.journey:before{content:'';position:absolute;z-index:-1;width:60vw;height:60vw;right:-20vw;top:-30vw;border-radius:50%;background:radial-gradient(circle,#6b2c3e,transparent 70%);opacity:.8}
.journey .eyebrow{color:#e7bcb0}
.journey h2 em{color:var(--lime)}
.journey-rail{height:1px;background:rgba(255,255,255,.16);margin:0 0 46px;position:relative;overflow:hidden}
.journey-rail span{position:absolute;inset:0;background:linear-gradient(90deg,var(--lime),var(--coral-soft));transform-origin:left;transform:scaleX(var(--journey,0));transition:transform .2s linear}
.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7%}
.journey-number{font-family:var(--serif);font-size:clamp(4rem,6vw,6rem);line-height:1;color:var(--peach);display:block;margin-bottom:26px;letter-spacing:-.04em}
.journey-number>span{color:#956775;font-size:.5em;font-style:italic}
.journey h3{font-size:1.25rem;font-weight:600;margin-bottom:14px;letter-spacing:-.02em}
.journey p{color:#dcc5cb;font-size:1rem;line-height:1.7}
.privacy-line{display:flex;gap:12px;align-items:center;font-size:.875rem;color:#dcc5cb;border-top:1px solid rgba(255,255,255,.14);margin-top:56px;padding-top:24px}
.lock-icon{font-size:24px;color:var(--lime);display:inline-block;animation:rotate-slow 20s linear infinite}

/* Formules */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch;perspective:1200px}
.price-card{--mx:50%;--my:0%;position:relative;isolation:isolate;display:flex;flex-direction:column;padding:38px 30px 30px;border:1px solid #e6d7d9;border-radius:var(--r-lg);background:#fff;transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out),border-color .4s;transform-style:preserve-3d}
.js-motion .price-card.reveal.in-view{transition:opacity .9s var(--ease-out),transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}
.price-card:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(224,229,168,.38),transparent 55%);opacity:0;transition:opacity .5s}
.price-card:hover:before{opacity:1}
.featured:before{background:radial-gradient(420px circle at var(--mx) var(--my),rgba(224,229,168,.16),transparent 55%)}
.price-card:hover{box-shadow:var(--shadow-lg);border-color:#d6c0c4}
.price-card .eyebrow{font-size:.8125rem;letter-spacing:.12em;margin-bottom:20px}
.price-card h3{font-family:var(--sans);font-weight:650;letter-spacing:-.05em;font-size:clamp(1.8rem,2.4vw,2.6rem);color:var(--wine);overflow-wrap:anywhere}
.plan-intro{font-size:1rem;min-height:47px;max-width:270px;margin-top:16px}
.price-card ul{padding:24px 0 16px;margin:22px 0 20px;list-style:none;border-top:1px solid var(--line);font-size:.9375rem}
.price-card li{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start}
.price-card li:before{content:'';flex-shrink:0;width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--peach) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5.2 9.3 2.5 2.4 5-5.4' fill='none' stroke='%23c94832' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.price-card .button{margin-top:auto;font-size:.9375rem}
.featured{background:var(--wine-deep);color:#fff;border-color:var(--wine-deep);box-shadow:var(--shadow-md);translate:0 -14px}
.featured:hover{border-color:var(--wine-deep)}
.featured .eyebrow,.featured h3,.featured p{color:var(--paper)}
.featured .plan-intro{color:#dcc5cb}
.featured ul{border-color:rgba(255,255,255,.16)}
.featured li:before{background-color:rgba(224,229,168,.16);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5.2 9.3 2.5 2.4 5-5.4' fill='none' stroke='%23e0e5a8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.plan-tag{position:absolute;right:22px;top:-15px;padding:7px 14px;border-radius:var(--r-pill);background:var(--lime);color:var(--wine);font-size:.72rem;letter-spacing:.1em;font-weight:650;transform:rotate(3deg);box-shadow:0 10px 24px -10px rgba(0,0,0,.4)}
.price-card .together-feature{display:block;padding:6px 0 12px;margin-bottom:14px}
.price-card .together-feature:before{content:none}
.together-feature a{display:block;width:100%;border:1px solid rgba(185,163,170,.6);border-radius:var(--r-sm);padding:16px;transition:background .3s,border-color .3s,transform .4s var(--ease-spring)}
.together-feature a:hover{background:rgba(136,136,136,.08);transform:translateY(-2px)}
.featured .together-feature a{border-color:rgba(255,255,255,.2)}
.together-link-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}
.together-link-heading strong{font-size:1rem;font-weight:600}
.together-feature small{display:block;font-size:.875rem;margin-top:8px;text-decoration:underline;text-underline-offset:4px}
.together-badge{flex:none;display:inline-block;font-size:.72rem;line-height:1.5;border-radius:var(--r-pill);background:var(--lime);color:var(--wine-deep);padding:3px 10px;white-space:nowrap;font-weight:600}
.price-card .premium-consultation{gap:12px;margin-top:6px;margin-bottom:0}
.premium-consultation>div{min-width:0;flex:1}
.premium-consultation strong{display:block;font-size:1rem;font-weight:600;line-height:1.5;color:var(--wine)}
.premium-consultation span{display:block;font-size:.875rem;line-height:1.6;margin-top:5px;color:var(--muted)}
.price-card .premium-mutuelle{display:block;width:100%;margin:0 0 24px;padding:18px;border:1px solid #dce1bc;border-radius:var(--r-sm);background:#f3f5e4;color:#42472c}
.premium-mutuelle>strong{display:block;font-size:.9375rem;line-height:1.4;font-weight:650;margin-bottom:8px}
.premium-mutuelle p{margin:0;font-size:.875rem;line-height:1.65;color:#42472c}
.pricing-note{font-size:1rem;margin-top:34px;text-align:center}

/* Bandeau éditorial */
.editorial-banner{position:relative;height:clamp(440px,70vh,680px);overflow:hidden;margin:0 20px;border-radius:var(--r-xl);isolation:isolate;display:flex;align-items:center}
.editorial-media{position:absolute;inset:0;z-index:-2}
.editorial-media img{position:absolute;inset:-10% 0;width:100%;height:120%;object-position:center 45%}
.editorial-banner:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(38,9,22,.78),rgba(38,9,22,.2) 70%,transparent)}
.editorial-copy{position:relative;color:#fff;padding:0 8%}
.editorial-copy .eyebrow{color:#f1d1b9;margin-bottom:28px;font-size:.8125rem;letter-spacing:.16em}
.home-modern .editorial-copy h2{font-size:clamp(3.2rem,7vw,7rem);line-height:.95}
.editorial-copy h2 em{color:var(--lime)}
.editorial-copy>span{display:block;margin-top:30px;font-size:1.05rem;color:#ffeade}

/* FAQ */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:start}
.faq-intro{position:sticky;top:120px}
.faq-intro .eyebrow{margin-bottom:24px;font-size:.875rem;letter-spacing:.12em}
.faq-intro h2 em{color:var(--coral)}
.faq-intro>p:last-child{font-size:1rem;margin-top:26px}
.faq-list details{border-bottom:1px solid var(--line);transition:background .3s}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{padding:26px 0;font-size:1.125rem;font-weight:550;justify-content:space-between;gap:25px;color:var(--wine);letter-spacing:-.01em;transition:color .3s}
.faq-list summary:hover{color:var(--coral)}
.faq-list summary>span{position:relative;width:36px;height:36px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);transition:transform .6s var(--ease-spring),background .3s,border-color .3s}
.faq-list summary>span:before,.faq-list summary>span:after{content:'';position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;background:currentColor;transition:transform .5s var(--ease-out)}
.faq-list summary>span:after{transform:rotate(90deg)}
.faq-list details[open] summary>span{transform:rotate(180deg);background:var(--wine);border-color:var(--wine);color:var(--paper)}
.faq-list details[open] summary>span:after{transform:rotate(0)}
.faq-answer{padding:0 60px 26px 0}
.faq-answer p{font-size:1rem;line-height:1.7}
.faq-answer p+p{margin-top:14px}
.faq-list details[open] .faq-answer{animation:fade-up .6s var(--ease-out) both}

/* Appel final */
.final-cta{position:relative;overflow:hidden;margin:24px 20px;border-radius:var(--r-xl);background:var(--peach);text-align:center;padding:clamp(70px,10vw,140px) 24px;isolation:isolate}
.final-cta .final-star{display:block;position:absolute;z-index:-1;left:50%;top:50%;width:min(70vw,720px);height:min(70vw,720px);margin:0;color:rgba(255,255,255,.4);stroke-width:1.4;translate:-50% -50%;animation:rotate-slow 70s linear infinite;pointer-events:none}
.final-cta .eyebrow{margin-bottom:28px;font-size:.875rem;letter-spacing:.14em}
.home-modern .final-cta h2{font-size:clamp(2.8rem,6vw,6rem);line-height:1;color:var(--wine-deep)}
.final-cta h2 em{color:var(--coral)}
.final-cta .button{margin-top:40px;min-height:62px;padding:20px 38px;font-size:1.05rem}
.final-cta>span{display:block;font-size:.875rem;color:var(--muted);margin-top:16px}

/* Pied de page */
.site-footer{padding:56px max(6.2%,24px) calc(26px + var(--safe-bottom));max-width:1680px;margin:auto}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:30px}
.footer-top>p{font-size:.95rem;color:var(--wine)}
.footer-top>p>span{font-size:.8rem;color:var(--muted)}
.footer-signature{font-family:var(--serif);font-size:clamp(3.4rem,11.5vw,12rem);line-height:.95;letter-spacing:-.05em;color:var(--wine);white-space:nowrap;margin:10px 0 34px;opacity:.95}
.footer-signature em{color:var(--coral)}
.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:24px;font-size:.8rem;color:var(--muted)}
.footer-bottom>div{display:flex;flex-wrap:wrap;gap:22px}
.footer-bottom a,.footer-bottom button{padding:0;background:none;font-size:.8rem;color:inherit;transition:color .25s}
.footer-bottom a:hover,.footer-bottom button:hover{color:var(--coral)}

/* CTA mobile flottant */
.mobile-cta{display:none}

/* Curseur (souris uniquement) */
.cursor{display:none}
@media(hover:hover) and (pointer:fine){
  .cursor-on .cursor{display:block;position:fixed;left:0;top:0;z-index:999;pointer-events:none;mix-blend-mode:normal}
  .cursor span{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--coral);transition:width .35s var(--ease-out),height .35s var(--ease-out),margin .35s var(--ease-out),background .35s,opacity .3s}
  .cursor.is-link span{width:54px;height:54px;margin:-27px 0 0 -27px;background:rgba(201,72,50,.14);border:1px solid rgba(201,72,50,.5)}
  .cursor.is-dark span{background:var(--lime)}
  .cursor.is-dark.is-link span{background:rgba(224,229,168,.16);border-color:rgba(224,229,168,.6)}
  .cursor.is-hidden span{opacity:0}
}
.motion-paused .cursor{display:none!important}

/* ---------- Réactivité ---------- */
@media(min-width:1700px){.hero{max-width:1660px;margin-left:auto;margin-right:auto}.editorial-banner,.final-cta{max-width:1660px;margin-left:auto;margin-right:auto}.journey{max-width:1660px;margin:24px auto}}
@media(max-width:1100px){
  .home-header .brand-logo{width:184px}
  .desktop-nav a{padding:9px 13px}
  .header-actions{gap:14px}
  .hero{min-height:640px}
  .hero-visual{min-height:560px}
  .hero-stamp{width:110px;height:110px;left:-24px}
  .together{gap:5%}
  .price-card{padding:32px 22px 24px}
  .faq-answer{padding-right:20px}
}
@media(max-width:900px){
  .desktop-nav,.header-actions>.account-link{display:none}
  .menu-toggle{display:inline-flex}
  .hero{grid-template-columns:1fr;margin:0 12px;padding:12px;border-radius:var(--r-lg);min-height:0}
  .hero-copy{padding:40px 18px 28px}
  .hero-visual{min-height:0;height:min(118vw,620px)}
  .hero-stamp{left:auto;right:16px;top:-24px;width:104px;height:104px}
  .hero-top-label{bottom:auto;top:30%;right:auto;left:-4px}
  .approach{grid-template-columns:1fr;gap:28px}
  .approach-heading{position:static}
  .focus-grid{grid-template-columns:1fr;gap:42px}
  .focus-photo{min-height:0;height:min(110vw,560px)}
  .together{grid-template-columns:1fr;gap:42px}
  .journey{margin:12px}
  .journey-grid{grid-template-columns:1fr;gap:0}
  .journey-grid article{display:grid;grid-template-columns:84px 1fr;gap:0 20px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .journey-grid article:last-child{border:0}
  .journey-number{font-size:3.6rem;grid-row:span 2;margin:0}
  .journey-number>span{display:none}
  .journey-rail{display:none}
  .pricing-grid{grid-template-columns:1fr;gap:30px;max-width:560px;margin:0 auto}
  .featured{translate:none}
  .plan-intro{min-height:0}
  .editorial-banner,.final-cta{margin-left:12px;margin-right:12px}
  .faq{grid-template-columns:1fr;gap:36px}
  .faq-intro{position:static}
}
@media(max-width:760px){
  .home-header{height:74px;padding:0 18px}
  .home-header.is-scrolled{height:64px}
  .home-header .brand-logo{width:clamp(124px,36vw,176px)}
  .header-actions{gap:10px}
  .header-actions .button{min-height:42px;padding:10px 14px;font-size:.875rem}
  .home-header .menu-toggle{width:42px;height:42px}
  .home-modern .section-pad{padding:72px 22px}
  .home-modern h2{font-size:clamp(2.6rem,11vw,3.4rem)}
  .hero{gap:16px}
  .hero-copy{padding:28px 16px 20px}
  .home-modern .hero .eyebrow{font-size:clamp(.65rem,2.7vw,.75rem);letter-spacing:.1em}
  .hero h1{font-size:clamp(2.35rem,10.5vw,3.4rem);line-height:1.04;margin:18px 0 16px}
  .hero h1 em{font-size:.76em}
  .hero-description{font-size:.95rem;line-height:1.6}
  .hero-actions{width:100%;flex-direction:column;align-items:stretch;gap:10px;margin-top:20px}
  .hero-actions .button{width:100%;min-height:50px;padding:14px 22px;font-size:.9375rem}
  .hero-actions .time-note{align-self:center;max-width:100%;font-size:.6875rem;line-height:1.45;padding-left:22px}
  .hero-actions .time-note br{display:none}
  .hero-actions .time-note>span:last-child:before{content:'·';margin:0 6px}
  .hero-actions .clock{top:1px}
  .hero-together-link{font-size:.8125rem;line-height:1.5;margin-top:16px}
  .hero-signature{gap:10px;margin-top:16px;padding-top:14px;font-size:.8125rem}
  .hero-visual{height:clamp(280px,88vw,420px)}
  .hero-stamp{width:88px;height:88px;top:-18px;right:12px}
  .hero-stamp b{font-size:28px}
  .photo-caption{left:14px;right:14px;bottom:14px;padding:16px 18px}
  .photo-caption>span:first-child{font-size:23px}
  .home-promises{padding:18px 0}
  .marquee-group{gap:28px;padding-right:28px}
  .section-heading.wide{display:block}
  .section-heading.wide>p{margin-top:22px;font-size:.95rem}
  .section-heading.wide>.button{margin-top:28px}
  .principle{gap:18px;padding:24px 0}
  .detail-body{padding:0 0 22px 52px}
  .focus-item h3{font-size:1.65rem}
  .photo-overlay{padding:28px}
  .together-intro h2{font-size:clamp(3.6rem,17vw,5rem)}
  .together:before{width:90vw;height:90vw;right:-30vw;top:-20vw}
  .journey-grid article{grid-template-columns:62px 1fr}
  .journey-number{font-size:2.9rem}
  .privacy-line{align-items:flex-start;margin-top:30px}
  .price-card{padding:32px 24px 26px}
  /* Une seule formule ouverte, les deux autres restent dans la pile. */
  .pricing-deck-controls{max-width:560px;margin:0 auto 8px}
  .pricing-deck-choices{display:grid;grid-template-columns:1fr 1.65fr 1fr;gap:3px;padding:4px;border:1px solid var(--line-soft);border-radius:var(--r-pill);background:var(--peach-soft)}
  .pricing-deck-choice{min-width:0;min-height:44px;padding:8px 4px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--wine);font:600 clamp(.72rem,3vw,.875rem)/1.25 var(--sans);transition:background .25s,color .25s,box-shadow .25s}
  .pricing-deck-choice[aria-pressed="true"]{background:var(--wine);color:var(--paper);box-shadow:var(--shadow-sm)}
  .pricing-deck-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px 4px}
  .pricing-deck-arrow{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--wine);transition:background .25s,transform .25s}
  .pricing-deck-arrow:before{content:'';width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:translateX(-2px) rotate(45deg)}
  .pricing-deck-arrow.is-previous:before{transform:translateX(2px) rotate(-135deg)}
  .pricing-deck-arrow:active{background:var(--peach);transform:scale(.94)}
  .pricing-deck-caption{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
  .pricing-deck-progress{color:var(--wine);font-size:.75rem;font-weight:650;letter-spacing:.14em;font-variant-numeric:tabular-nums}
  .pricing-deck-hint{color:var(--muted);font-size:.75rem}
  .pricing-deck-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .pricing-grid.is-deck{position:relative;isolation:isolate;display:block;height:calc(var(--deck-height) + 58px);overflow:hidden;touch-action:pan-y pinch-zoom;transition:height .42s var(--ease-out)}
  .pricing-deck-card{position:absolute;top:28px;left:6px;right:6px;z-index:3;transform-origin:50% 0;transform:translate3d(0,0,0);transition:transform .42s var(--ease-out);will-change:transform}
  .pricing-grid.is-deck .price-card{height:auto;min-width:0;padding:30px 20px 24px;opacity:1!important;transform:none!important;translate:none;transition:none;box-shadow:0 12px 24px -18px rgba(66,27,42,.32)}
  .pricing-grid.is-deck .price-card .eyebrow{font-size:.6875rem;letter-spacing:.08em;margin-bottom:14px}
  .pricing-grid.is-deck .price-card h3{font-size:clamp(1.55rem,7.2vw,2rem);line-height:1.2;overflow-wrap:normal}
  .pricing-grid.is-deck .plan-intro{font-size:.9375rem;line-height:1.6;margin-top:12px}
  .pricing-grid.is-deck .price-card ul{font-size:.875rem;line-height:1.6;padding:20px 0 6px;margin:18px 0}
  .pricing-grid.is-deck .price-card li{gap:10px;margin-bottom:10px}
  .pricing-grid.is-deck .price-card .button{min-height:50px;width:100%;padding:14px 12px;font-size:.875rem}
  .pricing-grid.is-deck .plan-tag{right:16px;padding:6px 12px;font-size:.625rem;letter-spacing:.08em}
  .pricing-grid.is-deck .together-feature a{padding:12px}
  .pricing-grid.is-deck .together-link-heading strong,.pricing-grid.is-deck .premium-consultation strong{font-size:.9375rem}
  .pricing-grid.is-deck .together-feature small,.pricing-grid.is-deck .premium-consultation span{font-size:.8125rem}
  .pricing-grid.is-deck .premium-mutuelle{padding:14px;margin-bottom:20px}
  .pricing-grid.is-deck .premium-mutuelle p{font-size:.8125rem}
  .pricing-deck-card[data-depth="1"]{z-index:2;height:var(--deck-height);transform:translate3d(0,-12px,0) scale(.96) rotate(1.3deg)}
  .pricing-deck-card[data-depth="2"]{z-index:1;height:var(--deck-height);transform:translate3d(0,-23px,0) scale(.91) rotate(-1.5deg)}
  .pricing-deck-card:not([data-depth="0"]) .price-card{height:100%;overflow:hidden;box-shadow:none}
  .pricing-deck-card:not([data-depth="0"]) .price-card>*{visibility:hidden}
  .pricing-deck-card[data-exit]{z-index:4;height:auto;pointer-events:none;animation:pricing-deck-next .42s var(--ease-out) both;transition:none}
  .pricing-deck-card[data-exit="previous"]{animation-name:pricing-deck-previous}
  .pricing-grid.is-deck .pricing-deck-card[data-exit] .price-card{height:auto;overflow:visible}
  .pricing-deck-card[data-exit] .price-card>*{visibility:visible}
  .pricing-grid.is-dragging .pricing-deck-card[data-depth="0"]{transform:translate3d(var(--drag-x,0px),0,0) rotate(var(--drag-rotation,0deg));transition:none}
  .pricing-grid.is-deck+.pricing-note{margin-top:12px;font-size:.875rem;line-height:1.6}
  .editorial-banner{height:500px;align-items:flex-end;padding-bottom:48px}
  .editorial-banner:after{background:linear-gradient(0deg,rgba(38,9,22,.85),rgba(38,9,22,.25) 75%)}
  .editorial-copy{padding:0 26px}
  .faq-list summary{font-size:1.02rem;padding:22px 0}
  .faq-answer{padding-right:0}
  .final-cta .button{width:100%;max-width:360px}
  .footer-top{display:grid;grid-template-columns:1fr;gap:20px;padding-bottom:20px}
  .footer-top>.text-link{justify-self:start}
  .footer-bottom{flex-direction:column;gap:16px;padding-bottom:84px}
  .footer-signature{font-size:15vw;white-space:normal}
  .mobile-cta{display:inline-flex;position:fixed;left:16px;right:16px;bottom:calc(14px + var(--safe-bottom));z-index:50;min-height:56px;box-shadow:0 18px 40px -12px rgba(43,15,25,.55);transform:translateY(160%);transition:transform .6s var(--ease-out)}
  .mobile-cta.is-visible{transform:none}
}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}
@keyframes pricing-deck-next{from{transform:translate3d(var(--drag-x,0px),0,0) rotate(var(--drag-rotation,0deg));opacity:1}to{transform:translate3d(-108%,16px,0) rotate(-8deg);opacity:0}}
@keyframes pricing-deck-previous{from{transform:translate3d(var(--drag-x,0px),0,0) rotate(var(--drag-rotation,0deg));opacity:1}to{transform:translate3d(108%,16px,0) rotate(8deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.pricing-grid.is-deck,.pricing-deck-card,.pricing-deck-choice,.pricing-deck-arrow{transition:none!important;animation:none!important}}
.motion-paused .pricing-grid.is-deck,.motion-paused .pricing-deck-card,.motion-paused .pricing-deck-choice,.motion-paused .pricing-deck-arrow{transition:none!important;animation:none!important}
.motion-paused .hero-arch,.motion-paused .hero-arch img,.motion-paused .hero h1 .hl>*,.motion-paused .hero-stamp,.motion-paused .hero-top-label,.motion-paused .photo-caption{animation:none!important;clip-path:none!important}
.motion-paused .focus-photo-frame{clip-path:none!important}.motion-paused .photo-overlay{opacity:1!important}
.motion-paused .together-details li{opacity:1!important;transform:none!important}

/* ---------- Votre diététicienne : une présentation sobre, entre l’approche et les accompagnements ---------- */
.dietitian{padding:clamp(24px,4vw,56px) max(6.2%,24px) clamp(48px,7vw,96px);max-width:1680px;margin:auto}
.dietitian-inner{position:relative;display:grid;grid-template-columns:minmax(220px,330px) minmax(0,1fr);grid-template-areas:"portrait head" "portrait copy";column-gap:clamp(40px,6vw,96px);align-items:end;max-width:1120px;margin:0 auto;padding:clamp(28px,4vw,52px);border-radius:var(--r-xl);background:linear-gradient(135deg,#fffdf9 0%,#fbf3ec 100%);border:1px solid #efe3db;box-shadow:0 30px 60px -48px rgba(66,27,42,.45)}
.dietitian-portrait{grid-area:portrait;position:relative;margin:0;align-self:center}
.dietitian-arch{position:relative;display:block;aspect-ratio:4/5;border-radius:999px 999px 26px 26px;overflow:hidden;background:var(--peach);box-shadow:0 26px 50px -30px rgba(66,27,42,.55)}
.dietitian-arch img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%;transform:scale(1.04);transition:transform 1.6s var(--ease-out)}
.dietitian-portrait.in-view .dietitian-arch img{transform:none}
.dietitian-portrait:before{content:'';position:absolute;inset:-12px -12px 14px 14px;border:1px solid #e7cfc4;border-radius:999px 999px 30px 30px;z-index:-1;transform:translate(10px,10px)}
.dietitian-inner{isolation:isolate}
.dietitian-seal{position:absolute;left:-14px;bottom:28px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--lime);color:var(--wine);font-size:22px;box-shadow:0 12px 24px -14px rgba(66,27,42,.6);animation:seal-turn 18s linear infinite}
@keyframes seal-turn{to{transform:rotate(360deg)}}
.dietitian-head{grid-area:head;align-self:end}
.dietitian-head .eyebrow{font-size:.8125rem;letter-spacing:.14em;color:var(--coral)}
.home-modern .dietitian h2{margin:14px 0 10px;font-size:clamp(2.6rem,4.4vw,4.2rem);line-height:.98;color:var(--wine)}
.dietitian h2 em{color:var(--coral)}
.dietitian-role{font-size:.95rem;font-weight:600;letter-spacing:-.005em;color:var(--wine)}
.dietitian-role span{margin:0 6px;color:var(--coral)}
.dietitian-copy{grid-area:copy;align-self:start}
.dietitian-text{max-width:56ch;margin-top:22px;font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.65;color:var(--ink)}
.dietitian-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0 0;padding:20px 0 0;list-style:none;border-top:1px solid var(--line)}
.dietitian-facts li{display:grid;align-content:start;gap:3px;padding-left:14px;border-left:1px solid var(--line)}
.dietitian-facts li:first-child{padding-left:0;border-left:0}
.dietitian-facts strong{font-size:.95rem;font-weight:650;letter-spacing:-.01em;color:var(--wine)}
.dietitian-facts span{font-size:.8125rem;color:var(--muted)}
.dietitian-sign{margin-top:22px;font-family:var(--serif);font-style:italic;font-size:2.4rem;line-height:1;letter-spacing:-.02em;color:var(--wine-soft);text-align:right}
@media(max-width:900px){.dietitian-inner{grid-template-columns:200px minmax(0,1fr);column-gap:32px}}
@media(max-width:760px){
  .dietitian{padding:8px 12px 56px}
  .dietitian-inner{grid-template-columns:118px minmax(0,1fr);grid-template-areas:"portrait head" "copy copy";column-gap:20px;align-items:center;padding:22px 18px 20px;border-radius:var(--r-lg)}
  .dietitian-portrait{align-self:start}
  .dietitian-portrait:before{inset:-7px -7px 9px 9px;transform:translate(6px,6px)}
  .dietitian-seal{left:-8px;bottom:10px;width:38px;height:38px;font-size:15px}
  .dietitian-head{align-self:center}
  .dietitian-head .eyebrow{font-size:.6875rem;letter-spacing:.14em}
  .home-modern .dietitian h2{margin:8px 0 8px;font-size:clamp(2rem,9.4vw,2.5rem)}
  .dietitian h2 em{display:block}
  .dietitian-role{font-size:.8125rem;line-height:1.45}
  .dietitian-role span{display:block;height:0;overflow:hidden;color:transparent}
  .dietitian-text{margin-top:18px;font-size:.9375rem;line-height:1.6}
  .dietitian-facts{gap:10px;margin-top:18px;padding-top:16px}
  .dietitian-facts li{padding-left:10px}
  .dietitian-facts strong{font-size:.8125rem}
  .dietitian-facts span{font-size:.75rem;line-height:1.35}
  .dietitian-sign{margin-top:12px;font-size:1.9rem}
}
@media(prefers-reduced-motion:reduce){.dietitian-seal{animation:none}}
.motion-paused .dietitian-seal{animation:none}
.dietitian-contact{margin-top:24px;min-height:44px;width:100%;justify-content:center}
.dietitian-portrait:before{bottom:90px}
.dietitian-seal{bottom:110px}
.plan-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:18px}
.plan-price strong{font-size:2.6rem;line-height:1.1;letter-spacing:-.04em}
.plan-price span{font-size:.875rem}
.contact-dialog form{display:grid;gap:16px}
.contact-dialog label{display:grid;gap:6px;font-size:.9rem}
.contact-dialog input:not([type=checkbox]),.contact-dialog textarea{width:100%;min-height:44px;padding:12px;border:1px solid var(--line-soft);border-radius:12px;background:var(--paper);color:var(--wine);font:inherit}
.contact-dialog textarea{resize:vertical}
.contact-dialog .contact-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.contact-consent input{margin-top:4px;flex-shrink:0}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact-status:empty{display:none}
.contact-status{padding:12px;border-radius:10px;background:var(--lime);scroll-margin-top:20px}
@media(max-width:760px){.dietitian-contact{padding:10px;font-size:.85rem;margin-top:16px}.dietitian-seal{bottom:80px}.dietitian-portrait:before{bottom:65px}.plan-price strong{font-size:2.3rem}}

/* ---------- Téléphone : même dessin, lecture plus resserrée et plus fluide ---------- */
@media(max-width:760px){
  .home-modern .section-pad{padding:56px 20px}
  .home-modern h2{font-size:clamp(2.35rem,10vw,3rem)}
  /* Accueil */
  .hero{margin:0 10px;padding:10px}
  .hero-copy{padding:22px 12px 14px}
  .hero h1{margin:14px 0 12px}
  .hero-actions{margin-top:16px}
  .hero-together-link{margin-top:14px}
  .hero-signature{margin-top:14px;padding-top:12px}
  .hero-visual{height:clamp(260px,76vw,380px)}
  /* L’approche */
  .approach{gap:16px}
  .large-copy{margin:2px 0 14px;font-size:1.02rem;line-height:1.55}
  .principle{gap:14px;padding:16px 0}
  .principle>span{min-width:28px;font-size:1.3rem}
  .principle h3{margin-bottom:4px;font-size:1.06rem}
  .principle p{font-size:.9rem;line-height:1.55}
  /* À chaque vie, son équilibre */
  .section-heading.wide>p{margin-top:14px;font-size:.92rem}
  .focus-grid{gap:18px}
  .focus-photo{height:60vw;min-height:0}
  .photo-overlay{padding:18px 22px}
  .photo-overlay em{font-size:1.85rem}
  .focus-item summary{padding:15px 0;gap:14px}
  .focus-item h3{font-size:1.38rem}
  .focus-item .plus{width:36px;height:36px}
  .detail-body{padding:0 0 18px 44px;font-size:.92rem}
  .detail-body p{margin-bottom:12px}
  /* À table ensemble : les trois étapes se parcourent du doigt */
  .together{gap:26px}
  .together>*{min-width:0}
  .together-intro h2{margin:12px 0 14px;font-size:clamp(3rem,13.5vw,3.8rem)}
  .together-lead{margin-bottom:10px;font-size:1.08rem}
  .together-intro>p:not(.eyebrow){font-size:.92rem}
  .together-intro .button{margin-top:18px}
  .together-details{padding:22px 0 20px;border-radius:var(--r-lg)}
  .together-heading{padding:0 20px 16px}
  .together-heading>span{margin-bottom:8px;font-size:.6875rem}
  .together-heading strong{font-size:1.5rem}
  .together-details ol{display:flex;gap:10px;margin:0;padding:16px 20px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;scrollbar-width:none;overscroll-behavior-x:contain}
  .together-details ol::-webkit-scrollbar{display:none}
  .together-details li{flex:0 0 80%;flex-direction:column;gap:12px;padding:18px 18px 20px;border:1px solid var(--line-soft);border-radius:var(--r-md);background:#fff;scroll-snap-align:start;box-shadow:0 14px 26px -22px rgba(52,54,27,.6)}
  .together-details li:last-child{margin-right:20px}
  .together-details h3{margin-bottom:6px;font-size:1rem}
  .together-details p{font-size:.875rem;line-height:1.5}
  .together-privacy{margin:14px 20px 0;font-size:.8125rem;line-height:1.55}
  .together-details .together-status{margin:12px 20px 0;font-size:.8125rem}
  /* Le premier pas */
  .journey{margin:10px}
  .journey-grid article{grid-template-columns:50px 1fr;padding:18px 0}
  .journey-number{font-size:2.4rem}
  .journey h3{margin-bottom:6px;font-size:1.06rem}
  .journey p{font-size:.9rem;line-height:1.6}
  .section-heading.wide>.button{margin-top:20px}
  .privacy-line{margin-top:14px;padding-top:16px;font-size:.8125rem}
  /* Les formules : onglets, pile de cartes, puis navigation sous la carte */
  #formules.pricing{display:flex;flex-direction:column}
  #formules .pricing-deck-controls{display:contents}
  #formules .section-heading{order:0}
  #formules .pricing-deck-choices,#formules .pricing-grid,#formules .pricing-deck-toolbar{width:100%;max-width:560px;margin-left:auto;margin-right:auto}
  #formules .pricing-deck-choices{order:1;margin-bottom:6px}
  #formules .pricing-grid{order:2}
  #formules .pricing-deck-toolbar{order:3}
  #formules .pricing-note{order:4}
  .pricing-deck-choices{position:relative;isolation:isolate;grid-template-columns:1fr 1.5fr 1fr;background:#fff;border-color:var(--line-soft);box-shadow:0 10px 24px -20px rgba(66,27,42,.5)}
  .pricing-deck-choices:before{content:'';position:absolute;z-index:-1;top:4px;bottom:4px;left:0;width:var(--pill-w,0);border-radius:var(--r-pill);background:var(--wine);box-shadow:0 8px 18px -10px rgba(43,15,25,.7);transform:translateX(var(--pill-x,0));transition:transform .55s var(--ease-out),width .55s var(--ease-out)}
  .pricing-deck-choice{transition:color .4s}
  .pricing-deck-choice[aria-pressed="true"]{background:transparent;box-shadow:none;color:var(--paper)}
  .pricing-grid.is-deck{height:calc(var(--deck-height) + 46px);margin-top:4px}
  .pricing-deck-card{top:14px;left:4px;right:4px;transform-origin:50% 100%}
  .pricing-deck-card[data-depth="1"]{transform:translate3d(0,13px,0) scale(.95)}
  .pricing-deck-card[data-depth="2"]{transform:translate3d(0,24px,0) scale(.9)}
  .pricing-grid.is-deck .price-card{padding:28px 22px 22px;border-radius:26px}
  .pricing-grid.is-deck .price-card:not(.featured){border-color:#ead9d5}
  .pricing-grid.is-deck .price-card.premium{background:linear-gradient(165deg,#fffaf6 0%,#f8e9de 100%);border-color:#ecd4c6}
  .pricing-grid.is-deck .price-card h3{font-size:clamp(1.7rem,8vw,2.1rem);letter-spacing:-.045em}
  .pricing-grid.is-deck .price-card ul{margin:16px 0;padding:16px 0 4px}
  .pricing-grid.is-deck .price-card li{margin-bottom:9px}
  .pricing-deck-toolbar{padding:6px 2px 0}
  .pricing-deck-arrow{width:40px;height:40px;border-color:var(--line-soft);background:#fff}
  .pricing-deck-caption{gap:6px}
  .pricing-deck-progress{display:none}
  .pricing-deck-dots{display:flex;gap:6px}
  .pricing-deck-dots i{width:6px;height:6px;border-radius:6px;background:#dccbc6;transition:width .5s var(--ease-out),background .4s}
  .pricing-deck-dots i.is-active{width:22px;background:var(--wine)}
  .pricing-grid.is-deck+.pricing-note,#formules .pricing-note{margin-top:14px}
  /* Bandeau, questions, dernier appel, pied de page */
  .editorial-banner{height:380px;margin:0 10px;padding-bottom:34px}
  .home-modern .editorial-copy h2{font-size:clamp(2.6rem,11vw,3.2rem)}
  .editorial-copy .eyebrow{margin-bottom:14px}
  .editorial-copy>span{margin-top:14px}
  .faq{gap:20px}
  .faq-intro>p:last-child{margin-top:12px}
  .faq-list summary{padding:17px 0;gap:16px;font-size:.98rem}
  .faq-list summary>span{width:32px;height:32px}
  .faq-answer{padding-bottom:18px}
  .faq-answer p{font-size:.92rem;line-height:1.6}
  .final-cta{margin:14px 10px;padding:56px 20px}
  .final-cta .eyebrow{margin-bottom:16px}
  .final-cta .button{margin-top:26px;min-height:56px}
  .site-footer{padding:40px 22px calc(20px + var(--safe-bottom))}
  .footer-signature{font-size:12.5vw}
  .footer-bottom{gap:12px;padding-bottom:12px}
  .footer-bottom>div{gap:10px 18px}
}
@media(prefers-reduced-motion:reduce){.pricing-deck-choices:before,.pricing-deck-dots i{transition:none}}
.motion-paused .pricing-deck-choices:before,.motion-paused .pricing-deck-dots i{transition:none}

/* ---------- Coins arrondis nets sur iPhone ----------
   Safari ne découpe pas toujours selon l’arrondi les calques animés (halos flous, parallaxe, étoile qui tourne) :
   ils débordaient en angles droits. Un masque oblige le découpage à suivre l’arrondi ; le fond reste visible dans les coins. */
.hero,.journey,.editorial-banner,.final-cta,.hero-arch,.focus-photo-frame,.dietitian-arch{-webkit-mask-image:-webkit-radial-gradient(white,black)}
.hero-atmosphere{border-radius:inherit}

/* ---------- Tampon « Le goût d’être bien » plus discret ---------- */
.hero-stamp{width:104px;height:104px;left:-26px;box-shadow:0 12px 28px -14px rgba(0,0,0,.45)}
.hero-stamp b{font-size:26px}
@media(max-width:1100px){.hero-stamp{width:92px;height:92px;left:-20px}.hero-stamp b{font-size:23px}}
@media(max-width:900px){.hero-stamp{left:auto;right:14px;top:-16px;width:80px;height:80px}.hero-stamp b{font-size:20px}}
@media(max-width:760px){.hero-stamp{width:68px;height:68px;top:-12px;right:12px;box-shadow:0 10px 20px -12px rgba(0,0,0,.5)}.hero-stamp b{font-size:17px}}
