
:root{
  --ink:#171716;
  --cream:#fbf8f1;
  --paper:#171716;
  --accent:#e0b56c;
  --accent-hover:#f1d19a;
  --line:#ffffff2b;
  --text:#e8e5df;
  --display:clamp(2.4rem,3.6vw,4.4rem);
  --body:1rem;
  --separator:96px;
  --content:100%;
  /* Police unique du site : modifier cette variable pour changer toute la typographie. */
  --font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--ink);color:#fff;font-family:var(--font-family);font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.header{position:absolute;z-index:20;inset:0 0 auto;display:flex;align-items:center;gap:18px;padding:20px 5vw;color:#fff;background:linear-gradient(#0008,transparent)}
.brand img{display:block;width:150px;max-height:54px;object-fit:contain}
.header nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:.9rem;font-weight:600}
.header nav a{opacity:.92}
.header .pill{padding:10px 18px;border:1px solid #fff;border-radius:999px}
.menu{display:none;background:none;border:0;color:#fff;font-size:24px;cursor:pointer}
.language-switcher{display:flex;align-items:center;gap:6px;white-space:nowrap}
.language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 7px;border:1px solid #ffffff55;border-radius:999px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.05em;opacity:.75}
.language-switcher a:hover,.language-switcher a.active{opacity:1;background:#ffffff18;border-color:#fff}

.hero{min-height:760px;position:relative;overflow:hidden;background:var(--ink);color:#fff;display:flex;align-items:center}
.hero-photo,.hero-overlay{position:absolute;inset:0}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-overlay{background:linear-gradient(90deg,#0a0a09e8 0%,#0a0a097d 45%,#0a0a0930 100%),linear-gradient(0deg,#0009 0%,transparent 45%)}
.hero-content{position:relative;z-index:2;width:min(680px,90%);margin-left:8vw;padding-top:70px}
.eyebrow,.kicker{letter-spacing:.18em;font-size:.73rem;font-weight:700}
.hero h1{margin:18px 0 26px;text-transform:uppercase;font-size:clamp(2.89rem,6.5025vw,5.78rem);line-height:.88;}
.hero h1 span{font-weight:400;color:var(--accent)}
.hero-content>p:not(.eyebrow){max-width:600px;font-size:1.1rem;color:#eee}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;border:1px solid transparent;border-radius:2px;font-weight:700;cursor:pointer}
.primary{background:var(--accent);color:var(--ink)} .ghost{border-color:#fff;color:#fff}.darkbtn{background:var(--ink);color:#fff}.light{border-color:#fff;color:#fff}
.hero-mark{position:absolute;z-index:2;right:6vw;bottom:42px;text-align:center;opacity:.8;letter-spacing:.2em;font-size:1rem}.hero-mark small{font-size:1.4rem}

.ribbon{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:24px 7vw;background:var(--ink);color:#fff}
.ribbon div{display:flex;align-items:center;gap:15px;border-right:1px solid #ffffff22}.ribbon div:last-child{border:0}.ribbon b{font-size:1.05rem;white-space:nowrap}.ribbon span{font-size:.9rem;color:#cfcfc8}

.section{width:100%;padding:100px 7vw;background:var(--ink)}
.feature{width:100%;display:grid;min-width:0;overflow:hidden;background:var(--ink)}
.feature--3-1{grid-template-columns:minmax(0,7fr) minmax(280px,3fr)}
.feature--1-3{grid-template-columns:minmax(280px,1fr) minmax(0,3fr)}
.feature--50{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.feature__media,.feature__copy{min-width:0}
.feature__media{overflow:hidden;background:var(--ink)}
.feature__media img{display:block;width:100%;height:100%;object-fit:cover}
.feature__copy{display:flex;flex-direction:column;justify-content:center;padding:56px 4.2vw 56px 3.2vw;background:var(--ink)}
.feature--1-3 .feature__copy{padding-left:3.2vw;padding-right:3.2vw}
.feature__copy .kicker{color:var(--accent);margin:0 0 10px}
.feature__copy h2{margin:0 0 24px;font-size:var(--display);line-height:.95;color:#fff}
.feature__copy p{max-width:560px;margin:0 0 20px;color:var(--text);font-size:var(--body);line-height:1.7}
.feature__copy .btn{align-self:flex-start;border-color:var(--accent);background:transparent;color:var(--accent)}
.feature__copy .btn:hover{background:#e0b56c18;color:var(--accent-hover)}

.adventure-feature .feature__media{min-height:520px}.adventure-feature .feature__media img{object-position:center}
.adventure-nowrap{white-space:nowrap}
.cafes-feature .feature__media{min-height:520px}
.cafes-feature .feature__media img{object-position:center}
.atelier-feature .feature__media,.pro-feature .feature__media{min-height:520px}

.cafes-feature{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,7fr)}
.cafes-feature__copy{padding:56px 3.2vw;}
.cafes-feature__copy .product-count{margin-top:6px;color:#b7b1a6;letter-spacing:.12em;font-size:.78rem;text-transform:uppercase}
.cafes-feature__media a{position:absolute}
.cafes-feature__media{position:relative}

.feature-link{margin-top:8px}

.separator{height:var(--separator);background:var(--ink)}

.final-contact{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-width:0;background:var(--ink)}
.final-contact__photo{min-width:0;min-height:520px;overflow:hidden}.final-contact__photo img{display:block;width:100%;height:100%;object-fit:cover}
.final-contact__panel{display:flex;flex-direction:column;justify-content:center;padding:70px 6vw 70px 5vw;background:var(--ink)}
.final-contact__panel h2{margin:0 0 42px;font-size:var(--display);line-height:.98;color:#fff}
.final-contact__eyebrow{margin:0 0 12px;color:var(--accent);letter-spacing:.18em;font-size:.73rem;font-weight:700}
.final-contact__columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.final-contact__group{min-width:0}.final-contact__group + .final-contact__group{border-left:1px solid var(--accent);padding-left:30px}
.final-contact__group h3{margin:0 0 10px;color:var(--accent);font-size:1rem;letter-spacing:.18em;text-transform:uppercase}
.section-icon{width:34px;height:34px;margin:0 0 10px;color:var(--accent)}.section-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.final-contact__group p{margin:0 0 18px;color:var(--text);line-height:1.65}
.cta-stack{display:flex;flex-direction:column;gap:12px}
.cta-stack .btn{width:100%;border-color:var(--accent);background:transparent;color:var(--accent)}
.cta-stack .cta-retail-link{white-space:nowrap}
.cta-stack .btn:hover{background:#e0b56c18;color:var(--accent-hover)}
.social-icons{display:flex;justify-content:center;gap:10px;margin-top:18px}
.social-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--accent);border-radius:50%;color:var(--accent);background:transparent}
.social-icon svg{width:18px;height:18px;fill:currentColor;stroke:currentColor;stroke-width:1.2}.social-icon--instagram svg{fill:none;stroke:currentColor;stroke-width:1.8}
.social-icon:hover{background:var(--accent);color:var(--ink)}

/* Dedicated pages */
.page-hero{min-height:520px}
.page-hero .hero-content{padding-top:30px}
.page-shell{width:min(1100px,100%);margin:0 auto;padding:96px 0}
.page-shell--narrow{width:min(1000px,100%)}
/* Coffee page */
.page-section{width:100%;padding:100px 7vw;background:var(--ink);color:#fff}
.product-section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:42px}
.product-section-head>div{min-width:0}
.product-section-head>p{max-width:380px;margin:0}
.product-section-head h2{margin:0;font-size:var(--display);line-height:.95}
.page-section:not(.page-section--cta) .product-section-head .kicker{color:var(--accent)}
.page-section:not(.page-section--cta) .product-section-head>p{color:var(--text)}
.coffee-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.coffee-card{background:#fff;border:1px solid #d8d0c2}
.coffee-card__image{height:300px;position:relative;overflow:hidden;background:#ddd}
.coffee-card__image img{width:100%;height:100%;object-fit:cover}
.coffee-card__badge{position:absolute;top:12px;left:12px;padding:7px 9px;background:#171716e8;color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.1em}
.coffee-card__body{padding:23px}
.coffee-card__body h3{font-size:1.7rem;text-transform:uppercase;margin:0 0 8px}
.coffee-card__body p{margin:0 0 16px;font-size:.9rem}
.coffee-card__profile{font-size:.78rem;color:#6b422b}
.page-section--cta .product-section-head .kicker{color:var(--accent)}
.page-section--cta .product-section-head>p{color:var(--text)}
.page-section--cta .actions{margin-top:0}
.legal-page h1,.page-shell h1{font-size:clamp(2.8rem,5vw,5rem);line-height:1;margin:0 0 28px}.legal-page h2,.page-shell h2{margin-top:48px}.legal-page p,.page-shell p{max-width:760px}.points-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:40px}.point-card{padding:25px;border:1px solid #d8d0c2;background:var(--cream);color:var(--ink)}.point-card strong{display:block;font-size:1.15rem;text-transform:uppercase;letter-spacing:.04em}.point-card span{display:block;margin:7px 0;color:#5f5a52}.point-card b{display:block;font-size:.95rem}
.article-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}.article-card{border-top:1px solid #d8d0c2;padding-top:18px}.article-card h3{margin:.2rem 0 .5rem;font-size:1.35rem}.article-card p{font-size:.9rem}

.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:18px 5vw;background:var(--ink);color:#fff;border-top:1px solid #ffffff12}.site-footer__left{justify-self:start}.site-footer__left img{width:110px;max-height:42px;object-fit:contain}.site-footer__center{justify-self:center}.site-footer__legal{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;font-size:.78rem}.site-footer__right{justify-self:end;text-align:right}.site-footer small{color:#aaa}

@media(max-width:950px){
  .header{gap:12px}.header nav{display:none;position:absolute;top:76px;left:5vw;right:5vw;flex-direction:column;align-items:stretch;gap:10px;padding:16px;background:#171716f2;border:1px solid #ffffff20}.header nav.open{display:flex}.header nav a{padding:10px 0}.header .pill{border-radius:2px;text-align:center}.menu{display:block;margin-left:2px}.language-switcher{margin-left:auto}
  .hero{min-height:700px}.hero-mark{display:none}.hero-content{margin-left:5vw}
  .ribbon{grid-template-columns:1fr}.ribbon div{border-right:0;border-bottom:1px solid #ffffff22;padding-bottom:12px}.ribbon div:last-child{border-bottom:0}
  .feature--3-1,.feature--1-3,.feature--50,.cafes-feature,.final-contact{grid-template-columns:1fr}.feature__media{min-height:420px}.feature__copy{padding:52px 7vw}.final-contact__photo{min-height:420px}.final-contact__panel{padding:56px 7vw}.final-contact__columns{grid-template-columns:1fr;gap:26px}.final-contact__group + .final-contact__group{border-left:0;border-top:1px solid var(--accent);padding-left:0;padding-top:26px}
  .coffee-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-list{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;text-align:center}.site-footer__left,.site-footer__center,.site-footer__right{justify-self:center;text-align:center}
}
@media(max-width:600px){
  .section{padding:70px 5vw}.hero h1{font-size:3.2895rem}.feature__media,.final-contact__photo{min-height:300px}.feature__copy{padding:46px 5vw 50px}.feature__copy h2,.final-contact__panel h2{font-size:3rem}.feature__copy p{font-size:.96rem}.cafes-feature .feature__media{min-height:330px}.page-shell{padding:70px 5vw}.page-hero{min-height:520px}.points-list{grid-template-columns:1fr}.final-contact__panel{padding:48px 5vw}.final-contact__panel h2{margin-bottom:34px}.site-footer{padding:20px 14px}.site-footer__legal{gap:10px 14px}
}

@media(max-width:950px){
  .product-section-head{flex-direction:column;align-items:flex-start;gap:22px}
}
@media(max-width:600px){
  .page-section{padding:70px 5vw}
  .coffee-card-grid{grid-template-columns:1fr}
}


/* Nos cafés — composition dédiée */
.coffee-page-hero .hero-content>p:not(.eyebrow){max-width:650px}
.coffee-page-hero .actions{flex-wrap:wrap}

.coffee-intro{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:470px;background:var(--ink);color:#fff}
.coffee-intro__copy{padding:68px 5vw 68px 7vw;display:flex;flex-direction:column;justify-content:center}
.coffee-intro__copy .kicker,.origin-banner .kicker,.coffee-product .kicker,.coffee-closing .kicker{color:var(--accent);margin:0 0 10px}
.coffee-intro__copy h2,.origin-banner h2,.coffee-product__content h2,.coffee-closing h2{line-height:.95;margin:0}
.coffee-intro__copy h2{font-size:clamp(2.4rem,4vw,4rem);margin-bottom:20px}
.coffee-intro__copy>p:last-child{max-width:650px;color:var(--text);font-size:1rem;line-height:1.65;margin:0}
.coffee-intro__facts{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;padding:52px 5vw 52px 3vw;background:#1d1d1b}
.coffee-intro__facts div{padding:0 20px;border-left:1px solid #ffffff22}
.coffee-intro__facts strong{display:block;color:var(--accent);font-size:2.8rem;line-height:1;font-weight:400;margin-bottom:10px}
.coffee-intro__facts span{display:block;color:#d3d0c9;font-size:.86rem;line-height:1.45}

.coffee-chooser{padding:48px 7vw;background:#fbf8f1;color:var(--ink);border-top:1px solid #d8d0c2;border-bottom:1px solid #d8d0c2}
.coffee-chooser__head{display:flex;justify-content:space-between;align-items:end;gap:38px;margin-bottom:24px}
.coffee-chooser__head .kicker{margin:0 0 8px;color:#8e6b2c}
.coffee-chooser__head h2{font-size:clamp(1.85rem,3.2vw,3rem);line-height:1;margin:0}
.coffee-chooser__head>p{max-width:480px;margin:0;line-height:1.6;color:#5d584f}
.coffee-chooser__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.coffee-chooser__item{display:flex;flex-direction:column;gap:8px;padding:16px 17px 18px;border:1px solid #d8d0c2;background:#fff;text-decoration:none;color:var(--ink);transition:transform .18s ease,border-color .18s ease}
.coffee-chooser__item:hover{transform:translateY(-2px);border-color:#aa8a52}
.coffee-chooser__number{font-size:.68rem;letter-spacing:.12em;color:#8e6b2c;font-weight:700}
.coffee-chooser__item strong{font-size:1.2rem}
.coffee-chooser__item span{font-size:.84rem;line-height:1.4;color:#5d584f}

.origin-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:end;padding:64px 7vw;background:var(--ink);color:#fff}
.origin-banner h2{font-size:clamp(2.4rem,4vw,4rem)}
.origin-banner>p{max-width:600px;margin:0;color:var(--text);line-height:1.65;font-size:1rem}
.origin-banner--light{background:#1d1d1b}

.coffee-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:520px;background:var(--cream);color:var(--ink)}
.coffee-product--dark{background:#1b1b19;color:#fff}
.coffee-product--reverse .coffee-product__media{order:2}
.coffee-product__media{min-height:520px;overflow:hidden;background:#111}
.coffee-product__media img{width:100%;height:100%;object-fit:cover;display:block}
.coffee-product__content{display:flex;flex-direction:column;justify-content:center;padding:46px 6vw 48px 5vw}
.coffee-product--dark .coffee-product__content{background:#1b1b19}
.coffee-product--light .coffee-product__content{background:var(--cream)}
.coffee-product--light .coffee-product__content h2{color:var(--ink)}
.coffee-product--light .coffee-product__content .kicker{color:#8e6b2c}
.coffee-product__content h2{font-size:clamp(2.4rem,3.68vw,4rem);margin-bottom:18px}
.coffee-product__lead{font-size:1.05rem;line-height:1.55;margin:0 0 16px;max-width:640px}
.coffee-product__content>p:not(.kicker):not(.coffee-product__lead):not(.coffee-product__profile):not(.coffee-product__formats-label){font-size:.94rem;line-height:1.62;max-width:640px;margin:0 0 16px;opacity:.88}
.coffee-product__specs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 17px}
.coffee-product__specs span,.coffee-product__formats span{padding:6px 9px;border:1px solid currentColor;font-size:.64rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;opacity:.76}
.coffee-product__profile{font-size:.83rem;line-height:1.45;letter-spacing:.02em;margin:0 0 14px}
.coffee-product__profile strong{font-weight:400}
.coffee-product__purchase{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:2px}
.coffee-product__formats-wrap{min-width:0}
.coffee-product__formats-label{margin:0 0 7px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.7}
.coffee-product__formats{display:flex;flex-wrap:wrap;gap:7px;margin:0}
.coffee-product__button{flex:0 0 auto;align-self:end}
.coffee-product--light .coffee-product__button{border-color:var(--ink);color:var(--ink)}
.coffee-product--dark .coffee-product__button{border-color:var(--accent);color:var(--accent)}

.coffee-closing{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:60px;align-items:center;padding:76px 7vw;background:var(--ink);border-top:1px solid #ffffff12;color:#fff}
.coffee-closing h2{font-size:clamp(2.4rem,3.68vw,4rem)}
.coffee-closing>div:last-child{max-width:520px}
.coffee-closing>div:last-child p{color:var(--text);font-size:1rem;line-height:1.65;margin:0 0 24px}

@media(max-width:950px){
  .header{gap:12px}.header nav{display:none;position:absolute;top:76px;left:5vw;right:5vw;flex-direction:column;align-items:stretch;gap:10px;padding:16px;background:#171716f2;border:1px solid #ffffff20}.header nav.open{display:flex}.header nav a{padding:10px 0}.header .pill{border-radius:2px;text-align:center}.menu{display:block;margin-left:2px}.language-switcher{margin-left:auto}
  .hero{min-height:700px}.hero-mark{display:none}.hero-content{margin-left:5vw}
  .ribbon{grid-template-columns:1fr}.ribbon div{border-right:0;border-bottom:1px solid #ffffff22;padding-bottom:12px}.ribbon div:last-child{border-bottom:0}
  .feature--3-1,.feature--1-3,.feature--50,.cafes-feature,.final-contact{grid-template-columns:1fr}.feature__media{min-height:420px}.feature__copy{padding:52px 7vw}.final-contact__photo{min-height:420px}.final-contact__panel{padding:56px 7vw}.final-contact__columns{grid-template-columns:1fr;gap:26px}.final-contact__group + .final-contact__group{border-left:0;border-top:1px solid var(--accent);padding-left:0;padding-top:26px}
  .coffee-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-list{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;text-align:center}.site-footer__left,.site-footer__center,.site-footer__right{justify-self:center;text-align:center}
  .product-section-head{flex-direction:column;align-items:flex-start;gap:22px}
  .coffee-intro{grid-template-columns:1fr}.coffee-intro__copy{padding:58px 7vw}.coffee-intro__facts{padding:44px 7vw}
  .coffee-chooser__head{flex-direction:column;align-items:flex-start;gap:18px}.coffee-chooser__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .origin-banner{grid-template-columns:1fr;gap:24px;padding:56px 7vw}
  .coffee-product{grid-template-columns:1fr}.coffee-product--reverse .coffee-product__media{order:0}.coffee-product__media{min-height:460px}.coffee-product__content{padding:52px 7vw}
  .coffee-closing{grid-template-columns:1fr;gap:28px;padding:68px 7vw}
}
@media(max-width:600px){
  .section{padding:70px 5vw}.hero h1{font-size:3.2895rem}.feature__media,.final-contact__photo{min-height:300px}.feature__copy{padding:46px 5vw 50px}.feature__copy h2,.final-contact__panel h2{font-size:3rem}.feature__copy p{font-size:.96rem}.cafes-feature .feature__media{min-height:330px}.page-shell{padding:70px 5vw}.page-hero{min-height:520px}.points-list{grid-template-columns:1fr}.final-contact__panel{padding:48px 5vw}.final-contact__panel h2{margin-bottom:34px}.site-footer{padding:20px 14px}.site-footer__legal{gap:10px 14px}
  .page-section{padding:70px 5vw}.coffee-card-grid{grid-template-columns:1fr}
  .coffee-intro__copy{padding:50px 5vw}.coffee-intro__facts{grid-template-columns:1fr;padding:30px 5vw}.coffee-intro__facts div{padding:18px 0;border-left:0;border-top:1px solid #ffffff22}.coffee-intro__facts div:first-child{border-top:0}
  .coffee-chooser{padding:44px 5vw}.coffee-chooser__grid{grid-template-columns:1fr}
  .origin-banner{padding:48px 5vw}.coffee-product__media{min-height:330px}.coffee-product__content{padding:44px 5vw}.coffee-product__purchase{align-items:flex-start;flex-direction:column;gap:16px}.coffee-product__button{align-self:flex-start}
  .coffee-closing{padding:58px 5vw}
}

.no-break{white-space:nowrap}
