:root{--forest:#244737;--deep:#193629;--cream:#f6f2e9;--paper:#fffefa;--red:#b94d39;--ink:#1d2923;--muted:#59665d;--line:#dcded4;--radius:20px;--shadow:0 18px 50px rgba(25,54,41,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}body.no-scroll{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}button{font:inherit;cursor:pointer}.wrap{width:min(1200px,calc(100% - 40px));margin:auto}.section{padding:clamp(70px,8vw,120px) 0;scroll-margin-top:78px}.skip-link{position:fixed;z-index:200;top:10px;left:10px;padding:10px;background:white;transform:translateY(-160%)}.skip-link:focus{transform:none}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:800;color:var(--red);margin:0 0 18px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(3.3rem,6.6vw,6.5rem);font-weight:650;margin:0 0 26px}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--red)}h2{font-size:clamp(2.5rem,4.3vw,4.65rem);font-weight:620;margin:0 0 28px}h3{font-size:1.42rem}p{color:var(--muted)}.lead{font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:12px 21px;border-radius:9px;text-decoration:none;font-weight:700;font-size:.9rem;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--forest);color:white}.button-primary:hover{background:var(--deep)}.button-outline{border:1px solid var(--forest);color:var(--forest)}.button-light{background:var(--paper);color:var(--forest)}.button-outline-light{border:1px solid #a9bdb0;color:white}.actions{display:flex;flex-wrap:wrap;gap:12px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,254,250,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:80px}.brand img{width:176px;max-height:64px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:clamp(12px,1.8vw,28px)}.site-nav a{text-decoration:none;white-space:nowrap;font-size:.85rem;font-weight:650;color:#4a5c4f;padding:8px 0;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a.active{color:var(--forest);border-color:var(--red)}.menu-toggle{display:none}.hero{padding-top:74px;background:linear-gradient(115deg,#f6f2e9 0%,#fffdf8 64%,#f0ede3 100%)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(35px,5vw,80px);align-items:center}.hero-copy{padding:35px 0}.hero-copy .lead{max-width:600px}.hero-note{font-size:.86rem;margin:28px 0 0}.hero-art{position:relative;min-width:0}.hero-logo{position:absolute;z-index:2;top:-27px;right:-16px;width:41%;padding:16px;background:white;border-radius:14px;box-shadow:var(--shadow)}.hero-logo img{width:100%;max-height:120px;object-fit:contain}.hero-image{height:530px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-caption{display:flex;justify-content:space-between;gap:15px;font-size:.76rem;font-weight:700;color:var(--forest);padding:13px 0}.partner-line{display:flex;align-items:center;gap:17px;border-top:1px solid var(--line);margin-top:60px;padding-top:22px;font-size:.78rem;color:var(--muted)}.partner-line img{width:72px;max-height:46px;object-fit:contain}.intro{background:var(--paper)}.narrow{max-width:790px}.intro p:not(.eyebrow){font-size:1.13rem;line-height:1.78}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:45px}.section-head>p,.section-head>div>p:not(.eyebrow){max-width:560px}.catalog{background:var(--cream)}.product-group{margin-top:46px}.group-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:20px}.group-heading h3{font-size:1.65rem;margin:0 0 13px}.group-heading span{font-size:.8rem;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}.product-media{aspect-ratio:4/3;background:#e9e8dc}.product-media img{width:100%;height:100%;object-fit:cover}.product-placeholder{position:relative;height:100%;display:flex;align-items:end;padding:20px;overflow:hidden;background:linear-gradient(140deg,#e7eadc,#f5efe4)}.product-placeholder span{z-index:1;color:#637969;text-transform:uppercase;letter-spacing:.16em;font-size:.69rem;font-weight:800}.product-placeholder i{position:absolute;border:2px solid rgba(36,71,55,.18);width:64%;aspect-ratio:1;border-radius:50%;top:-20%;right:-10%;box-shadow:0 0 0 28px rgba(36,71,55,.04),0 0 0 58px rgba(36,71,55,.035)}.product-body{padding:20px}.product-category{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--red)}.product-body h4{font-size:1.08rem;line-height:1.35;min-height:2.7em;margin:10px 0 15px}.product-details{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:11px;font-size:.83rem;color:var(--muted)}.evolution{display:flex;gap:24px;align-items:center;background:var(--forest);color:white;border-radius:var(--radius);padding:28px 32px;margin-top:52px}.evolution h3{margin:0 0 5px}.evolution p{margin:0;color:#e0e9df}.evolution-mark{font-size:3rem;font-weight:200;color:#eebf9d}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,120px);align-items:start}.conservation{background:var(--paper)}.notice{background:var(--cream);border-left:4px solid var(--red);padding:35px;border-radius:0 14px 14px 0}.notice-dot{display:block;width:12px;height:12px;border-radius:50%;background:var(--red);margin-bottom:24px}.notice p{margin:0}.merchandising{background:#eef0e9}.subhead{margin-bottom:25px}.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.principles article{background:var(--paper);padding:28px;border-radius:15px;border:1px solid var(--line)}.principles span,.steps span{font-size:.78rem;color:var(--red);font-weight:800;letter-spacing:.1em}.principles h4{font-size:1.06rem;line-height:1.35;margin:20px 0 12px}.principles p{font-size:.9rem;margin:0}.gallery-section{background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:12px}.gallery-item{position:relative;overflow:hidden;border:0;padding:0;border-radius:12px;background:var(--cream)}.gallery-item:first-child{grid-column:span 2;grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item span{position:absolute;bottom:12px;right:12px;background:white;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.steps-section{background:var(--cream)}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line)}.steps article{padding:28px 18px 0 0;margin-right:18px;border-right:1px solid var(--line)}.steps article:last-child{border:0}.steps h3{font-size:1.2rem;margin:20px 0 12px}.steps p{font-size:.9rem}.orders{background:var(--paper)}.order-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.order-grid article{background:var(--cream);border:1px solid var(--line);padding:35px;border-radius:var(--radius)}.order-grid .order-feature{background:var(--forest);color:white}.order-feature p{color:#e0e9df}.card-number{display:block;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--red);margin-bottom:28px}.order-feature .card-number{color:#eebf9d}.order-grid h3{font-size:1.65rem}.order-grid p{max-width:560px}.supplied{background:#e8ede5}.supplied p{font-size:1.13rem}.coming{background:var(--cream)}.coming-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.coming-inner>div{max-width:660px}.coming-badge{flex:none;border:1px solid var(--red);color:var(--red);border-radius:100px;padding:15px 24px;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.faq{background:var(--paper)}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;font-weight:700;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{font-size:1.7rem;color:var(--red);font-weight:300;line-height:1}details[open] summary span{transform:rotate(45deg)}details p{padding-right:35px;margin:-4px 0 23px}.contact{background:var(--deep);color:white}.contact .eyebrow{color:#edb69d}.contact h2{max-width:640px}.contact .lead{color:#d6e1d8;max-width:590px}.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:clamp(35px,8vw,100px);align-items:start}.contact-card{font-style:normal;background:#fffefa;color:var(--ink);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow)}.contact-card>strong{display:block;font-size:1.5rem;line-height:1.2}.contact-card>span:not(.eyebrow){color:var(--muted)}.contact-card dl{display:grid;grid-template-columns:140px 1fr;gap:12px;border-top:1px solid var(--line);margin:26px 0 0;padding-top:25px;font-size:.88rem}.contact-card dt{color:var(--muted)}.contact-card dd{margin:0;overflow-wrap:anywhere}.contact-card a{text-decoration-color:#b7c4b5;text-underline-offset:3px}.site-footer{background:#10291d;color:white;padding:42px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-inner p,.footer-inner small{color:#c3d2c5}.footer-inner p{margin:5px 0}.footer-supplier{display:flex;align-items:center;gap:18px}.footer-supplier img{width:70px;max-height:48px;object-fit:contain}.footer-supplier a{font-size:.9rem}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(8,20,13,.96);display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;padding:55px 20px 25px;color:white}.lightbox figure{margin:0;text-align:center}.lightbox img{max-width:100%;max-height:calc(100vh - 115px);margin:auto;object-fit:contain}.lightbox figcaption{font-size:.8rem;margin-top:10px}.lightbox button{border:0;background:rgba(255,255,255,.14);color:white;border-radius:50%;width:48px;height:48px;font-size:2rem}.lightbox-close{position:absolute;top:15px;right:20px}.lightbox-prev,.lightbox-next{justify-self:center}:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:1050px){.site-nav{gap:11px}.site-nav a{font-size:.76rem}.brand img{width:140px}.product-grid{grid-template-columns:repeat(3,1fr)}.principles{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(3,1fr);row-gap:25px}}
@media(max-width:760px){html{scroll-padding-top:70px}.section{padding:72px 0}.wrap{width:min(100% - 32px,1200px)}.header-inner{min-height:68px}.brand img{width:145px;max-height:54px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:10px}.menu-toggle span{height:2px;background:var(--forest);width:100%}.site-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:12px 20px 22px;box-shadow:0 15px 25px rgba(0,0,0,.1);flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{padding:11px 5px;font-size:1rem;border-bottom:1px solid var(--line)}.hero{padding-top:48px}.hero-grid,.section-head,.split,.contact-grid{grid-template-columns:1fr}.hero-copy{padding:0}.hero-art{margin-top:25px}.hero-logo{width:43%;right:-5px}.hero-image{height:410px}.partner-line{margin-top:35px}.product-grid{grid-template-columns:repeat(2,1fr)}.section-head{gap:5px}.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.gallery-item,.gallery-item:first-child{flex:0 0 min(78vw,400px);height:260px;grid-column:auto;grid-row:auto;scroll-snap-align:start}.steps{grid-template-columns:1fr 1fr}.order-grid{grid-template-columns:1fr}.coming-inner{align-items:flex-start;flex-direction:column}.contact-card dl{grid-template-columns:120px 1fr}}
@media(max-width:500px){h1{font-size:3.15rem}.hero-image{height:300px}.hero-logo{top:-20px;width:46%;padding:9px}.hero-caption span{display:none}.product-grid,.principles,.steps{grid-template-columns:1fr}.product-media{aspect-ratio:16/9}.product-body h4{min-height:0}.steps article{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:20px 0}.steps article:last-child{border:0}.contact-card{padding:25px}.contact-card dl{grid-template-columns:1fr;gap:2px}.contact-card dd{margin-bottom:10px}.footer-inner{flex-direction:column}.lightbox{grid-template-columns:48px minmax(0,1fr) 48px;padding:55px 4px 20px}.lightbox button{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Deuxième passage : un parcours plus court pour la présentation. */
.hero{padding-bottom:72px}.intro{padding-top:62px;padding-bottom:62px}.catalog{padding-top:78px;padding-bottom:78px}.product-group{margin-top:34px}.product-body h4{margin:0 0 15px}.catalog-note{display:flex;align-items:baseline;gap:18px;border-top:1px solid var(--line);margin-top:35px;padding-top:20px}.catalog-note strong{color:var(--forest);font-size:.9rem}.catalog-note p{margin:0;font-size:.88rem}.evolution{margin-top:25px;background:#e8ede5;color:var(--ink);padding:18px 24px;box-shadow:none}.evolution-mark{color:var(--red);font-size:2rem}.evolution h3{font-size:1rem}.evolution p{color:var(--muted);font-size:.85rem}.gallery-section{padding-top:82px;padding-bottom:82px}.gallery-grid{grid-auto-rows:150px;gap:14px}.gallery-item:first-child{grid-row:span 3}.gallery-item{box-shadow:0 7px 22px rgba(25,54,41,.1)}.merchandising{padding-top:78px;padding-bottom:78px}.merchandising-note{font-size:.85rem;border-top:1px solid var(--line);padding-top:18px;margin:28px 0 0;max-width:750px}.steps-section{padding-top:78px;padding-bottom:78px}.orders{background:var(--forest);color:white;padding-top:76px;padding-bottom:72px}.orders .eyebrow{color:#edb69d}.orders-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:20px 70px;align-items:center}.orders h2{margin-bottom:18px}.orders .lead{color:#e0e9df;margin-bottom:0}.order-call{display:flex;align-items:flex-start;flex-direction:column;gap:18px}.order-phone{font-size:clamp(1.5rem,2.5vw,2.25rem);font-weight:750;line-height:1.2;text-decoration:none;white-space:nowrap}.order-phone:hover{text-decoration:underline}.delivery-note{grid-column:1/-1;border-top:1px solid #6c8b75;padding-top:18px;margin:15px 0 0;color:#d4e1d7;font-size:.85rem;max-width:970px}.coming{padding-top:48px;padding-bottom:48px;background:#eef0e9}.coming h2{font-size:clamp(1.8rem,2.6vw,2.6rem);margin-bottom:14px}.coming p{font-size:.88rem;margin-bottom:6px}.coming-badge{font-size:.7rem;padding:10px 15px}.faq{padding-top:76px;padding-bottom:76px}
@media(max-width:1050px){.gallery-grid{grid-auto-rows:125px}.orders-layout{gap:20px 32px}}
@media(max-width:760px){.catalog-note{display:block}.catalog-note strong{display:block;margin-bottom:4px}.gallery-section{padding-top:72px;padding-bottom:72px}.gallery-grid{gap:12px}.gallery-item,.gallery-item:first-child{flex:0 0 min(83vw,460px);height:clamp(300px,85vw,450px)}.orders-layout{grid-template-columns:1fr}.delivery-note{grid-column:1}.order-call{gap:12px}.coming-inner{gap:15px}}

/* Profil Tap-Links : continuité après la rencontre. */
.contact-grid{grid-template-columns:1.05fr .95fr;gap:28px 32px}
.contact-intro{grid-column:1/-1;margin-bottom:10px}
.contact-card,.taplinks-card{height:100%}
.taplinks-card{display:grid;grid-template-columns:minmax(0,1fr) 242px;grid-template-areas:"eyebrow qr" "heading qr" "description qr" "instruction qr" "button qr";column-gap:20px;align-content:start;background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}
.taplinks-card .eyebrow{grid-area:eyebrow;color:var(--red);margin-bottom:14px}
.taplinks-card h3{grid-area:heading;font-size:clamp(1.55rem,2.1vw,2rem);margin-bottom:18px}
.taplinks-card p:not(.eyebrow){font-size:.9rem;line-height:1.55;margin-bottom:12px}
.taplinks-card p:nth-of-type(2){grid-area:description}
.taplinks-card p:nth-of-type(3){grid-area:instruction}
.taplinks-card>.button{grid-area:button;justify-self:start;align-self:end;margin-top:10px}
.taplinks-qr{grid-area:qr;align-self:center;text-align:center}
.taplinks-qr a{display:block;background:white;border-radius:16px;padding:10px}
.taplinks-qr img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.taplinks-qr small{display:block;color:var(--muted);font-size:.72rem;line-height:1.4;margin-top:12px}
@media(max-width:1050px){.taplinks-card{grid-template-columns:1fr;grid-template-areas:"eyebrow" "heading" "description" "instruction" "button" "qr"}.taplinks-qr{width:min(100%,260px);margin:26px auto 0}}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:22px}.contact-intro{grid-column:1;margin-bottom:6px}.taplinks-card{padding:26px}.taplinks-card>.button{justify-self:stretch}.taplinks-qr{width:min(100%,270px)}}

.intro{padding-top:52px;padding-bottom:52px}
.intro h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:18px}
.intro p:not(.eyebrow){font-size:1rem;line-height:1.65;margin-bottom:12px}

/* Entrées de présentation. Le contenu reste visible sans JavaScript. */
html.js-motion{overflow-x:clip}
.js-motion .reveal-section{transition:opacity 1000ms cubic-bezier(.16,1,.3,1),transform 1000ms cubic-bezier(.16,1,.3,1)}
.js-motion .reveal-section.reveal-up:not(.is-visible){opacity:0;transform:translate3d(0,80px,0) scale(.97)}
.js-motion .reveal-section.reveal-left:not(.is-visible){opacity:0;transform:translate3d(-90px,0,0) scale(.97)}
.js-motion .reveal-section.reveal-right:not(.is-visible){opacity:0;transform:translate3d(90px,0,0) scale(.97)}
.js-motion .reveal-section.is-visible{opacity:1;transform:none}
.js-motion .reveal-item{transition:opacity 820ms cubic-bezier(.16,1,.3,1),transform 820ms cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.js-motion .reveal-item:not(.is-visible){opacity:0;transform:translate3d(0,45px,0) scale(.96)}
.js-motion .reveal-item.is-visible{opacity:1;transform:none}
.js-motion .taplinks-card .taplinks-qr{opacity:0;transform:scale(.88);transition:opacity 800ms cubic-bezier(.16,1,.3,1),transform 800ms cubic-bezier(.16,1,.3,1)}
.js-motion .taplinks-card.is-visible .taplinks-qr{opacity:1;transform:none;transition-delay:320ms}
.js-motion .hero-copy>.eyebrow,.js-motion .hero-copy>h1,.js-motion .hero-copy>.lead,.js-motion .hero-copy>.actions,.js-motion .hero-copy>.hero-note,.js-motion .hero-art{animation:hero-arrive 900ms cubic-bezier(.16,1,.3,1) both}
.js-motion .hero-copy>h1{animation-delay:150ms}
.js-motion .hero-copy>.lead{animation-delay:300ms}
.js-motion .hero-copy>.actions,.js-motion .hero-copy>.hero-note{animation-delay:450ms}
@keyframes hero-arrive{from{opacity:0;transform:translate3d(0,40px,0)}to{opacity:1;transform:none}}
@media(max-width:760px){.js-motion .reveal-section.reveal-left:not(.is-visible){transform:translate3d(-50px,0,0) scale(.97)}.js-motion .reveal-section.reveal-right:not(.is-visible){transform:translate3d(50px,0,0) scale(.97)}}
@media(prefers-reduced-motion:reduce){.js-motion .reveal-section,.js-motion .reveal-item,.js-motion .taplinks-card .taplinks-qr{opacity:1!important;transform:none!important;transition:none!important;transition-delay:0ms!important}.js-motion .hero-copy>.eyebrow,.js-motion .hero-copy>h1,.js-motion .hero-copy>.lead,.js-motion .hero-copy>.actions,.js-motion .hero-copy>.hero-note,.js-motion .hero-art{animation:none!important;opacity:1!important;transform:none!important}}
