/* Navigation flottante et rythme visuel SOINVIA. */
:root{--surface:#f5f7f3;--nav-height:72px;--round:28px}
html{scroll-padding-top:118px;scrollbar-gutter:stable}
body{background:#fff}
main{padding-top:112px}
[hidden]{display:none!important}
.header{position:fixed;top:20px;left:20px;right:20px;border:0;background:transparent;z-index:50;pointer-events:none}
.nav{pointer-events:auto;position:relative;width:100%;max-width:1392px;margin:auto;height:var(--nav-height);padding:0 16px 0 24px;gap:30px;border:1px solid #dce5dc;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 8px 30px #163a2410;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.nav .wordmark{width:151px;height:29px;mix-blend-mode:normal}
.nav .wordmark img{width:164px;left:-6px;top:-19px}
.navlinks{display:flex;align-items:center;justify-content:center;gap:9px;margin-left:auto;margin-right:auto;position:static;padding:0;background:transparent;box-shadow:none;border:0}
.navlinks>a,.nav-group>summary{padding:12px 15px;font-size:.9375rem;line-height:1.4;letter-spacing:-.015em;font-weight:500;text-decoration:none;border-radius:99px;border:0;color:var(--ink);white-space:nowrap}
.navlinks>a:hover,.navlinks>a[aria-current],.nav-group>summary:hover,.nav-group[open]>summary{background:#edf2eb;text-decoration:none}
.nav-group{position:relative;border:0}
.nav-group>summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary .chevron{display:block;width:7px;height:7px;border-right:1.5px solid;border-bottom:1.5px solid;transform:translateY(-2px) rotate(45deg);transition:transform .18s}
.nav-group[open]>summary .chevron{transform:translateY(2px) rotate(225deg)}
.nav-dropdown{position:absolute;top:calc(100% + 23px);left:50%;transform:translateX(-50%);background:#fff;border:1px solid #e5ebe2;border-radius:26px;box-shadow:0 18px 50px #0b32221c;padding:24px;min-width:280px}
.discover-dropdown{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;width:570px}
.nav-label{font-size:.8125rem;line-height:1.4;display:block;color:#637268;margin-bottom:13px}
.nav-feature-list{border-right:1px solid #e4e9e1;padding-right:20px}
.nav-feature{display:flex;align-items:center;gap:13px;padding:10px 7px;text-decoration:none;border-radius:14px}
.nav-feature:hover{background:var(--surface)}
.nav-feature img{width:62px;height:62px;object-fit:cover;border-radius:12px;flex-shrink:0}
.nav-feature strong{display:block;font-size:.9375rem;line-height:1.4;letter-spacing:-.02em}
.nav-feature small{display:block;font-size:.75rem;line-height:1.5;color:var(--muted);margin-top:3px}
.nav-secondary a,.resources-dropdown>a{display:block;padding:10px 7px;font-size:.875rem;line-height:1.5;text-decoration:none;border-radius:8px}
.nav-secondary a:hover,.resources-dropdown>a:hover{background:var(--surface)}
.nav-dropdown [aria-current]{background:#edf2e7}
.nav>.nav-contact{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 19px;border:1px solid #123e2d;border-radius:999px;text-decoration:none;font-size:.875rem;line-height:1.4;font-weight:700;white-space:nowrap;transition:background .2s,color .2s}
.nav>.nav-contact:hover{background:var(--forest);color:#fff}
.contact-mobile,.navlinks>.mobile-contact,.menu-toggle{display:none}
.nav-scrim{position:fixed;inset:0;background:#10271b33;backdrop-filter:blur(3px);z-index:40}
.button{border-radius:999px;padding:17px 24px}
.button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #143a2412}
.home-hero{width:calc(100% - 40px);max-width:1536px;margin:0 auto;border-radius:32px;overflow:hidden;grid-template-columns:1fr 1fr;min-height:660px;background:#eef3e9;color:var(--forest)}
.hero-copy{padding:54px clamp(30px,4.5vw,76px)}
.hero-copy h1{font-size:clamp(4rem,6.55vw,6.35rem);line-height:1.03;letter-spacing:-.06em}
.hero-copy h1 em{color:#4d7442}
.hero-copy>.eyebrow{display:inline-block;padding:9px 14px;background:#e0edcf;border-radius:99px;color:var(--forest);font-size:.75rem;margin-bottom:27px;letter-spacing:.075em}
.hero-copy>p:not(.eyebrow){color:#3d5549;font-size:1.0625rem}
.hero-copy .button.lime{background:var(--forest);color:#fff;border-color:var(--forest)}
.hero-copy .button.lime:hover{background:#12543f}
.hero-copy .quiet-link{color:var(--forest)}
.hero-portrait{margin:12px 12px 12px 0;border-radius:24px;min-height:636px}
.hero-portrait>img{object-position:50% 38%;transition:transform .6s}
.hero-portrait:hover>img{transform:scale(1.015)}
.portrait-caption{border-radius:999px;bottom:23px;left:23px;padding:12px 19px;background:rgba(255,255,255,.95)}
.promise-strip{background:transparent;border:0;margin-top:12px}
.promise-strip .wrap{min-height:74px;border-bottom:1px solid #e2e8dd}
.section{padding:88px 0}
.section-heading{margin-bottom:34px}
.card-image{height:340px;border-radius:24px}
.card-tag{border-radius:999px;padding:8px 13px;backdrop-filter:blur(8px);background:rgba(255,255,255,.96)}
.image-cards{gap:28px}
.card-caption{padding:21px 2px}
.image-card .circle{border-color:#dbe5d4;background:#f1f5ec}
.image-card:hover .circle{background:#daeac7}
.feature-visual{border-radius:var(--round);height:650px}
.feature-visual>img{object-position:37% center}
.image-label{border-radius:999px;background:#fff}
.treatment-feature figure{border-radius:var(--round)}
.treatment-feature img{height:470px}
.page-hero{width:calc(100% - 40px);max-width:1536px;margin:0 auto;border-radius:var(--round);padding:65px 0;background:var(--surface);overflow:hidden}
.page-hero.ivory{background:var(--surface)}
.with-photo .page-hero-grid{width:100%;gap:35px;grid-template-columns:1.05fr 1fr;min-height:550px}
.with-photo .page-intro{padding:50px 20px 50px clamp(32px,4.5vw,76px)}
.with-photo .page-image{min-height:526px;margin:12px 12px 12px 0;border-radius:20px}
.page-image img[src*="cuisine"]{object-position:35% center}
.page-hero:not(.with-photo) .page-intro{max-width:1050px}
.form,.price-card,.contact-address{border-radius:24px}
.field input,.field select{border-radius:10px}
.credits-grid img{border-radius:24px}
.faq-list{border-top:0}
summary:focus-visible,.nav a:focus-visible,.menu-toggle:focus-visible{outline-offset:4px}
.faq-list summary{padding-inline:14px;border-radius:12px}
.faq-list summary:hover{background:#f5f7f1}
.faq-answer{padding-left:14px}
.footer .wordmark{background:transparent;mix-blend-mode:normal}
.endcap{gap:60px}
.skip{position:fixed;z-index:100}
@media(min-width:981px){.nav-group[open]>.nav-dropdown{animation:menu-in .16s ease-out}}
@keyframes menu-in{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}
@media(max-width:1200px) and (min-width:981px){.nav{gap:18px}.navlinks{gap:2px}.navlinks>a,.nav-group>summary{padding-inline:12px}.nav>.nav-contact{padding-inline:15px}.hero-actions{gap:18px}.hero-copy h1{font-size:4.75rem}.hero-portrait{min-height:610px}.home-hero{min-height:634px}}
@media(max-width:980px){
 .header{top:14px;left:16px;right:16px}.nav{height:66px;padding:0 13px;gap:14px;justify-content:space-between}.nav>.wordmark{position:absolute;left:50%;transform:translateX(-50%);width:139px;height:27px}.nav>.wordmark img{width:151px;left:-6px;top:-18px}
 .menu-toggle{display:grid;place-items:center;border:0;background:transparent;border-radius:50%;width:44px;height:44px;padding:0;z-index:1}.menu-toggle:hover{background:#edf2e8}.menu-lines{width:18px;height:12px;position:relative;border-top:1.5px solid;border-bottom:1.5px solid}.menu-lines:after{content:'';position:absolute;left:0;right:0;top:4px;border-top:1.5px solid}.menu-toggle[aria-expanded="true"] .menu-lines{height:0;border-bottom:0;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-lines:after{top:-1.5px;transform:rotate(90deg)}
 .nav>.nav-contact{font-size:.875rem;min-height:42px;padding:9px 15px;margin-left:auto}.contact-desktop{display:none}.contact-mobile{display:inline}
 .navlinks{display:none;position:absolute;left:0;right:0;top:calc(100% + 12px);background:#fff;border:1px solid #e1e7dc;border-radius:24px;box-shadow:0 20px 45px #1430241a;padding:14px 20px 20px;margin:0;max-height:calc(100dvh - 111px);overflow-y:auto;overscroll-behavior:contain;align-items:stretch;gap:0}
 .nav-is-open .navlinks{display:flex;flex-direction:column}.navlinks>a,.nav-group>summary{padding:17px 5px;font-size:1.05rem;font-weight:700;border-radius:0;border-bottom:1px solid #e3e9df;white-space:normal;min-height:54px}.nav-group>summary{justify-content:space-between}.nav-group>summary .chevron{margin-right:6px}.navlinks>a:hover,.navlinks>a[aria-current],.nav-group>summary:hover,.nav-group[open]>summary{background:transparent}
 .nav-dropdown{position:static;transform:none;min-width:0;width:auto;border:0;border-radius:0;box-shadow:none;padding:17px 0 20px;background:#fff}.discover-dropdown{display:block}.nav-feature-list{border:0;padding:0}.nav-secondary{margin-top:19px}.nav-secondary a,.resources-dropdown>a{font-size:1rem;padding:12px 8px}.nav-feature{padding:9px 5px}.nav-feature strong{font-size:1rem}.nav-feature small{font-size:.875rem}.nav-label{font-size:.8125rem}.nav-dropdown .nav-label{padding-left:5px}.navlinks>.mobile-contact{display:flex;justify-content:space-between;padding:16px 18px;background:var(--forest);color:#fff;border-radius:99px;border:0;margin-top:20px;font-size:1rem}
 .nav-is-open{overflow:hidden}.nav-is-open .header{pointer-events:auto}.nav-is-open .nav{background:#fff}
 main{padding-top:99px}.home-hero{width:calc(100% - 32px);grid-template-columns:1fr 1fr;min-height:600px;border-radius:26px}.hero-copy{padding:35px 27px}.hero-copy h1{font-size:clamp(3.3rem,6.6vw,4.5rem)}.hero-copy>.eyebrow{font-size:.625rem;padding:9px 11px;letter-spacing:.045em}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero-actions{gap:18px}.hero-actions .button{padding:15px 19px;gap:19px;font-size:.875rem}.hero-portrait{min-height:576px}.portrait-caption{font-size:.75rem;left:14px;right:14px;bottom:17px;padding:11px 12px;text-align:center}.page-hero{width:calc(100% - 32px)}.with-photo .page-hero-grid{gap:24px;min-height:490px}.with-photo .page-image{min-height:466px}.with-photo .page-intro{padding:40px 0 40px 30px}.with-photo h1{font-size:clamp(2.5rem,4.6vw,3.1rem)}.section{padding:70px 0}.card-image{height:280px}.image-cards{gap:20px}.feature-visual{height:530px}.feature,.treatment-feature{gap:40px}.editorial-grid,.pricing-grid,.contact-grid{gap:40px}.treatment-feature img{height:390px}
}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}.home-hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:35px 26px 31px;width:100%}.hero-copy h1{font-size:clamp(3rem,10.8vw,4.2rem);margin-bottom:22px}.hero-copy>.eyebrow{font-size:.6875rem;padding:8px 12px;margin-bottom:22px}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero-copy .quiet-link{display:none}.hero-actions .button{font-size:.9375rem;padding:15px 21px}.hero-portrait{height:430px;min-height:0;margin:0 10px 10px;border-radius:21px}.hero-portrait>img{object-position:50% 30%}.portrait-caption{left:16px;right:auto;bottom:16px;font-size:.75rem;padding:11px 15px}.promise-strip{margin-top:4px}.promise-strip .wrap{width:calc(100% - 40px);justify-content:flex-start;padding:19px 0;gap:11px 20px;min-height:0}.promise-strip span{font-size:.75rem}.section{padding:55px 0}.section-heading{gap:20px;margin-bottom:29px}.image-cards{grid-template-columns:1fr;gap:20px}.card-image{height:330px;border-radius:23px}.card-tag{font-size:.6875rem;padding:7px 12px}.card-caption h3{font-size:1.5rem}.card-caption h3 br{display:none}.card-caption{padding:18px 3px;gap:18px}.feature,.feature.reverse,.treatment-feature{grid-template-columns:1fr;gap:30px}.feature-visual{height:410px;border-radius:24px}.feature.reverse .feature-visual{order:0}.image-label{font-size:.75rem;padding:11px 16px}.treatment-feature img{height:320px}.treatment-feature figure{border-radius:24px}.manifesto h2{font-size:2.6rem}.manifesto>div{display:block}.manifesto .text-link{margin-top:18px}.page-hero{border-radius:24px;padding:42px 0}.page-hero .wrap{width:calc(100% - 40px)}.page-hero h1{font-size:clamp(2.25rem,8.5vw,3.2rem);line-height:1.12}.page-hero.with-photo{padding:0}.with-photo .page-hero-grid{display:flex;flex-direction:column;gap:0;min-height:0;width:100%}.with-photo .page-intro{padding:35px 24px;min-width:0;width:100%}.with-photo .page-image{width:auto;height:320px;min-height:0;margin:0 10px 10px;align-self:stretch;border-radius:18px}.with-photo .page-image img[src*="portrait"]{object-position:center 25%}.with-photo .page-image img[src*="cuisine"]{object-position:40% center}.editorial-grid,.pricing-grid,.contact-grid,.question-sheet,.endcap,.access-grid{grid-template-columns:1fr;gap:32px}.commitments{grid-template-columns:1fr;gap:32px}.nutrition-numbers{grid-template-columns:1fr;gap:25px}.nutrition-numbers>div{border-bottom:1px solid var(--line);padding-bottom:15px}.nutrition-numbers strong{font-size:5rem}.endcap h2,.feature-copy h2{font-size:2.5rem}.faq-home{grid-template-columns:1fr;gap:26px}.faq-list summary{padding:20px 8px;font-size:1rem}.faq-answer{padding-left:8px}.form{padding:26px 22px}.footer-top{grid-template-columns:1fr 1fr;gap:34px 25px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom>div{margin-top:18px}.footer{padding-top:42px}.button{max-width:100%}.credits-grid{grid-template-columns:1fr}.credits-grid img{height:300px}.journey article{grid-template-columns:46px 1fr;gap:18px}.journey h2{font-size:1.6rem}.journey article>span{font-size:2.5rem}
}
@media(max-width:374px){.header{left:12px;right:12px}.nav{padding-inline:8px;gap:8px}.nav>.wordmark{width:113px;height:23px}.nav>.wordmark img{width:123px;left:-5px;top:-14px}.nav>.nav-contact{font-size:.8125rem;padding-inline:12px}.menu-toggle{width:42px}.home-hero,.page-hero{width:calc(100% - 24px)}.hero-copy{padding-inline:20px}.hero-copy h1{font-size:2.7rem}.hero-copy>.eyebrow{font-size:.625rem;letter-spacing:.035em;padding-inline:9px}.hero-portrait{height:340px}.portrait-caption{font-size:.6875rem;left:12px;padding:10px}.card-image{height:285px}.feature-visual{height:350px}.page-hero h1{font-size:2.1rem}.with-photo .page-intro{padding:32px 19px}.with-photo .page-image{height:270px}.navlinks{padding:10px 16px 18px}.form{padding:23px 17px}.form .button{font-size:.8125rem;padding-inline:17px}.contact-address{padding:25px}}
@media(prefers-reduced-motion:reduce){.nav-group[open]>.nav-dropdown{animation:none}.hero-portrait>img{transition:none}}
@media print{main{padding-top:0}.nav-scrim{display:none}.home-hero,.page-hero{width:100%;margin:0;border-radius:0}.page-hero{padding:20px 0}}

/* Le PNG transparent validé reste intact ; seul son cadre d’affichage s’adapte. */
@media(max-width:700px){.nav>.wordmark{width:122px;height:24px}.nav>.wordmark img{width:132px;left:-5px;top:-16px}}
@media(max-width:374px){.nav>.wordmark{width:94px;height:19px}.nav>.wordmark img{width:102px;left:-4px;top:-12px}}
