@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;1,9..144,500&family=Nunito+Sans:wght@400;600;700;800&display=swap');

/* L’accueil garde ses styles propres ; le menu reste celui du site. */
body.home-page { background:#f7f1e5; }
.home-page #page { min-height:0; background:#f7f1e5; }
.home-skip { position:fixed; left:16px; top:-80px; z-index:1000; padding:14px 20px; background:#fffaf0; color:#174c39; border:2px solid #174c39; border-radius:5px; font:700 16px Arial,sans-serif; }
.home-skip:focus { top:12px; outline:3px solid #e1ad59; }
#bp-home-warm { --bp-ink:#29362c; --bp-olive:#303b29; --bp-green:#174c39; --bp-gold:#e1ad59; --bp-cream:#f7f1e5; --bp-muted:#626c5c; --bp-line:#dad4c2; --bp-serif:'Fraunces',Georgia,serif; --bp-sans:'Nunito Sans',Arial,sans-serif; color-scheme:light; }
#bp-home-warm * { box-sizing:border-box; }
#bp-home-warm .bp-page { max-width:1440px; margin:0 auto; color:var(--bp-ink); background:var(--bp-cream); font:16px/1.65 var(--bp-sans); min-width:0; }
#bp-home-warm h1, #bp-home-warm h2, #bp-home-warm h3, #bp-home-warm p { margin:0; }
#bp-home-warm h1, #bp-home-warm h2, #bp-home-warm h3 { font-family:var(--bp-serif); font-weight:500; letter-spacing:-.04em; line-height:1.1; }
#bp-home-warm h2 { font-size:clamp(32px,3.5vw,46px); }
#bp-home-warm h3 { font-size:27px; }
#bp-home-warm em { font-style:italic; font-weight:500; }
#bp-home-warm img { display:block; max-width:100%; }
#bp-home-warm a { color:inherit; text-decoration:none; }
#bp-home-warm a:focus-visible { outline:3px solid #b67b26; outline-offset:5px; border-radius:4px; }
#bp-home-warm a, #bp-home-warm svg { -webkit-tap-highlight-color:transparent; }
#bp-home-warm svg { width:20px; height:20px; flex-shrink:0; }
#bp-home-warm section[id], #accueil-contenu { scroll-margin-top:calc(var(--bp-header-height, 70px) + 16px); }
#bp-home-warm .bp-eyebrow { font:800 12px/1.5 var(--bp-sans); letter-spacing:.15em; text-transform:uppercase; }
#bp-home-warm .bp-section { padding:70px 6% 0; }
#bp-home-warm .bp-actions { display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin-top:28px; }
#bp-home-warm .bp-button { display:inline-flex; align-items:center; justify-content:center; gap:17px; padding:14px 22px; border-radius:5px; font-size:14px; font-weight:800; line-height:1.45; min-height:48px; }
#bp-home-warm .bp-button-green { background:var(--bp-green); color:#fff1d8; }
#bp-home-warm .bp-button-gold { background:var(--bp-gold); color:#283825; }
#bp-home-warm .bp-button-cream { background:var(--bp-cream); color:var(--bp-green); }
#bp-home-warm .bp-button:hover { filter:brightness(1.08); }
#bp-home-warm .bp-text-link { font-size:14px; font-weight:800; display:inline-flex; align-items:center; gap:12px; min-height:44px; }
#bp-home-warm .bp-text-link:hover { text-decoration:underline; text-underline-offset:5px; }

/* L’accueil illustré validé : une invitation douce, puis le grand panorama. */
#bp-home-warm .bp-welcome-hero { min-height:400px; padding:48px 6% 40px; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr); gap:34px; position:relative; }
#bp-home-warm .bp-welcome-copy { position:relative; z-index:1; align-self:center; }
#bp-home-warm .bp-welcome-copy .bp-eyebrow { color:#6e7846; margin-bottom:18px; }
#bp-home-warm .bp-welcome-copy :is(h1,h2) { font-size:clamp(36px,4.5vw,62px); }
#bp-home-warm .bp-welcome-copy :is(h1,h2) em { color:#597446; }
#bp-home-warm .bp-welcome-copy>p:not(.bp-eyebrow) { margin-top:21px; color:var(--bp-muted); }
#bp-home-warm .bp-welcome-character { position:relative; align-self:center; min-width:0; height:310px; isolation:isolate; }
#bp-home-warm .bp-welcome-character:before { content:''; position:absolute; inset:20px 7px 16px; border-radius:48% 48% 43% 44%; background:#e8d5a5; transform:rotate(-9deg); z-index:-1; }
#bp-home-warm .bp-welcome-character>img { height:310px; width:100%; object-fit:contain; position:relative; top:-3px; }
#bp-home-warm .bp-round-stamp { position:absolute; top:-9px; right:-3px; width:88px; height:88px; display:flex; align-items:center; justify-content:center; text-align:center; background:#54714b; color:#ffefcf; border-radius:50%; transform:rotate(12deg); font-size:12px; line-height:1.4; letter-spacing:.03em; font-weight:700; z-index:2; }
#bp-home-warm .bp-character-word { position:absolute; bottom:-5px; right:-10px; font:italic 28px var(--bp-serif); transform:rotate(-8deg); color:#776c40; z-index:2; }
#bp-home-warm .bp-welcome-farm { height:640px; position:relative; isolation:isolate; color:#fff4dc; background:#244831; border-radius:5px; overflow:hidden; }
#bp-home-warm .bp-welcome-farm {
  -webkit-mask-image:linear-gradient(to right,transparent,#000 3px,#000 calc(100% - 3px),transparent),linear-gradient(to bottom,transparent,#000 20px,#000 calc(100% - 3px),transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 3px,#000 calc(100% - 3px),transparent),linear-gradient(to bottom,transparent,#000 20px,#000 calc(100% - 3px),transparent);
  mask-composite:intersect;
  mask-repeat:no-repeat;
}
#bp-home-warm .bp-welcome-farm>img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center 40%; z-index:-2; }
#bp-home-warm .bp-farm-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(17,39,24,.86),rgba(17,39,24,.45) 43%,rgba(17,39,24,0) 78%); z-index:-1; }
#bp-home-warm .bp-welcome-farm-copy { position:absolute; inset:0; }
#bp-home-warm .bp-welcome-farm-copy > .bp-image-tag { position:absolute; left:6%; top:40px; }
#bp-home-warm .bp-image-tag { display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:700; letter-spacing:.02em; background:rgba(38,52,34,.88); padding:9px 14px; border-radius:30px; color:#fbefd4; }
#bp-home-warm .bp-status-dot { width:6px; height:6px; background:var(--bp-gold); display:inline-block; border-radius:50%; flex-shrink:0; }
#bp-home-warm .bp-welcome-farm-copy #farm-title { position:absolute; left:6%; bottom:48px; max-width:88%; font-size:clamp(38px,4.8vw,61px); margin:0; text-shadow:0 2px 20px rgba(20,40,23,.4); }
#bp-home-warm .bp-farm-enter { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); min-height:70px; padding:18px 28px; gap:20px; max-width:90%; font:700 18px/1.5 'Preahvihear',sans-serif; text-align:center; box-shadow:0 5px 24px #152b2866; }
#bp-home-warm .bp-farm-enter svg { width:32px; height:28px; }
#bp-home-warm .bp-farm-development { position:absolute; right:4%; bottom:20px; }
#bp-home-warm .bp-concept { position:absolute; right:4%; bottom:14px; font-size:11px; color:#fff2dc; text-shadow:0 1px 5px #263b28; }

#bp-home-warm .bp-section-kicker { display:flex; align-items:center; gap:13px; margin-bottom:21px; }
#bp-home-warm .bp-kicker-line { width:32px; height:1px; background:#9c8d5c; }
#bp-home-warm .bp-world-info { padding-top:48px; }
#bp-home-warm .bp-world-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; padding-bottom:48px; border-bottom:1px solid var(--bp-line); }
#bp-home-warm .bp-world-intro h2 { font-size:38px; }
#bp-home-warm .bp-world-intro>div>p { font-size:15px; color:var(--bp-muted); margin-top:18px; }
#bp-home-warm .bp-world-action { display:flex; align-items:flex-start; flex-direction:column; gap:13px; flex-shrink:0; }
#bp-home-warm .bp-development { font-size:12px; font-weight:700; display:inline-flex; align-items:center; gap:8px; background:#eae8d4; padding:8px 12px; border-radius:30px; color:#52603d; }
#bp-home-warm .bp-development .bp-status-dot { background:#7b8650; }
#bp-home-warm .bp-section-title { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:32px; }
#bp-home-warm .bp-section-title .bp-eyebrow { margin-bottom:12px; color:#6b7443; }
#bp-home-warm .bp-section-title>p { font-size:15px; color:var(--bp-muted); padding-bottom:3px; }
#bp-home-warm .bp-values { padding-top:48px; padding-bottom:54px; }
#bp-home-warm #values-title { font-size:clamp(32px,3.5vw,46px); }
#bp-home-warm .bp-autonomy-hero { grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr); background:#edf0df; border-radius:0 0 5px 5px; -webkit-mask-image:linear-gradient(to right,transparent,#000 10px,#000 calc(100% - 10px),transparent),linear-gradient(to bottom,#000 calc(100% - 10px),transparent); -webkit-mask-composite:source-in; mask-image:linear-gradient(to right,transparent,#000 10px,#000 calc(100% - 10px),transparent),linear-gradient(to bottom,#000 calc(100% - 10px),transparent); mask-composite:intersect; mask-repeat:no-repeat; }
#bp-home-warm .bp-autonomy-hero .bp-welcome-copy { grid-column:2; grid-row:1; }
#bp-home-warm .bp-autonomy-hero .bp-welcome-character { grid-column:1; grid-row:1; }
#bp-home-warm .bp-autonomy-hero .bp-welcome-character:before { background:#dce3bd; }
#bp-home-warm .bp-values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
#bp-home-warm .bp-value { display:block; position:relative; min-height:345px; border-radius:7px; padding:29px 25px 65px; isolation:isolate; }
#bp-home-warm .bp-value-ochre { background:#ebc487; color:#4f3a23; }
#bp-home-warm .bp-value-green { background:#3f684a; color:#fff1d9; }
#bp-home-warm .bp-value-blue { background:#c6d8d3; color:#2d4c46; }
#bp-home-warm .bp-value-label { font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:800; display:block; margin-bottom:10px; }
#bp-home-warm .bp-value h3 { font-size:38px; position:relative; z-index:1; }
#bp-home-warm .bp-value p { font-size:14px; line-height:1.65; margin-top:14px; position:relative; z-index:1; max-width:83%; }
#bp-home-warm .bp-value img { position:absolute; right:12px; bottom:52px; height:156px; width:auto; max-width:51%; object-fit:contain; z-index:0; transform:rotate(3deg); transition:transform .2s ease; }
#bp-home-warm .bp-value-green img { transform:rotate(-5deg); }
#bp-home-warm .bp-value-blue img { height:163px; transform:rotate(6deg); }
#bp-home-warm .bp-value-link { position:absolute; bottom:20px; left:25px; right:25px; padding-top:12px; border-top:1px solid rgba(56,64,36,.25); display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12px; font-weight:800; z-index:1; }
#bp-home-warm .bp-value-green .bp-value-link { border-color:rgba(255,241,217,.35); }
#bp-home-warm .bp-value:hover img { transform:rotate(0deg) translateY(-3px); }

#bp-home-warm .bp-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:27px; }
#bp-home-warm .bp-guide { min-width:0; }
#bp-home-warm .bp-guide>a { display:block; height:100%; }
#bp-home-warm .bp-guide-visual { position:relative; display:block; height:220px; border-radius:5px; overflow:hidden; background:#dbd4b6; }
#bp-home-warm .bp-guide-visual:after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 35%,rgba(15,34,21,.72)); }
#bp-home-warm .bp-guide-visual img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
#bp-home-warm .bp-guide:hover img { transform:scale(1.025); }
#bp-home-warm .bp-photo-label { position:absolute; bottom:14px; left:16px; right:12px; z-index:1; color:#fff5e5; font-size:12px; font-weight:700; }
#bp-home-warm .bp-guide-meta { font-size:11px; letter-spacing:.13em; font-weight:800; text-transform:uppercase; color:#6b7443; display:block; margin-top:20px; }
#bp-home-warm .bp-guide h3 { font-size:27px; line-height:1.2; margin-top:10px; }
#bp-home-warm .bp-guide-full-title { font-size:14px; line-height:1.6; color:var(--bp-muted); display:block; margin-top:13px; }
#bp-home-warm .bp-guide-read { font-size:13px; font-weight:800; display:flex; align-items:center; gap:12px; margin-top:20px; }
#bp-home-warm .bp-guide:hover .bp-guide-read { text-decoration:underline; text-underline-offset:4px; }
#bp-home-warm .bp-empty { color:var(--bp-muted); }
#bp-home-warm .bp-empty a { text-decoration:underline; }

#bp-home-warm .bp-shop { position:relative; margin-top:75px; background:var(--bp-green); color:#fff0d4; padding:55px 6%; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1.8fr); gap:40px; overflow:hidden; align-items:center; }
#bp-home-warm .bp-shop .bp-eyebrow { color:#e2c48c; margin-bottom:16px; }
#bp-home-warm .bp-shop h2 { font-size:46px; }
#bp-home-warm .bp-shop h2 em { color:#e9c68d; }
#bp-home-warm .bp-shop-copy>p:not(.bp-eyebrow) { font-size:16px; color:#dbe4cb; margin-top:22px; }
#bp-home-warm .bp-shop .bp-button { margin-top:27px; }
#bp-home-warm .bp-shop .bp-shop-cta { background:#fbf3e4; color:#174c39; border:1px solid #e3c88e; border-radius:999px; padding:15px 23px; min-height:56px; gap:12px; font:600 15px/1.5 'Preahvihear',sans-serif; box-shadow:0 3px 0 #0b3527; transition:background .18s ease,transform .18s ease,box-shadow .18s ease; }
#bp-home-warm .bp-shop-cta svg { width:22px; height:22px; }
#bp-home-warm .bp-shop .bp-shop-cta:hover { background:#fffdf6; filter:none; transform:translateY(-1px); box-shadow:0 4px 0 #0b3527; }
#bp-home-warm .bp-shop .bp-shop-sign { display:flex; align-items:center; gap:12px; font:600 18px/1.4 'Preahvihear',sans-serif; letter-spacing:.03em; text-transform:none; margin-bottom:21px; }
#bp-home-warm .bp-shop-sign svg { width:27px; height:27px; }
#bp-home-warm .bp-shop-products { min-width:0; }
#bp-home-warm .bp-shop-products-label { font-size:12px; font-weight:800; color:#e7c98a; letter-spacing:.04em; margin-bottom:15px; }
#bp-home-warm .bp-shop-products-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
#bp-home-warm .bp-shop-product { display:flex; flex-direction:column; min-width:0; background:#fcf5e7; color:#334734; border:1px solid #f4dfb055; border-radius:7px; overflow:hidden; transition:transform .18s ease,box-shadow .18s ease; }
#bp-home-warm .bp-shop-product:hover { transform:translateY(-4px); box-shadow:0 8px 22px #082d2366; }
#bp-home-warm .bp-shop-product-image { display:flex; align-items:center; justify-content:center; height:190px; padding:14px; background:#fffdf7; border-bottom:1px solid #e4decf; }
#bp-home-warm .bp-shop-product-image img { width:100%; height:100%; object-fit:contain; }
#bp-home-warm .bp-shop-product-copy { display:flex; flex-direction:column; flex:1; padding:17px 14px 15px; }
#bp-home-warm .bp-shop-product-category { display:block; font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#687447; }
#bp-home-warm .bp-shop-product h3 { font-size:21px; line-height:1.25; letter-spacing:-.025em; margin-top:9px; margin-bottom:16px; }
#bp-home-warm .bp-shop-product-price { display:block; margin-top:auto; color:#174c39; font-size:20px; line-height:1.35; font-weight:800; }
@media(max-width:900px) { #bp-home-warm .bp-shop { grid-template-columns:1fr; gap:32px; } #bp-home-warm .bp-shop-product-image { height:200px; } }
#bp-home-warm .bp-shop-collage { position:relative; align-self:center; padding:0 18px 26px 4px; }
#bp-home-warm .bp-shop-main { width:100%; height:310px; object-fit:cover; transform:rotate(-3deg); border-radius:4px; box-shadow:0 8px 30px #0d382b; }
#bp-home-warm .bp-shop-note { position:absolute; top:-10px; right:-4px; display:flex; align-items:center; justify-content:center; flex-direction:column; background:#f3ddac; color:#4c542f; width:115px; height:115px; border-radius:50%; font:25px/1.1 var(--bp-serif); transform:rotate(11deg); box-shadow:0 4px 10px #13412d; }
#bp-home-warm .bp-shop-label { position:absolute; bottom:2px; left:2px; padding:10px 17px; background:#faf0d9; color:#42513a; border-radius:4px; font-size:13px; font-weight:800; transform:rotate(-3deg); box-shadow:0 4px 10px #143c2c; }

#bp-home-warm .bp-journal { display:grid; grid-template-columns:1fr 1.15fr; gap:55px; padding-top:65px; padding-bottom:60px; }
#bp-home-warm .bp-journal .bp-eyebrow { color:#6b7443; margin-bottom:15px; }
#bp-home-warm .bp-journal>div>.bp-text-link { margin-top:20px; }
#bp-home-warm .bp-journal-entry { border-left:1px solid var(--bp-line); padding-left:40px; }
#bp-home-warm .bp-journal-category { font-size:12px; font-weight:800; color:#6b7443; }
#bp-home-warm .bp-journal-entry h3 { font-size:30px; margin-top:13px; }
#bp-home-warm .bp-journal-entry h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
#bp-home-warm .bp-journal-entry>p { font-size:15px; color:var(--bp-muted); margin-top:16px; }
#bp-home-warm .bp-journal-entry .bp-text-link { margin-top:16px; }

/* Réseaux sobres, sans flux tiers ni chargement de traceurs embarqués. */
#bp-home-warm .bp-social { border-top:1px solid var(--bp-line); padding-top:50px; padding-bottom:55px; }
#bp-home-warm .bp-social-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
#bp-home-warm .bp-social-card { display:flex; align-items:flex-start; gap:17px; padding:24px 20px; border:1px solid #d8d6c3; background:#fdf8ed; border-radius:7px; transition:background .2s ease,border-color .2s ease; }
#bp-home-warm .bp-social-card:hover { background:#fffdf6; border-color:#8c996f; }
#bp-home-warm .bp-social-icon { width:42px; height:42px; display:flex; align-items:center; justify-content:center; flex-shrink:0; border-radius:50%; background:#e7ecdc; color:#315942; }
#bp-home-warm .bp-social-icon svg { width:23px; height:23px; }
#bp-home-warm .bp-social-facebook { font:bold 30px Arial,sans-serif; }
#bp-home-warm .bp-social-instagram { color:#765637; background:#eee4d3; }
#bp-home-warm .bp-social-youtube { color:#874e37; background:#f1e3d6; }
#bp-home-warm .bp-social-card h3 { font-size:25px; }
#bp-home-warm .bp-social-card p { font-size:14px; line-height:1.6; color:var(--bp-muted); margin-top:9px; }
#bp-home-warm .bp-social-link { display:block; font-size:12px; font-weight:800; margin-top:14px; }
#bp-home-warm .bp-social-note { font-size:12px; color:#6b715f; margin-top:18px; }
#bp-home-warm .bp-contact { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr); align-items:center; gap:34px; min-height:400px; margin-top:15px; margin-bottom:15px; background:#e8e9d6; padding:40px 6%; border-radius:5px; -webkit-mask-image:linear-gradient(to right,transparent,#000 5px,#000 calc(100% - 5px),transparent),linear-gradient(to bottom,transparent,#000 20px,#000 calc(100% - 20px),transparent); -webkit-mask-composite:source-in; mask-image:linear-gradient(to right,transparent,#000 5px,#000 calc(100% - 5px),transparent),linear-gradient(to bottom,transparent,#000 20px,#000 calc(100% - 20px),transparent); mask-composite:intersect; mask-repeat:no-repeat; }
#bp-home-warm .bp-contact .bp-eyebrow { color:#697342; margin-bottom:12px; }
#bp-home-warm .bp-contact h2 { font-size:clamp(36px,4.5vw,56px); }
#bp-home-warm .bp-contact .bp-button { margin-top:28px; }
#bp-home-warm .bp-contact-copy { min-width:0; }
#bp-home-warm .bp-contact-character { position:relative; min-width:0; height:310px; isolation:isolate; }
#bp-home-warm .bp-contact-character:before { content:''; position:absolute; inset:22px 7px 12px; background:#d4ddbc; border-radius:46% 48% 44% 47%; transform:rotate(8deg); z-index:-1; }
#bp-home-warm .bp-contact-character img { height:100%; width:100%; object-fit:contain; }

#bp-home-warm .bp-footer { padding:31px 6% 24px; background:var(--bp-olive); color:#e2dac3; }
#bp-home-warm .bp-footer-top { display:flex; align-items:center; gap:28px; }
#bp-home-warm .bp-footer-brand { display:flex; align-items:center; gap:12px; }
#bp-home-warm .bp-footer-brand img { width:44px; height:44px; object-fit:contain; }
#bp-home-warm .bp-footer-brand>span { font:19px var(--bp-serif); letter-spacing:-.015em; color:#e9bd75; }
#bp-home-warm .bp-footer-brand small { display:block; font:12px var(--bp-sans); color:#d0cab8; margin-top:5px; }
#bp-home-warm .bp-footer-top>p { font-size:12px; margin-left:auto; }
#bp-home-warm .bp-footer-top>p span { padding:0 8px; color:#d4ae70; }
#bp-home-warm .bp-back-top { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid #7b7b58; border-radius:50%; color:#e6bc76; flex-shrink:0; font-size:22px; }
#bp-home-warm .bp-footer-bottom { margin-top:25px; padding-top:18px; border-top:1px solid #576049; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:12px; color:#d0cab8; }
#bp-home-warm .bp-footer-bottom nav { display:flex; gap:18px; flex-wrap:wrap; }
#bp-home-warm .bp-footer-bottom a:hover { text-decoration:underline; text-underline-offset:4px; }

@media(min-width:1440px) { #bp-home-warm .bp-welcome-hero { padding-top:56px; padding-bottom:48px; min-height:435px; } }
@media(max-width:1050px) {
  #bp-home-warm .bp-section { padding-left:5%; padding-right:5%; }
  #bp-home-warm .bp-welcome-copy :is(h1,h2) { font-size:45px; }
  #bp-home-warm .bp-welcome-hero { min-height:370px; padding-left:5%; padding-right:5%; gap:20px; }
  #bp-home-warm .bp-welcome-character, #bp-home-warm .bp-welcome-character>img { height:270px; }
  #bp-home-warm .bp-round-stamp { width:74px; height:74px; font-size:11px; }
  #bp-home-warm .bp-welcome-farm { height:560px; }
  #bp-home-warm .bp-world-intro { gap:24px; }
  #bp-home-warm .bp-world-intro h2 { font-size:34px; }
  #bp-home-warm .bp-values-grid { gap:17px; }
  #bp-home-warm .bp-value { min-height:330px; padding:24px 19px 62px; }
  #bp-home-warm .bp-value p { font-size:13px; max-width:100%; }
  #bp-home-warm .bp-value h3 { font-size:33px; }
  #bp-home-warm .bp-value img { height:137px; }
  #bp-home-warm .bp-value-link { left:19px; right:19px; font-size:11px; }
  #bp-home-warm .bp-guide-grid { gap:20px; }
  #bp-home-warm .bp-guide-visual { height:180px; }
  #bp-home-warm .bp-guide h3 { font-size:25px; }
  #bp-home-warm .bp-shop { gap:28px; }
  #bp-home-warm .bp-shop h2 { font-size:40px; }
  #bp-home-warm .bp-shop-main { height:280px; }
  #bp-home-warm .bp-social-grid { gap:14px; }
  #bp-home-warm .bp-social-card { padding:21px 16px; gap:11px; }
  #bp-home-warm .bp-social-icon { width:34px; height:34px; }
}
@media(max-width:760px) {
  #bp-home-warm .bp-world-intro { flex-direction:column; align-items:flex-start; }
  #bp-home-warm .bp-world-action { flex-direction:row; flex-wrap:wrap; align-items:center; gap:14px; }
  #bp-home-warm .bp-welcome-hero { grid-template-columns:minmax(0,1.65fr) minmax(0,.8fr); min-height:360px; }
  #bp-home-warm .bp-autonomy-hero { grid-template-columns:minmax(0,.8fr) minmax(0,1.65fr); }
  #bp-home-warm .bp-welcome-copy :is(h1,h2) { font-size:37px; }
  #bp-home-warm .bp-welcome-copy>p:not(.bp-eyebrow) { font-size:14px; }
  #bp-home-warm .bp-welcome-copy .bp-actions { gap:12px; }
  #bp-home-warm .bp-welcome-copy .bp-text-link { font-size:12px; }
  #bp-home-warm .bp-welcome-character, #bp-home-warm .bp-welcome-character>img { height:235px; }
  #bp-home-warm .bp-value p { font-size:12px; }
  #bp-home-warm .bp-value h3 { font-size:30px; }
  #bp-home-warm .bp-value-link { font-size:10px; }
  #bp-home-warm .bp-social-card { flex-direction:column; }
  #bp-home-warm .bp-contact h2 { font-size:36px; }
  #bp-home-warm .bp-contact { min-height:360px; gap:20px; }
  #bp-home-warm .bp-contact-character { height:250px; }
}
@media(max-width:630px) {
  #bp-home-warm .bp-section { padding-top:43px; }
  #bp-home-warm .bp-welcome-hero { display:block; min-height:435px; padding:34px 5% 30px; }
  #bp-home-warm .bp-welcome-copy :is(h1,h2) { font-size:clamp(32px,8.5vw,45px); }
  #bp-home-warm .bp-welcome-copy .bp-eyebrow { font-size:10px; margin-bottom:15px; }
  #bp-home-warm .bp-welcome-copy>p:not(.bp-eyebrow) { max-width:65%; font-size:14px; margin-top:20px; line-height:1.65; }
  #bp-home-warm .bp-welcome-copy>p:not(.bp-eyebrow) br { display:none; }
  #bp-home-warm .bp-welcome-copy .bp-actions { max-width:65%; gap:9px; margin-top:23px; }
  #bp-home-warm .bp-welcome-copy .bp-button { font-size:12px; padding:13px 15px; gap:12px; max-width:100%; }
  #bp-home-warm .bp-autonomy-hero .bp-welcome-copy .bp-actions { max-width:60%; }
  #bp-home-warm .bp-welcome-copy .bp-text-link { font-size:12px; line-height:1.5; }
  #bp-home-warm .bp-welcome-character { position:absolute; right:5%; bottom:23px; width:125px; height:213px; }
  #bp-home-warm .bp-welcome-character>img { height:190px; top:15px; }
  #bp-home-warm .bp-welcome-character:before { inset:28px 3px 6px; }
  #bp-home-warm .bp-round-stamp { width:59px; height:59px; right:4px; top:-10px; font-size:9px; }
  #bp-home-warm .bp-character-word { font-size:19px; bottom:0; right:5px; }
  #bp-home-warm .bp-welcome-farm { height:460px; }
  #bp-home-warm .bp-welcome-farm>img { object-position:53% center; }
  #bp-home-warm .bp-welcome-farm-copy { inset:0; }
  #bp-home-warm .bp-welcome-farm-copy > .bp-image-tag { top:24px; left:5%; }
  #bp-home-warm .bp-image-tag { font-size:10px; padding:8px 11px; }
  #bp-home-warm .bp-welcome-farm-copy #farm-title { left:5%; bottom:75px; max-width:90%; font-size:clamp(29px,8.8vw,37px); margin:0; }
  #bp-home-warm .bp-farm-enter { font-size:14px; padding:15px 16px; gap:12px; min-height:60px; white-space:nowrap; }
  #bp-home-warm .bp-farm-enter svg { width:25px; height:23px; }
  #bp-home-warm .bp-farm-development { right:5%; bottom:15px; font-size:11px; }
  #bp-home-warm .bp-concept { bottom:8px; font-size:10px; }
  #bp-home-warm .bp-world-intro { padding-bottom:34px; }
  #bp-home-warm .bp-world-intro h2 { font-size:32px; }
  #bp-home-warm .bp-world-intro>div>p { font-size:14px; }
  #bp-home-warm .bp-desktop-break { display:none; }
  #bp-home-warm .bp-section-title { align-items:flex-start; gap:17px; flex-direction:column; margin-bottom:27px; }
  #bp-home-warm .bp-section-title>p { font-size:14px; }
  #bp-home-warm .bp-section-title>p br { display:none; }
  #bp-home-warm h2 { font-size:33px; }
  #bp-home-warm .bp-values-grid, #bp-home-warm .bp-guide-grid, #bp-home-warm .bp-social-grid { grid-template-columns:1fr; }
  #bp-home-warm .bp-values { padding-top:34px; padding-bottom:38px; }
  #bp-home-warm .bp-value { min-height:265px; padding:27px 23px 63px; }
  #bp-home-warm .bp-value h3 { font-size:37px; }
  #bp-home-warm .bp-value p { font-size:13px; max-width:64%; margin-top:15px; }
  #bp-home-warm .bp-value img { height:166px; bottom:45px; right:14px; max-width:43%; }
  #bp-home-warm .bp-value-blue img { height:171px; }
  #bp-home-warm .bp-value-link { left:23px; right:23px; font-size:12px; }
  #bp-home-warm .bp-guide-grid { gap:34px; }
  #bp-home-warm .bp-guide-visual { height:225px; }
  #bp-home-warm .bp-guide h3 { font-size:28px; }
  #bp-home-warm .bp-shop { grid-template-columns:1fr; gap:35px; margin-top:47px; padding:40px 7% 35px; }
  #bp-home-warm .bp-shop h2 { font-size:39px; }
  #bp-home-warm .bp-shop-copy>p:not(.bp-eyebrow) { font-size:15px; }
  #bp-home-warm .bp-shop-collage { padding:5px 15px 25px 4px; }
  #bp-home-warm .bp-shop-main { height:250px; }
  #bp-home-warm .bp-shop-note { top:0; right:-1px; width:93px; height:93px; font-size:21px; }
  #bp-home-warm .bp-shop-label { font-size:12px; }
  #bp-home-warm .bp-shop-products-grid { grid-template-columns:1fr; gap:12px; }
  #bp-home-warm .bp-shop-product { display:grid; grid-template-columns:100px minmax(0,1fr); }
  #bp-home-warm .bp-shop-product-image { height:130px; padding:10px; border-bottom:0; border-right:1px solid #e4decf; align-self:stretch; }
  #bp-home-warm .bp-shop-product-copy { padding:14px; }
  #bp-home-warm .bp-shop-product h3 { font-size:20px; margin-top:7px; margin-bottom:12px; }
  #bp-home-warm .bp-journal { grid-template-columns:1fr; gap:28px; padding-top:43px; padding-bottom:40px; }
  #bp-home-warm .bp-journal-entry { border-left:0; border-top:1px solid var(--bp-line); padding:25px 0 0; }
  #bp-home-warm .bp-journal-entry h3 { font-size:28px; }
  #bp-home-warm .bp-social { padding-bottom:42px; }
  #bp-home-warm .bp-social-card { flex-direction:row; gap:18px; padding:23px; }
  #bp-home-warm .bp-social-icon { width:40px; height:40px; }
  #bp-home-warm .bp-contact { grid-template-columns:minmax(0,1fr) minmax(100px,.65fr); min-height:360px; margin-bottom:3px; padding:34px 5%; gap:15px; }
  #bp-home-warm .bp-contact h2 { font-size:32px; }
  #bp-home-warm .bp-contact-character { height:220px; align-self:end; }
  #bp-home-warm .bp-contact .bp-button { font-size:13px; padding:13px 14px; gap:10px; }
  #bp-home-warm .bp-footer { padding:28px 5%; }
  #bp-home-warm .bp-footer-top { gap:19px; flex-wrap:wrap; }
  #bp-home-warm .bp-footer-top>p { margin-left:0; order:3; flex-basis:100%; }
  #bp-home-warm .bp-footer-brand>span { font-size:17px; }
  #bp-home-warm .bp-footer-brand img { width:38px; height:38px; }
  #bp-home-warm .bp-back-top { margin-left:auto; }
  #bp-home-warm .bp-footer-bottom nav { gap:12px 20px; }
}
@media(max-width:360px) {
  #bp-home-warm .bp-welcome-hero { min-height:460px; }
  #bp-home-warm .bp-welcome-character { width:105px; right:5%; bottom:25px; height:195px; }
  #bp-home-warm .bp-welcome-character>img { height:172px; }
  #bp-home-warm .bp-welcome-copy .bp-actions { max-width:67%; }
  #bp-home-warm .bp-welcome-copy .bp-button { font-size:11px; padding:12px; }
  #bp-home-warm .bp-welcome-copy .bp-button svg { width:17px; }
  #bp-home-warm .bp-value p { font-size:12px; }
  #bp-home-warm .bp-value img { max-width:40%; right:7px; }
  #bp-home-warm .bp-social-card { padding:20px 17px; gap:14px; }
  #bp-home-warm .bp-footer-brand>span { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { #bp-home-warm * { scroll-behavior:auto!important; transition:none!important; } }

/* Un peu plus d’air autour du castor : +10 px en haut et +20 px en bas. */
#bp-home-warm .bp-resilience-hero { padding-top:58px; padding-bottom:60px; }
@media(min-width:1440px) { #bp-home-warm .bp-resilience-hero { padding-top:66px; padding-bottom:68px; } }
@media(max-width:630px) { #bp-home-warm .bp-resilience-hero { padding-top:44px; padding-bottom:50px; } }

/* Le castor gagne 10 % en gardant sa place et l’espace de sa légende. */
#bp-home-warm .bp-resilience-hero .bp-welcome-character { height:341px; width:110%; justify-self:center; }
#bp-home-warm .bp-resilience-hero .bp-welcome-character>img { height:341px; }
@media(max-width:1050px) {
  #bp-home-warm .bp-resilience-hero .bp-welcome-character, #bp-home-warm .bp-resilience-hero .bp-welcome-character>img { height:297px; }
}
@media(max-width:760px) {
  #bp-home-warm .bp-resilience-hero .bp-welcome-character, #bp-home-warm .bp-resilience-hero .bp-welcome-character>img { height:258.5px; }
}
@media(max-width:630px) {
  #bp-home-warm .bp-resilience-hero .bp-welcome-character { height:234.3px; width:137.5px; right:4%; }
  #bp-home-warm .bp-resilience-hero .bp-welcome-character>img { height:209px; }
  #bp-home-warm .bp-resilience-hero .bp-character-word { right:12px; }
}
@media(max-width:360px) {
  #bp-home-warm .bp-resilience-hero .bp-welcome-character { height:214.5px; width:115.5px; }
  #bp-home-warm .bp-resilience-hero .bp-welcome-character>img { height:189.2px; }
}

/* Les couleurs de chaque mascotte prolongent celles des trois vignettes. */
#bp-home-warm .bp-resilience-hero { background:#f1e4d4; color:#5a402f; }
#bp-home-warm .bp-resilience-hero .bp-eyebrow { color:#80634d; }
#bp-home-warm .bp-resilience-hero .bp-welcome-copy :is(h1,h2) { color:#174c39; }
#bp-home-warm .bp-resilience-hero .bp-welcome-copy :is(h1,h2) em { color:#597446; }
#bp-home-warm .bp-resilience-hero .bp-welcome-copy>p:not(.bp-eyebrow) { color:#75604f; }
#bp-home-warm .bp-resilience-hero .bp-button-green { background:#174c39; color:#fff1d8; }
#bp-home-warm .bp-resilience-hero .bp-round-stamp { background:#86664b; }
#bp-home-warm .bp-resilience-hero .bp-welcome-character:before { background:#e4c99e; }
#bp-home-warm .bp-resilience-hero .bp-character-word { color:#866348; }
#bp-home-warm .bp-contact { background:#e7eff7; color:#294c62; }
#bp-home-warm .bp-contact .bp-eyebrow { color:#58748b; }
#bp-home-warm .bp-contact h2 em { color:#526e85; }
#bp-home-warm .bp-contact .bp-button-green { background:#315c78; color:#fff6e7; }
#bp-home-warm .bp-contact-character:before { background:#cfdfeb; }
