:root{
  --ink:#140d08; --bark:#21150d; --bark-2:#2c1c11;
  --gold:#e3a72f; --honey:#f2c14e; --amber:#c98a16;
  --kraft:#d6bd91; --kraft-d:#b99866; --paper:#efe2c6; --cream:#f8efdc;
  --purple:#2e5a30; --purple-2:#5d9148; --lav:#a8c898;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Jost','Segoe UI',system-ui,sans-serif;
  --wrap:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(var(--wrap),100% - 32px);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.05;margin:0 0 .4em}
h1{font-size:clamp(2.7rem,7.2vw,5.6rem);letter-spacing:-.01em}
h2{font-size:clamp(2.1rem,4.6vw,3.3rem)}
h3{font-size:1.65rem}
p{margin:0 0 1em}
.eyebrow{display:inline-flex;align-items:center;gap:.7em;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:1.1em}
.eyebrow::before{content:"";width:22px;height:25px;background:var(--gold);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.kraft .eyebrow{color:var(--purple)}
.kraft .eyebrow::before{background:var(--purple)}

/* ---------- header ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .35s,box-shadow .35s,padding .35s;padding:14px 0}
.site-header.solid{background:rgba(20,13,8,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(227,167,47,.25);padding:8px 0}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:46px;height:46px}
.brand span{font-family:var(--serif);font-size:1.3rem;font-weight:700;line-height:1.05;color:var(--cream)}
.brand small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.26em;color:var(--gold);font-weight:500;text-transform:uppercase}
.nav{display:flex;gap:6px}
.nav a{text-decoration:none;font-size:.95rem;font-weight:500;padding:8px 15px;border-radius:99px;transition:background .25s,color .25s}
.nav a:hover{background:rgba(227,167,47,.16)}
.nav a[aria-current="page"]{background:var(--gold);color:var(--ink)}

/* ---------- boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:14px 26px;border-radius:99px;font:600 1rem var(--sans);text-decoration:none;border:2px solid var(--gold);cursor:pointer;transition:transform .25s,background .25s,color .25s,box-shadow .25s}
.btn-gold{background:var(--gold);color:var(--ink);box-shadow:0 8px 24px -8px rgba(227,167,47,.6)}
.btn-gold:hover{transform:translateY(-3px);background:var(--honey)}
.btn-ghost{background:transparent;color:var(--cream)}
.btn-ghost:hover{background:rgba(227,167,47,.15);transform:translateY(-3px)}
.btn-dark{background:var(--bark);color:var(--cream);border-color:var(--bark)}
.btn-dark:hover{background:var(--purple);border-color:var(--purple);transform:translateY(-3px)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;
  background:radial-gradient(1000px 520px at 75% 28%,rgba(242,193,78,.22),transparent 65%),linear-gradient(180deg,#140d08 0%,#12251a 62%,#1f4128 100%)}
.hex-bg{position:absolute;inset:-60px;opacity:.5;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='146' viewBox='0 0 84 146'%3E%3Cg fill='none' stroke='%23e3a72f' stroke-opacity='.16' stroke-width='1.4'%3E%3Cpath d='M42 2 80 24v44L42 90 4 68V24zM0 98l42 24 42-24M42 122v24M42 90V68'/%3E%3C/g%3E%3C/svg%3E");
  animation:hexdrift 50s linear infinite}
@keyframes hexdrift{to{background-position:84px 146px}}
.hero .wrap{position:relative;z-index:3;padding-top:110px;padding-bottom:230px}
.hero h1 em{font-style:italic;color:var(--honey);display:block}
.hero p.lead{font-size:clamp(1.05rem,2vw,1.3rem);max-width:34em;color:#e7d9bd;margin:1.3em 0 2em}
.hero .cta{display:flex;flex-wrap:wrap;gap:14px}
.hero-tag{position:absolute;right:max(16px,calc((100vw - var(--wrap))/2));bottom:46px;z-index:4;display:flex;gap:10px;align-items:center;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--kraft)}
.hero-tag::before{content:"";width:40px;height:1px;background:var(--gold)}
.vallon{position:absolute;inset:auto 0 0 0;height:min(46vh,380px);z-index:2;pointer-events:none}
.vallon svg{width:100%;height:100%;display:block}
.layer{will-change:transform}

/* ---------- sections ---------- */
section{position:relative}
.pad{padding:clamp(70px,10vw,130px) 0}
.kraft{background:var(--kraft);color:var(--bark);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .22 0 0 0 0 .08 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E")}
.kraft h2,.kraft h3{color:var(--bark)}
.dark{background:var(--bark)}
.dark-hex{background:var(--bark);overflow:hidden}
.dark-hex::before{content:"";position:absolute;inset:0;opacity:.6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='146' viewBox='0 0 84 146'%3E%3Cg fill='none' stroke='%23e3a72f' stroke-opacity='.1' stroke-width='1.4'%3E%3Cpath d='M42 2 80 24v44L42 90 4 68V24zM0 98l42 24 42-24M42 122v24M42 90V68'/%3E%3C/g%3E%3C/svg%3E")}
.dark-hex>*{position:relative}
.purple-band{background:linear-gradient(135deg,#183021,#2e5a30 60%,#183021)}
.torn{position:relative}
.torn::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:22px;background:var(--bark);clip-path:polygon(0 100%,0 60%,4% 35%,9% 70%,14% 30%,19% 65%,25% 25%,31% 68%,37% 35%,43% 70%,49% 28%,55% 66%,61% 32%,67% 70%,73% 26%,79% 64%,85% 34%,91% 70%,96% 38%,100% 60%,100% 100%)}
.section-head{max-width:40em;margin-bottom:clamp(34px,5vw,56px)}
.section-head p{font-size:1.1rem;opacity:.85}
.center{text-align:center;margin-inline:auto}

/* valeurs */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px)}
.value{display:flex;gap:18px;align-items:flex-start}
.hexicon{flex:none;width:70px;height:78px;background:var(--bark);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);display:grid;place-items:center;color:var(--honey);transition:transform .4s}
.value:hover .hexicon{transform:rotate(60deg) scale(1.06)}
.value:hover .hexicon svg{transform:rotate(-60deg)}
.hexicon svg{width:32px;height:32px;transition:transform .4s}
.value h3{font-size:1.4rem;margin-bottom:.15em}
.value p{margin:0;font-size:.98rem;opacity:.85}
.stats{display:flex;flex-wrap:wrap;gap:12px 46px;margin-top:clamp(34px,5vw,56px);padding-top:30px;border-top:1.5px dashed rgba(33,21,13,.35)}
.stat b{display:block;font:700 clamp(2.4rem,5vw,3.6rem)/1 var(--serif);color:var(--purple)}
.stat span{font-size:.82rem;letter-spacing:.2em;text-transform:uppercase}

/* produits */
.grid-miels{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.miel{position:relative;background:linear-gradient(180deg,var(--paper),#e6d3aa);color:var(--bark);border-radius:6px;padding:0 0 22px;transition:transform .4s,box-shadow .4s;box-shadow:0 18px 40px -22px #000;overflow:hidden}
.miel:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 30px 50px -22px #000}
.pot{height:150px;position:relative;display:grid;place-items:center;overflow:hidden}
.pot::before{content:"";position:absolute;inset:0;background:var(--tone)}
.pot::after{content:"";position:absolute;width:160%;height:70px;left:-30%;bottom:-36px;background:var(--paper);border-radius:50%}
.pot svg{position:relative;z-index:2;width:92px;height:auto;filter:drop-shadow(0 8px 10px rgba(0,0,0,.25));transition:transform .5s}
.miel:hover .pot svg{transform:translateY(-6px) scale(1.06)}
.miel .body{padding:14px 20px 0}
.season{display:inline-block;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--purple);border:1.5px solid var(--purple);border-radius:99px;padding:2px 10px;margin-bottom:10px}
.miel h3{font-size:1.75rem;margin-bottom:.25em}
.miel p.d{font-size:.95rem;opacity:.82;min-height:4.4em}
.prices{list-style:none;margin:10px 0 0;padding:0}
.prices li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-top:1px dashed rgba(33,21,13,.3);font-size:.98rem}
.prices li i{flex:1;border-bottom:1px dotted rgba(33,21,13,.35);transform:translateY(-4px)}
.prices b{font-family:var(--serif);font-size:1.3rem;color:var(--purple)}
.autres{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:760px}
.autre{display:flex;gap:18px;align-items:center;background:var(--bark);color:var(--cream);border-radius:6px;padding:20px 24px;box-shadow:0 18px 34px -22px #000}
.autre .hexicon{background:var(--gold);color:var(--bark)}
.autre h3{color:var(--honey);margin:0}
.autre p{margin:0;font-size:.95rem;opacity:.85}
.autre b{font:700 1.5rem var(--serif);color:var(--honey)}

/* split / storytelling */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,80px);align-items:center}
.hexframe{position:relative;width:min(100%,430px);aspect-ratio:1/1.12;margin-inline:auto;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,#183021,#5d9148);display:grid;place-items:center}
.hexframe::before{content:"";position:absolute;inset:12px;clip-path:inherit;background:radial-gradient(circle at 50% 38%,rgba(242,193,78,.4),transparent 55%),linear-gradient(180deg,#12251a,#2e5a30)}
.hexframe img{position:relative;width:62%}
.hexwrap{position:relative;filter:drop-shadow(0 0 0 var(--gold))}
.quote{font:italic 600 clamp(1.5rem,3vw,2.2rem)/1.25 var(--serif);color:var(--honey);border-left:3px solid var(--gold);padding-left:22px;margin:1.4em 0}
.checks{list-style:none;padding:0;margin:1.2em 0 0;display:grid;gap:10px}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks li::before{content:"";flex:none;margin-top:.45em;width:16px;height:18px;background:var(--gold);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}

/* timeline saisons */
.saisons{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
.saison{position:relative;padding:28px 26px;background:rgba(248,239,220,.06);border:1px solid rgba(227,167,47,.3);border-radius:6px;counter-increment:s;transition:transform .35s,background .35s}
.saison:hover{transform:translateY(-6px);background:rgba(227,167,47,.1)}
.saison::before{content:counter(s,decimal-leading-zero);position:absolute;top:10px;right:18px;font:700 3.4rem/1 var(--serif);color:rgba(227,167,47,.25)}
.saison h3{color:var(--honey)}
.saison p{margin:0;opacity:.85;font-size:.98rem}

/* contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,5vw,60px);align-items:start}
.infos{display:grid;gap:14px}
.info{display:flex;gap:16px;align-items:center;background:var(--paper);color:var(--bark);border-radius:6px;padding:16px 20px;text-decoration:none;transition:transform .3s,box-shadow .3s;box-shadow:0 14px 28px -20px #000}
a.info:hover{transform:translateX(6px)}
.info .hexicon{width:54px;height:60px}
.info .hexicon svg{width:24px;height:24px}
.info small{display:block;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--purple);font-weight:600}
.info b{font:700 1.3rem var(--serif)}
.map{border-radius:6px;overflow:hidden;border:2px solid var(--bark);height:230px;filter:sepia(.35) saturate(.85)}
.map iframe{width:100%;height:100%;border:0}
.order{background:var(--bark);color:var(--cream);border-radius:8px;padding:clamp(22px,4vw,38px);box-shadow:0 30px 60px -30px #000;border:1px solid rgba(227,167,47,.35)}
.order h2{font-size:2.2rem;color:var(--honey)}
.order .sub{opacity:.8;font-size:.98rem;margin-bottom:1.3em}
.line{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 0;border-top:1px dashed rgba(227,167,47,.3)}
.line .n{font:700 1.25rem var(--serif)}
.line .n small{display:block;font:400 .78rem var(--sans);opacity:.7}
.line select,.order input[type=text],.order textarea{background:rgba(248,239,220,.08);color:var(--cream);border:1px solid rgba(227,167,47,.45);border-radius:6px;padding:9px 10px;font:500 .95rem var(--sans)}
.line select option{color:var(--ink)}
.qty{display:flex;align-items:center;border:1px solid rgba(227,167,47,.45);border-radius:99px;overflow:hidden}
.qty button{width:34px;height:34px;background:none;border:0;color:var(--honey);font:600 1.2rem var(--sans);cursor:pointer}
.qty button:hover{background:rgba(227,167,47,.2)}
.qty output{min-width:26px;text-align:center;font-weight:600}
.total{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0 4px;border-top:2px solid var(--gold);margin-top:8px}
.total b{font:700 2.1rem var(--serif);color:var(--honey)}
.fields{display:grid;gap:10px;margin:14px 0}
.order input[type=text],.order textarea{width:100%}
.order textarea{resize:vertical;min-height:70px}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.note{font-size:.82rem;opacity:.7;margin:14px 0 0}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,120px);background:var(--gold);color:var(--ink);padding:12px 22px;border-radius:99px;font-weight:600;z-index:90;transition:transform .4s}
.toast.on{transform:translate(-50%,0)}

/* page hero interne */
.page-hero{position:relative;padding:150px 0 90px;background:radial-gradient(800px 380px at 80% 10%,rgba(242,193,78,.2),transparent 65%),linear-gradient(180deg,#140d08,#183021);overflow:hidden}
.page-hero .wrap{position:relative;z-index:2}
.page-hero p{max-width:36em;font-size:1.15rem;color:#e7d9bd}

/* footer */
.site-footer{background:var(--ink);border-top:1px solid rgba(227,167,47,.25);padding:54px 0 34px}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:34px}
.foot h4{font:600 .78rem var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.foot a{display:block;text-decoration:none;opacity:.85;margin-bottom:6px}
.foot a:hover{color:var(--honey);opacity:1}
.foot p{opacity:.8;font-size:.95rem}
.legal{margin-top:34px;padding-top:20px;border-top:1px dashed rgba(227,167,47,.2);font-size:.8rem;opacity:.6;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}

/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
.js-off .rv{opacity:1;transform:none}

/* ---------- ABEILLE ---------- */
.bee{position:fixed;left:0;top:0;width:var(--bs,clamp(64px,8.5vw,108px));aspect-ratio:720/578;z-index:70;pointer-events:none;will-change:transform;opacity:0;transition:opacity .8s}
.bee.on{opacity:1}
.bee-rot{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.bee-bob{position:absolute;inset:0;animation:bob .5s ease-in-out infinite alternate;filter:drop-shadow(0 12px 10px rgba(0,0,0,.35))}
.bee.perched .bee-bob{animation-duration:2.6s}
@keyframes bob{from{transform:translateY(-3%)}to{transform:translateY(3%)}}
.bee img{position:absolute;inset:0;width:100%;height:100%;user-select:none}
.wing{position:absolute;inset:0;background:url(../img/abeille.webp) center/100% 100% no-repeat;transform-origin:53.5% 35%;animation:flap .075s ease-in-out infinite alternate;opacity:.96}
.wing.f{clip-path:polygon(3% 13%,18% 12%,42% 26%,53% 34%,46% 41%,36% 43%,21% 39%,4% 17%)}
.wing.b{clip-path:polygon(15% 2%,24% 0,36% 9%,48% 22%,46% 28%,28% 17%,16% 7%);animation-delay:-.035s}
.bee.perched .wing{animation-duration:.42s}
@keyframes flap{from{transform:rotate(-9deg) scaleY(1.04)}to{transform:rotate(7deg) scaleY(.9)}}
.bee.still .bee-bob,.bee.still .wing{animation:none}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .grid-miels{grid-template-columns:repeat(2,1fr)}
  .values{grid-template-columns:1fr}
  .split,.contact-grid{grid-template-columns:1fr}
  .saisons{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr}
  .foot>div:first-child{grid-column:1/-1}
}
@media (max-width:620px){
  body{font-size:16px}
  .brand span{display:none}
  .brand img{width:42px;height:42px}
  .nav{gap:2px}
  .nav a{padding:8px 12px;font-size:.88rem;white-space:nowrap}
  .foot .brand span{display:block}
  .grid-miels,.autres{grid-template-columns:1fr}
  .hero .wrap{padding-bottom:190px}
  .hero-tag{display:none}
  .line{grid-template-columns:1fr auto}
  .line select{grid-column:1/-1;order:3}
  .foot{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ---------- v2 : photos, menu, formulaire mail ---------- */
.nav .sm{display:none}
.band-photo{position:relative;padding:clamp(90px,14vw,190px) 0;background-color:#0f1f14;background-position:center;background-size:cover;background-attachment:fixed;color:var(--cream)}
.band-photo.bg-vignes{background-image:linear-gradient(180deg,rgba(16,34,22,.80),rgba(20,13,8,.72)),url(../img/vignes.webp)}
.band-photo .quote{margin:0}
.page-hero.photo{background-position:center 35%;background-size:cover;background-repeat:no-repeat}
.page-hero.photo.bg-ruches{background-image:linear-gradient(180deg,rgba(20,13,8,.82),rgba(20,13,8,.5) 55%,rgba(20,13,8,.95)),url(../img/apiculteur-ruches.webp)}
.page-hero.photo.bg-vergers{background-image:linear-gradient(180deg,rgba(20,13,8,.82),rgba(20,13,8,.55) 55%,rgba(20,13,8,.95)),url(../img/ruches-vergers.webp)}
.arch{margin:0;position:relative;width:min(100%,460px);margin-inline:auto}
.arch img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 10px 10px;border:3px solid var(--gold);box-shadow:16px 16px 0 -2px rgba(227,167,47,.28),0 30px 60px -28px #000}
.arch figcaption,.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 14px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:linear-gradient(transparent,rgba(20,13,8,.8));border-radius:0 0 10px 10px;text-align:center}
.arch figcaption{left:3px;right:3px;bottom:3px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:10px;aspect-ratio:4/5;box-shadow:0 26px 40px -26px #000;border:1px solid rgba(227,167,47,.35)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.gallery figure:hover img{transform:scale(1.07)}
.saison .sp{width:calc(100% + 52px);margin:-28px -26px 18px;height:170px;object-fit:cover;border-radius:6px 6px 0 0;filter:saturate(1.05)}
.saison::before{z-index:2;color:rgba(255,255,255,.8);text-shadow:0 2px 8px rgba(0,0,0,.6)}
.fl{display:grid;gap:5px}
.fl>span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:500}
.order input[type=email],.order input[type=tel]{background:rgba(248,239,220,.08);color:var(--cream);border:1px solid rgba(227,167,47,.45);border-radius:6px;padding:11px 12px;font:500 1rem var(--sans);width:100%}
.order input[type=text]{padding:11px 12px;font-size:1rem}
.order input:focus,.order textarea:focus,.order select:focus{outline:2px solid var(--honey);outline-offset:1px}
.fl select{background:rgba(248,239,220,.08);color:var(--cream);border:1px solid rgba(227,167,47,.45);border-radius:6px;padding:11px 12px;font:500 1rem var(--sans)}
.fl select option{color:#140d08}
.ck{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;opacity:.85;cursor:pointer}
.ck input{margin-top:.3em;accent-color:var(--gold);width:18px;height:18px;flex:none}
.err{background:rgba(201,60,60,.18);border:1px solid #d96a6a;color:#ffd9d9;border-radius:6px;padding:10px 14px;font-size:.92rem;margin:0 0 14px}
.order{position:relative}
.order.sending .btn-gold{opacity:.6;pointer-events:none}
.done{position:absolute;inset:0;background:var(--bark);border-radius:8px;display:grid;align-content:center;justify-items:center;text-align:center;padding:30px;z-index:5;animation:fadein .5s both}
.done h3{color:var(--honey);font-size:2rem}
.done[hidden]{display:none}
@keyframes fadein{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.bee.scared .wing{animation-duration:.04s}
@media (max-width:980px){
  .band-photo{background-attachment:scroll}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery figure:last-child{grid-column:1/-1;aspect-ratio:16/9}
}
@media (max-width:620px){
  .nav .lg{display:none}
  .nav .sm{display:inline}
  .gallery{grid-template-columns:1fr}
  .gallery figure,.gallery figure:last-child{aspect-ratio:4/3}
  .arch img{border-radius:999px 999px 10px 10px}
}
.saison .sp{max-width:none}
.done .hexicon{background:var(--gold);color:var(--bark)}
.brand{flex:none}
.brand img{flex:none}
@media (max-width:620px){
  .site-header .wrap{gap:8px}
  .nav{gap:0}
  .nav a{padding:8px 9px;font-size:.84rem}
}
@media (max-width:380px){
  .nav a{padding:8px 6px;font-size:.78rem}
  .brand img{width:36px;height:36px}
}

/* ---------- v3 : hero photo de coteaux ---------- */
.hero.photo{background-color:#140d08;
  background-image:
    linear-gradient(90deg,rgba(20,13,8,.78) 0%,rgba(20,13,8,.45) 48%,rgba(20,13,8,.08) 100%),
    linear-gradient(180deg,rgba(20,13,8,.55) 0%,rgba(20,13,8,.05) 32%,rgba(18,37,26,.45) 72%,rgba(18,37,26,.85) 100%),
    url(../img/hero-vignes.webp);
  background-size:cover;background-position:center 62%}
.hero.photo h1,.hero.photo p.lead{text-shadow:0 2px 24px rgba(0,0,0,.45)}
.brand span{max-width:15.5em;font-size:1.12rem}
.brand small{letter-spacing:.2em}

/* ===== v4 : vert, kraft, nature & ludique ===== */
:root{
  --kraft:#cfae78; --kraft-d:#a98652; --paper:#dcc190;
  --leaf:#5d9148; --moss:#2e5a30;
  --kraft-tex:url("../img/kraft.webp");
}
.kraft{background-color:var(--kraft);background-image:var(--kraft-tex)}
.miel,.info{background-color:var(--paper);background-image:var(--kraft-tex)}
.pot::after{background-color:var(--paper);background-image:var(--kraft-tex)}
.kraft .eyebrow,.kraft .stat b,.season,.prices b,.info small{color:var(--moss)}
.kraft .eyebrow::before{background:var(--moss)}
.btn-dark:hover{background:var(--moss);border-color:var(--moss)}

/* feuilles et pollen qui flottent */
.floaty{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.floaty i{position:absolute;top:-8%;left:var(--x);width:var(--s);height:var(--s);opacity:.0;animation:fall var(--t) linear var(--dl) infinite}
.floaty i.lf{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M4 36C4 16 16 4 36 4c0 20-10 32-30 32z' fill='%236fa656'/%3E%3Cpath d='M6 34C16 24 24 16 32 8' stroke='%232e5a30' stroke-width='2' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}
.floaty i.lf.o{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M4 36C4 16 16 4 36 4c0 20-10 32-30 32z' fill='%23e3a72f'/%3E%3Cpath d='M6 34C16 24 24 16 32 8' stroke='%23a5650f' stroke-width='2' fill='none'/%3E%3C/svg%3E")}
.floaty i.po{border-radius:50%;background:radial-gradient(circle,#ffe08a,#e3a72f 60%,transparent 70%)}
@keyframes fall{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}8%{opacity:.85}50%{transform:translate3d(calc(var(--w)*-1),55vh,0) rotate(160deg)}92%{opacity:.8}100%{transform:translate3d(var(--w),112vh,0) rotate(320deg);opacity:0}}
.hero,.page-hero{overflow:hidden}

/* ludique : petits gestes au survol */
.miel{transform-origin:50% 100%}
.miel:hover{transform:translateY(-10px) rotate(-1.6deg)}
.miel:nth-child(even):hover{transform:translateY(-10px) rotate(1.6deg)}
.value .hexicon{transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.value:hover .hexicon{transform:rotate(60deg) scale(1.12)}
.btn{transition:transform .25s cubic-bezier(.3,1.6,.5,1),box-shadow .25s,background .25s}
.btn:hover{transform:translateY(-3px) scale(1.04) rotate(-1deg)}
.stat b{display:inline-block;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.stat:hover b{transform:scale(1.14) rotate(-3deg)}

/* bandeau d'herbe + fleurs au-dessus du pied de page */
.meadow{height:64px;margin-top:-63px;position:relative;z-index:3;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='64' viewBox='0 0 360 64'%3E%3Cpath d='M40 56 V10' stroke='%232e5a30' stroke-width='2'/%3E%3Ccircle cx='40' cy='6' r='5.5' fill='%23f2c14e'/%3E%3Ccircle cx='40' cy='6' r='2.2' fill='%23a5650f'/%3E%3Cpath d='M115 56 V20' stroke='%232e5a30' stroke-width='2'/%3E%3Ccircle cx='115' cy='16' r='5.5' fill='%23f8efdc'/%3E%3Ccircle cx='115' cy='16' r='2.2' fill='%23e3a72f'/%3E%3Cpath d='M190 56 V20' stroke='%232e5a30' stroke-width='2'/%3E%3Ccircle cx='190' cy='16' r='5.5' fill='%23e3a72f'/%3E%3Ccircle cx='190' cy='16' r='2.2' fill='%23140d08'/%3E%3Cpath d='M262 56 V15' stroke='%232e5a30' stroke-width='2'/%3E%3Ccircle cx='262' cy='11' r='5.5' fill='%23f2c14e'/%3E%3Ccircle cx='262' cy='11' r='2.2' fill='%23a5650f'/%3E%3Cpath d='M330 56 V17' stroke='%232e5a30' stroke-width='2'/%3E%3Ccircle cx='330' cy='13' r='5.5' fill='%23f2c14e'/%3E%3Ccircle cx='330' cy='13' r='2.2' fill='%23a5650f'/%3E%3Cpath d='M0.0 64.0 L0.0 50.0 L4.5 43.0 L9.0 51.0 L12.5 46.0 L16.0 57.0 L20.5 30.0 L25.0 51.0 L27.5 31.0 L30.0 55.0 L34.5 42.0 L39.0 50.0 L43.0 44.0 L47.0 51.0 L51.5 24.0 L56.0 55.0 L59.0 38.0 L62.0 50.0 L65.0 30.0 L68.0 57.0 L70.5 38.0 L73.0 58.0 L77.5 45.0 L82.0 54.0 L84.5 41.0 L87.0 52.0 L91.5 35.0 L96.0 52.0 L100.0 28.0 L104.0 51.0 L108.5 27.0 L113.0 57.0 L116.5 46.0 L120.0 51.0 L123.0 49.0 L126.0 52.0 L129.5 44.0 L133.0 52.0 L136.5 26.0 L140.0 53.0 L144.0 34.0 L148.0 52.0 L152.5 33.0 L157.0 53.0 L160.0 32.0 L163.0 54.0 L165.5 29.0 L168.0 53.0 L171.0 31.0 L174.0 57.0 L178.5 33.0 L183.0 54.0 L186.0 28.0 L189.0 57.0 L191.5 41.0 L194.0 57.0 L198.0 35.0 L202.0 52.0 L204.5 39.0 L207.0 54.0 L209.5 46.0 L212.0 57.0 L216.0 37.0 L220.0 58.0 L224.5 49.0 L229.0 53.0 L233.5 38.0 L238.0 50.0 L241.5 33.0 L245.0 54.0 L247.5 43.0 L250.0 57.0 L252.5 50.0 L255.0 58.0 L259.5 31.0 L264.0 54.0 L268.0 44.0 L272.0 56.0 L275.5 31.0 L279.0 53.0 L281.5 28.0 L284.0 56.0 L287.5 40.0 L291.0 51.0 L295.0 38.0 L299.0 50.0 L303.0 34.0 L307.0 50.0 L311.5 47.0 L316.0 55.0 L320.0 42.0 L324.0 54.0 L328.0 41.0 L332.0 50.0 L335.5 34.0 L339.0 52.0 L341.5 40.0 L344.0 58.0 L347.5 32.0 L351.0 56.0 L355.5 38.0 L360.0 56.0 L360.0 64.0Z' fill='%232e5a30'/%3E%3C/svg%3E") repeat-x bottom/360px 64px;animation:sway 6s ease-in-out infinite;transform-origin:50% 100%}
@keyframes sway{0%,100%{transform:skewX(0)}50%{transform:skewX(1.2deg)}}

/* atelier des petits apiculteurs */
.atelier .split{align-items:center}
.sticker{margin:0;position:relative;transform:rotate(-2.2deg);transition:transform .5s cubic-bezier(.3,1.6,.5,1);max-width:480px;justify-self:center}
.sticker:hover{transform:rotate(1.2deg) scale(1.03)}
.sticker .ph{position:relative;background:#fffaf0;padding:12px 12px 56px;box-shadow:0 26px 44px -22px rgba(20,13,8,.7);border-radius:4px}
.sticker .ph img{display:block;width:100%;aspect-ratio:1/.94;object-fit:cover;border-radius:2px;background:linear-gradient(135deg,#3f7a3c,#183021)}
.sticker .ph.nophoto{min-height:300px;background:#fffaf0}
.sticker .ph.nophoto img{visibility:hidden;min-height:260px}
.sticker figcaption{position:absolute;left:0;right:0;bottom:14px;text-align:center;font:italic 600 1.35rem var(--serif);color:var(--bark)}
.sticker::before,.sticker::after{content:"";position:absolute;width:96px;height:30px;background:rgba(231,214,170,.85);box-shadow:0 2px 6px rgba(0,0,0,.2);z-index:2}
.sticker::before{top:-12px;left:-26px;transform:rotate(-38deg)}
.sticker::after{top:-12px;right:-26px;transform:rotate(36deg)}
.sticker .badge{position:absolute;right:-18px;bottom:34px;z-index:3;width:104px;height:104px;display:grid;place-items:center;text-align:center;background:var(--gold);color:var(--bark);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);font:700 .86rem/1.15 var(--sans);animation:bob 3.2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-8px) rotate(6deg)}}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 22px}
.fact{perspective:700px;border:0;background:none;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:center;min-height:132px}
.fact>span{position:relative;display:block;width:100%;height:100%;min-height:132px;transition:transform .6s cubic-bezier(.3,1.4,.5,1);transform-style:preserve-3d}
.fact.on>span{transform:rotateY(180deg)}
.fact .f,.fact .b{position:absolute;inset:0;display:grid;place-items:center;padding:12px;border-radius:8px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.fact .f{background:var(--moss);color:var(--cream);font:700 1rem/1.2 var(--serif);box-shadow:0 14px 24px -16px #000}
.fact .f b{display:block;font:700 2.1rem/1 var(--serif);color:var(--honey)}
.fact .b{background:var(--bark);color:var(--cream);transform:rotateY(180deg);font-size:.86rem;line-height:1.35;border:1.5px dashed var(--gold)}
.fact:hover>span{transform:rotate(-2deg) scale(1.04)}
.fact.on:hover>span{transform:rotateY(180deg) scale(1.04)}
@media(max-width:760px){.facts{grid-template-columns:1fr}.fact,.fact>span{min-height:96px}.sticker .badge{right:-6px}}
@media (prefers-reduced-motion:reduce){.floaty,.meadow,.sticker .badge{animation:none}.floaty i{display:none}}
.sticker .ph.nophoto::before{content:"";position:absolute;left:12px;right:12px;top:12px;bottom:56px;border-radius:2px;
  background:radial-gradient(circle at 50% 42%,rgba(242,193,78,.5),transparent 55%),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='146' viewBox='0 0 84 146'%3E%3Cg fill='none' stroke='%23f2c14e' stroke-opacity='.28' stroke-width='2'%3E%3Cpath d='M42 2l38 22v44L42 90 4 68V24zM0 94l4-26M84 94l-4-26M42 90v36l38 22M42 126L4 148'/%3E%3C/g%3E%3C/svg%3E"),
  linear-gradient(135deg,#3f7a3c,#183021)}

/* dicton */
.saying{position:relative;text-align:center;background:linear-gradient(180deg,#12251a,#183021 55%,#12251a);overflow:hidden}
.saying::before{content:"“";position:absolute;left:50%;top:-.12em;transform:translateX(-50%);font:700 clamp(14rem,34vw,26rem)/1 var(--serif);color:var(--gold);opacity:.1;pointer-events:none}
.saying blockquote{position:relative;margin:0 auto;max-width:860px}
.saying p{font:italic 600 clamp(1.7rem,4.2vw,3rem)/1.22 var(--serif);color:var(--cream);margin:0}
.saying footer{margin-top:24px;font-size:.82rem;letter-spacing:.24em;text-transform:uppercase;color:var(--honey);display:inline-flex;align-items:center;gap:14px}
.saying footer::before,.saying footer::after{content:"";width:34px;height:1.5px;background:var(--gold)}

.kraft,.miel,.info,.pot::after{background-size:cover;background-position:center}
