:root{
  --ink:#18201d; --cream:#f7f2e8; --paper:#fffdf8; --red:#9b2f28;
  --gold:#c79b4b; --sage:#445c4c; --line:rgba(24,32,29,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.container{width:min(1160px,calc(100% - 40px));margin:auto}
.topbar{background:var(--ink);color:#fff;padding:10px 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.topbar .container{display:flex;justify-content:space-between;gap:20px}
header{position:absolute;z-index:5;left:0;right:0;color:#fff}
nav{height:88px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:13px;font-family:"Cormorant Garamond",serif;font-size:35px;font-weight:600}
.brand img{width:45px;height:45px;filter:invert(1)}
.navlinks{display:flex;gap:30px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.hero{min-height:760px;display:grid;place-items:center;position:relative;overflow:hidden;background:
linear-gradient(90deg,rgba(10,18,15,.80),rgba(10,18,15,.28)),
url("crepes.jpg") center/cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--cream) 0,transparent 10%)}
.hero-inner{position:relative;z-index:2;color:#fff;width:min(1160px,calc(100% - 40px));padding-top:100px}.hero-badge{position:absolute;z-index:2;right:7%;top:170px;width:145px;max-height:145px;object-fit:contain;opacity:.92;filter:drop-shadow(0 8px 20px rgba(0,0,0,.25))}
.kicker{font-size:12px;letter-spacing:.25em;text-transform:uppercase;font-weight:600;color:#ead7a7;margin-bottom:18px}
h1{font-family:"Cormorant Garamond",serif;font-size:clamp(70px,10vw,135px);line-height:.78;margin:0 0 28px;font-weight:600;letter-spacing:-.035em}
.hero p{max-width:610px;font-size:18px;line-height:1.8;margin:0 0 34px}
.btn{display:inline-flex;padding:15px 23px;border:1px solid rgba(255,255,255,.7);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;transition:.2s}
.btn:hover{background:#fff;color:var(--ink)}
.btn.dark{border-color:var(--ink);background:var(--ink);color:#fff}
.section{padding:105px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--red);font-weight:700}
h2{font-family:"Cormorant Garamond",serif;font-size:clamp(48px,6vw,76px);line-height:.9;margin:10px 0 0;font-weight:600}
.lead{max-width:470px;line-height:1.8;color:#4b514d}
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}
.about-photo{height:620px;background:url("stand-3.png") center/cover;position:relative}
.about-photo:after{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.5)}
.about-copy p{line-height:1.9;color:#4b514d}
.triskel{width:82px;opacity:.88;margin-bottom:20px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--paper);border:1px solid var(--line);padding:28px;min-height:260px}
.card h3{font-family:"Cormorant Garamond",serif;font-size:34px;margin:16px 0 12px}
.card p{font-size:14px;line-height:1.8;color:#555}
.menu-strip{background:var(--ink);color:#fff}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.menu-image{min-height:540px;background:url("galette.jpg") center/cover}
.menu-copy{padding:75px 55px;display:flex;flex-direction:column;justify-content:center}
.menu-copy h2{color:#fff}
.menu-copy p{line-height:1.8;color:#d8d9d3;max-width:480px}
.tag{display:inline-block;border:1px solid rgba(255,255,255,.35);padding:9px 12px;margin:5px 5px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.market{background:#eee6d7;position:relative;overflow:hidden}.market-map{position:absolute;right:3%;top:7%;width:min(310px,28vw);opacity:.055;pointer-events:none;filter:grayscale(1)}
.market-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:start}
.market-list{border-top:1px solid var(--line)}
.market-row{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}
.market-row strong{font-weight:600}
.market-note{margin-top:25px;font-size:13px;line-height:1.7;color:#5b605c}
.event{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--paper)}
.event-photo{min-height:560px;background:url("stand-1.png") center/cover}
.event-copy{padding:70px;align-self:center}
.event-copy p{line-height:1.9;color:#505651}
.quote{font-family:"Cormorant Garamond",serif;font-size:29px;line-height:1.2;margin:0 0 14px}
.quote-author{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#777}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review{background:var(--paper);padding:30px;border-top:3px solid var(--gold)}
.stars{color:var(--gold);letter-spacing:3px}
.review p{font-family:"Cormorant Garamond",serif;font-size:22px;line-height:1.35}
.review strong{font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.contact{background:var(--sage);color:#fff;text-align:center;padding:110px 0}
.contact h2{color:#fff}
.contact p{color:#dce4dc;line-height:1.8}
.contact-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
footer{background:var(--ink);color:#d9ddd9;padding:35px 0;font-size:11px;letter-spacing:.08em}
footer .container{display:flex;justify-content:space-between;gap:20px}
@media(max-width:850px){ .product-grid{grid-template-columns:1fr 1fr}.reviews-track .review{flex-basis:100%} .hero-badge{right:6%;top:145px;width:95px}.market-map{width:240px;right:-50px;top:20px}
 .topbar .container{justify-content:center}.topbar span:first-child{display:none}
 .navlinks{display:none}.brand{font-size:30px}
 .hero{min-height:650px}.about,.market-grid,.event,.menu-grid{grid-template-columns:1fr}
 .about-photo,.event-photo{min-height:430px;height:430px}
 .cards,.reviews{grid-template-columns:1fr}
 .menu-image{min-height:390px}.menu-copy{padding:55px 30px}
 .section{padding:75px 0}.section-head{display:block}
 footer .container{display:block;text-align:center}
}

.breton-marks{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.breton-marks img{object-fit:contain;filter:drop-shadow(0 3px 8px rgba(0,0,0,.18))}
.mark-badge{width:78px;height:78px}.mark-triskel{width:62px;height:62px}.mark-flag{width:70px;height:50px}
.products{background:var(--paper)}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.product-card{border:1px solid var(--line);padding:27px;min-height:235px;background:#fff}
.product-icon{font-size:32px;margin-bottom:22px}
.product-card h3{font-family:"Cormorant Garamond",serif;font-size:32px;margin:8px 0}
.product-card p{font-size:13px;line-height:1.7;color:#555}
.reviews-carousel{
    position:relative;
    width:100%;
    padding:55px 75px;
    box-sizing:border-box;
    overflow:hidden;
}

.reviews-track{
    display:flex;
    width:100%;
    overflow:hidden;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
}

.reviews-track .review{
    flex:0 0 100%;
    width:100%;
    box-sizing:border-box;
    padding:0 20px;
    scroll-snap-align:start;
    text-align:center;
}

.reviews-track .review p{
    max-width:850px;
    margin:20px auto;
    font-size:24px;
    line-height:1.45;
}

.review-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:45px;
    height:45px;
    border:2px solid #fff;
    background:#fff;
    color:#000;
    font-size:32px;
    line-height:35px;
    cursor:pointer;
    z-index:10;
}

.review-arrow.prev{
    left:15px;
}

.review-arrow.next{
    right:15px;
}

.review-arrow:hover{
    background:#9b2f28;
    color:#fff;
}

.review-dots{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:22px;
}

.review-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    border:1px solid #fff;
    background:transparent;
    cursor:pointer;
}

.review-dot.active{
    background:#fff;
}

@media(max-width:700px){

    .reviews-carousel{
        padding:40px 50px;
    }

    .reviews-track .review{
        padding:0 5px;
    }

    .reviews-track .review p{
        font-size:20px;
        line-height:1.45;
    }

    .review-arrow{
        width:38px;
        height:38px;
        font-size:27px;
        line-height:30px;
    }

    .review-arrow.prev{
        left:6px;
    }

    .review-arrow.next{
        right:6px;
    }
}

.about-copy{position:relative}
.about-badge{position:absolute;width:76px;height:76px;object-fit:contain;right:0;top:-18px;opacity:.92;transform:rotate(5deg)}
.section-breton-symbol{position:absolute;width:120px;height:120px;object-fit:contain;right:4%;top:35px;opacity:.045;pointer-events:none}
.section-breton-flag{position:absolute;width:115px;height:75px;object-fit:contain;right:4%;top:35px;opacity:.08;pointer-events:none}

.map-section{background:#f7f2e8}
.market-map-wrap{background:#fffdf8;border:1px solid var(--line);padding:14px;position:relative;overflow:hidden}
.market-map-svg{display:block;width:100%;height:auto}
.map-legend{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;padding:17px 10px 5px;border-top:1px solid var(--line);font-size:11px;color:#666}
.map-legend b{color:var(--ink);margin-right:4px}
@media(max-width:850px){.market-map-wrap{padding:8px}.map-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px}}

.aussi{background:#f7f2e8}
.aussi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.aussi-grid article{background:#fffdf8;padding:28px 24px;min-height:170px}
.aussi-grid span{font-size:11px;letter-spacing:.14em;color:#9b2f28}
.aussi-grid h3{margin:12px 0 8px}
.aussi-grid p{margin:0;color:#666;line-height:1.6;font-size:13px}
.phone-link{color:inherit;text-decoration:none}
.mobile-call-bar{display:none}
.market-map-wrap img{display:block;width:100%;height:auto}
@media(max-width:850px){.aussi-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){
 .aussi-grid{grid-template-columns:1fr}
 body{padding-bottom:58px}
 .mobile-call-bar{display:block;position:fixed;z-index:1000;left:0;right:0;bottom:0;background:#18201d;color:#fff;text-align:center;padding:16px 12px;font-size:13px;font-weight:600;text-decoration:none;box-shadow:0 -4px 16px rgba(0,0,0,.15)}
}

.logo-brand{display:flex;align-items:center;width:235px;height:86px}
.logo-brand img{display:block;width:100%;height:auto;max-height:82px;object-fit:contain;object-position:left center}
@media(max-width:850px){.logo-brand{width:180px;height:68px}.logo-brand img{max-height:64px}}

/* Chez Jenny — feuille de style principale */
:root{
  --max:1180px;
  --gutter:clamp(18px,4vw,42px);
  --text:#18201d;
  --muted:#5d625e;
  --paper:#fffdf8;
  --paper-2:#f7f2e8;
  --line:#ddd6c8;
  --accent:#9b2f28;
  --blue:#102b46;
}

html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:var(--paper);
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.container{width:min(var(--max),calc(100% - 2*var(--gutter)));margin-inline:auto}
p{max-width:70ch}
h1,h2,h3{line-height:1.15;text-wrap:balance}
h2{font-size:clamp(30px,4vw,48px);margin:0 0 18px}
h3{font-size:clamp(20px,2vw,25px)}
.lead{font-size:clamp(16px,1.5vw,19px);line-height:1.7;color:var(--muted)}
.section{padding-block:clamp(60px,8vw,105px)}
.section-head{margin-bottom:clamp(30px,5vw,55px)}
.eyebrow{
  margin-bottom:10px;
  color:var(--accent);
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
a{color:inherit}
a:focus-visible,button:focus-visible{
  outline:3px solid #d7a22a;
  outline-offset:4px;
}
img{max-width:100%;height:auto}
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.navlinks a{color: #000000;padding:8px 4px}
.market-row{min-height:28px}
.review{font-size:15px;line-height:1.7}
.review p{max-width:58ch}
.aussi-grid h3{margin-top:10px}
.contact a{word-break:break-word}

/* Navigation */
header{position:relative;z-index:20}
nav{min-height:86px}
.navlinks{gap:clamp(12px,2vw,28px)}
@media(max-width:850px){
  nav{min-height:72px}
  .navlinks{
    overflow-x:auto;
    scrollbar-width:none;
    white-space:nowrap;
    padding-bottom:4px;
  }
  .navlinks::-webkit-scrollbar{display:none}
}

/* Hero */
.hero-inner{max-width:760px}
.hero h1{font-size:clamp(52px,8vw,100px);line-height:.95}
.hero p{font-size:clamp(17px,2vw,21px);max-width:650px}

/* Cards */
.products-grid,.aussi-grid{gap:1px}
.products-grid article,.aussi-grid article{
  transition:transform .2s ease,box-shadow .2s ease;
}
.products-grid article:hover,.aussi-grid article:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(24,32,29,.07);
}

/* Map */
.market-map-wrap{
  box-shadow:0 14px 40px rgba(24,32,29,.08);
  border-radius:2px;
}
.market-map-wrap img{display:block;width:100%}

/* Mobile */
@media(max-width:700px){
  .section{padding-block:55px}
  .section-head{margin-bottom:30px}
  .market-grid,.event{grid-template-columns:1fr}
  .event-photo{min-height:360px}
  .event-copy{padding:45px var(--gutter)}
  .market-grid{gap:35px}
  .market-row{padding:16px 0;display:grid;grid-template-columns:1fr auto;align-items:center}
  .reviews-carousel{margin-inline:0}
}
@media(max-width:480px){
  body{font-size:15px}
  .hero h1{font-size:50px}
  .hero p{font-size:16px}
  .btn{width:100%}
  .market-row{grid-template-columns:1fr}
  .market-row strong{margin-bottom:3px}
}

/* Respect reduced-motion preferences */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
