@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--cream:#f8f6eb;--green:#315443;--dark:#1f392d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--green);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}.wrap{max-width:1440px;margin:auto;padding-left:5%;padding-right:5%}.header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:24px}.monogram{font-family:Georgia,serif;font-weight:bold;font-size:48px;font-style:italic;letter-spacing:-9px;line-height:1}.monogram span{font-family:Arial;font-size:11px;vertical-align:top;letter-spacing:0}.header nav{display:flex;gap:32px;font-size:11px;letter-spacing:.14em;font-weight:700}.header nav a:hover,.text-link:hover{opacity:.6}.header-cta{border-bottom:1px solid;padding-bottom:5px;font-size:11px;font-weight:700;letter-spacing:.1em}.hero-images{height:470px;display:grid;grid-template-columns:1fr 1.15fr 1fr;position:relative;overflow:hidden}.hero-images img{height:100%;min-width:0}.hero-images img:nth-child(1){object-position:center 40%}.hero-images img:nth-child(3){object-position:center}.hero-logo{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%) rotate(-6deg);color:white;text-shadow:0 2px 12px #0004;font:italic 150px/.72 Georgia,serif;letter-spacing:-13px;white-space:nowrap}.hero-logo small{display:block;font:italic 45px Georgia,serif;text-align:center;letter-spacing:-2px;margin-top:10px}.intro{text-align:center;padding:90px 12% 92px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700}.intro h1,.section-top h2,.quote h2,.about h2,footer h2{font-size:clamp(42px,6vw,91px);line-height:.98;letter-spacing:-.06em;margin:22px 0 28px;font-weight:600}.intro h1{font-size:clamp(38px,5.3vw,76px)}h1 em,h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.055em}.intro p{max-width:650px;margin:0 auto 32px;font-size:16px;line-height:1.65}.text-link{font-size:12px;font-weight:700;letter-spacing:.1em;border-bottom:1px solid;padding-bottom:9px}.text-link span{margin-left:20px}.ticker{overflow:hidden;border-block:1px solid #b9c2b4;padding:22px 0;text-align:center}.ticker div{font-size:clamp(14px,1.75vw,23px);font-weight:700;letter-spacing:-.02em;white-space:nowrap}.ticker b{margin:0 13px;font-weight:400}.offers{padding-top:110px;padding-bottom:125px}.section-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:55px}.section-top h2{margin:0;text-align:right}.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.offer-grid article img{height:310px}.offer-grid article:nth-child(2) img{object-position:45%}.offer-grid article:nth-child(4) img{object-position:50%}.offer-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #b8c2b7;margin:18px 0 16px;padding-bottom:12px}.offer-title h3{font-size:19px;letter-spacing:-.035em;margin:0}.offer-title span{font-size:11px}.offer-grid p{font-size:14px;line-height:1.7;min-height:145px}.offer-grid article a{font-size:11px;font-weight:700;letter-spacing:.08em;border-bottom:1px solid;padding-bottom:5px}.quote{padding:110px 5% 120px;background:#e7ebdf;text-align:center}.quote h2{margin:22px auto 35px}.round-link{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid var(--green);border-radius:50%;width:175px;height:175px;font-size:12px;font-weight:700;line-height:1.4;transform:rotate(-9deg);transition:.3s}.round-link:hover{background:var(--green);color:var(--cream);transform:rotate(0)}.round-link span{font-size:22px}.clients{background:var(--green);color:var(--cream);padding:62px 0 74px;text-align:center}.client-grid{margin-top:40px;display:grid;grid-template-columns:repeat(5,1fr);gap:36px 20px;align-items:center}.client-grid span{font-size:clamp(11px,1.4vw,21px);font-weight:700;letter-spacing:-.035em}.client-grid span:nth-child(2),.client-grid span:nth-child(4){font-size:12px;letter-spacing:.08em}.about{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:center;padding-top:135px;padding-bottom:145px}.about h2{font-size:clamp(45px,5.5vw,75px);margin-bottom:40px}.about-copy p{font-size:15px;line-height:1.7;max-width:570px}.about-photo img{height:600px;object-position:center}.about-photo span{font-size:10px;letter-spacing:.13em;display:block;margin-top:12px}footer{background:var(--green);color:var(--cream);padding:100px 0 28px}.footer-main{display:flex;justify-content:space-between;align-items:end;padding-bottom:110px}.footer-main h2{margin-bottom:0}.footer-mail{border-bottom:1px solid;padding-bottom:10px;font-size:13px;font-weight:700;letter-spacing:.08em}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid #ffffff55;padding-top:23px;font-size:10px;letter-spacing:.03em}@media(max-width:850px){.header{height:72px}.header nav{gap:13px;font-size:9px}.header-cta{display:none}.hero-images{height:310px}.hero-logo{font-size:90px;letter-spacing:-8px}.hero-logo small{font-size:28px}.intro{padding:75px 4%}.offers{padding-top:75px;padding-bottom:80px}.offer-grid{grid-template-columns:repeat(2,1fr);gap:38px 18px}.offer-grid article img{height:260px}.offer-grid p{min-height:0}.about{grid-template-columns:1fr;gap:40px;padding-top:85px;padding-bottom:85px}.about-photo img{height:500px}.client-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:540px){.wrap{padding-left:20px;padding-right:20px}.header{padding:0 20px}.header nav{gap:12px;font-size:9px}.monogram{font-size:38px}.hero-images{height:260px;grid-template-columns:1fr 1fr 1fr}.hero-logo{font-size:60px;letter-spacing:-6px}.hero-logo small{font-size:20px}.intro{padding:65px 12px}.intro h1{font-size:41px}.intro p{font-size:14px}.ticker{padding:16px 0}.ticker div{font-size:15px}.section-top{display:block}.section-top h2{text-align:left;margin-top:22px;font-size:52px}.offer-grid{gap:32px 13px}.offer-grid article img{height:185px}.offer-title h3{font-size:14px}.offer-grid p{font-size:12px}.offer-grid article a{font-size:10px}.quote{padding:85px 20px}.quote h2{font-size:55px}.client-grid{grid-template-columns:repeat(2,1fr);gap:30px 16px}.client-grid span{font-size:15px}.about h2{font-size:51px}.about-photo img{height:410px}.footer-main{display:block;padding-bottom:70px}.footer-main h2{font-size:60px;margin-bottom:40px}.footer-bottom{display:grid;grid-template-columns:1fr;gap:12px}}

/* Logo officiel Frères Gourmands, superposé aux photos */
.hero-logo{width:min(73%,900px);top:50%;transform:translate(-50%,-50%);text-shadow:none;letter-spacing:normal;pointer-events:none}
.hero-logo img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 2px 9px rgba(0,0,0,.2))}
@media(max-width:850px){.hero-logo{width:84%}}
@media(max-width:540px){.hero-logo{width:96%}}

/* Official FG monogram in navigation */
.monogram{display:flex;align-items:center;flex:0 0 auto;letter-spacing:normal;font-size:inherit}
.monogram img{display:block;width:49px;height:53px;object-fit:contain}
@media(max-width:540px){.monogram img{width:38px;height:42px}}

/* V4 — typographie géométrique inspirée de Greycliff CF */
.header nav, .header-cta, h1, h2, h3, .eyebrow, .offer-title, .text-link, .round-link, .footer-mail {font-family:"Manrope","DM Sans",Arial,sans-serif;}
.header nav {font-weight:700;letter-spacing:.085em;}
h1,h2,h3 {font-weight:800;letter-spacing:-.045em;}
.header-cta,.eyebrow,.text-link {font-weight:700;letter-spacing:.06em;}
/* Les mots en italique conservent leur contraste éditorial. */
h1 em,h2 em {font-family:"Playfair Display",Georgia,serif;font-weight:500;letter-spacing:normal;}

/* V6 — hero défilant et proportions du PDF */
.hero.wrap{padding-top:38px}
.hero-images{height:610px;display:block;position:relative;overflow:hidden;background:var(--dark)}
.hero-track{display:flex;width:100%;height:100%;transition:transform .85s cubic-bezier(.22,.68,0,1);will-change:transform}
.hero-slide{display:grid;grid-template-columns:1fr 1.15fr 1fr;min-width:100%;height:100%}
.hero-slide>img{width:100%;height:100%;min-width:0;object-fit:cover}
.hero-logo{width:min(40%,500px);left:50%;top:50%;transform:translate(-50%,-50%);z-index:2}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:#1b30298a;color:#fff;border:1px solid #ffffffa0;border-radius:50%;width:42px;height:42px;font-size:22px;cursor:pointer}
.hero-prev{left:16px}.hero-next{right:16px}.hero-arrow:hover{background:#1b3029}
.hero-dots{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:3}
.hero-dots button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:#ffffff80;cursor:pointer}.hero-dots button.active{background:#fff}
@media(max-width:850px){.hero.wrap{padding-top:25px}.hero-images{height:460px}.hero-logo{width:48%}}
@media(max-width:540px){.hero.wrap{padding-top:20px}.hero-images{height:380px}.hero-slide{grid-template-columns:1fr 1fr 1fr}.hero-logo{width:64%}.hero-arrow{width:34px;height:34px;font-size:18px}.hero-prev{left:6px}.hero-next{right:6px}}
@media(prefers-reduced-motion:reduce){.hero-track{transition:none}}

/* V7 — navigation plus lisible et soulignage animé */
.header nav{font-size:13px;gap:clamp(18px,2.4vw,38px);letter-spacing:.045em}
.header nav a{position:relative;display:inline-block;padding:9px 0;transition:color .2s ease,opacity .2s ease}
.header nav a::after{content:"";position:absolute;bottom:3px;left:0;width:100%;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.22,.7,.2,1)}
.header nav a:hover{opacity:1}
.header nav a:hover::after,.header nav a:focus-visible::after{transform:scaleX(1)}
.header-cta{position:relative;border-bottom:0;padding-bottom:9px}
.header-cta::after{content:"";position:absolute;left:0;bottom:3px;width:100%;height:1.5px;background:currentColor;transform:scaleX(.45);transform-origin:left;transition:transform .32s ease}
.header-cta:hover::after,.header-cta:focus-visible::after{transform:scaleX(1)}
/* Logos officiels fournis : monochromes blancs sur vert */
.client-grid{gap:34px 26px}
.client-logo{display:flex;align-items:center;justify-content:center;min-width:0;min-height:76px}
.client-logo img{display:block;max-width:100%;width:auto;height:auto;max-height:65px;object-fit:contain;filter:brightness(0) invert(1);transition:opacity .25s ease,transform .25s ease}
.client-logo img:hover{opacity:.8;transform:translateY(-3px)}
@media(max-width:850px){.header nav{font-size:11px;gap:15px}.client-logo img{max-height:55px}}
@media(max-width:540px){.header nav{font-size:10px;gap:11px}.client-grid{gap:20px 14px}.client-logo{min-height:65px}.client-logo img{max-height:48px}}
@media(prefers-reduced-motion:reduce){.header nav a::after,.header-cta::after,.client-logo img{transition:none}}


/* V8 : bandeau discret, logos sur une seule ligne et défilement continu bord à bord */
.clients{padding:27px 0 31px;text-align:center;overflow:hidden}
.clients-heading{margin:0 0 22px}
.clients-heading .eyebrow{font-size:10px;letter-spacing:.17em;font-weight:600;opacity:.82}
.client-marquee{width:100%;overflow:hidden;position:relative}
.client-marquee-track{display:flex;width:max-content;align-items:center;animation:fg-clients-scroll 38s linear infinite;will-change:transform}
.client-marquee-group{display:flex;flex:0 0 auto;align-items:center;gap:clamp(42px,5vw,84px);padding-right:clamp(42px,5vw,84px)}
.client-logo{flex:0 0 auto;display:flex;align-items:center;justify-content:center;height:53px;min-height:0;width:auto}
.client-logo img{display:block;width:auto;max-width:none;height:auto;max-height:42px;object-fit:contain;filter:brightness(0) invert(1);opacity:.9;transition:opacity .25s ease}
.client-logo img:hover{opacity:1;transform:none}
@keyframes fg-clients-scroll{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.client-marquee:hover .client-marquee-track{animation-play-state:paused}
@media(max-width:540px){.clients{padding:22px 0 25px}.clients-heading{margin-bottom:17px}.client-logo{height:42px}.client-logo img{max-height:32px}.client-marquee-track{animation-duration:30s}}
@media(prefers-reduced-motion:reduce){.client-marquee-track{animation:none}.client-marquee{overflow-x:auto}.client-marquee-group[aria-hidden="true"]{display:none}}

/* V9: logos recadrés, dimensions optiques harmonisées sans déformation */
 .client-logo img{height:auto;max-height:52px;max-width:none;width:auto}
.client-logo-01 img{width:145px;max-height:52px}
.client-logo-02 img{width:165px;max-height:52px}
.client-logo-03 img{width:77px;max-height:52px}
.client-logo-04 img{width:165px;max-height:52px}
.client-logo-05 img{width:145px;max-height:52px}
.client-logo-06 img{width:125px;max-height:52px}
.client-logo-07 img{width:78px;max-height:52px}
.client-logo-08 img{width:147px;max-height:52px}
.client-logo-09 img{width:86px;max-height:52px}
.client-logo-10 img{width:150px;max-height:52px}
@media(max-width:540px){.client-logo img{max-height:42px}.client-logo-01 img{width:113px;max-height:42px}.client-logo-02 img{width:129px;max-height:42px}.client-logo-03 img{width:60px;max-height:42px}.client-logo-04 img{width:129px;max-height:42px}.client-logo-05 img{width:113px;max-height:42px}.client-logo-06 img{width:98px;max-height:42px}.client-logo-07 img{width:61px;max-height:42px}.client-logo-08 img{width:115px;max-height:42px}.client-logo-09 img{width:67px;max-height:42px}.client-logo-10 img{width:117px;max-height:42px}}

/* Formulaire de devis */
html{scroll-behavior:smooth}.estimate{padding-top:95px;padding-bottom:110px}.estimate-head{max-width:780px;margin-bottom:42px}.estimate-head h2{font-size:clamp(42px,6vw,88px);line-height:1.02;margin:20px 0}.estimate-head p{font-size:17px;line-height:1.65;max-width:560px}.estimate-form{max-width:1100px}.estimate-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 32px}.estimate-fields label{display:flex;flex-direction:column;gap:10px;font-size:13px;font-weight:700;letter-spacing:.04em}.estimate-fields label span{color:#a5573e}.estimate-fields input,.estimate-fields select,.estimate-fields textarea{width:100%;min-width:0;border:1px solid rgba(47,82,65,.3);border-radius:0;background:transparent;color:#2f5241;font:inherit;font-size:16px;font-weight:400;letter-spacing:0;padding:17px 15px;outline-offset:3px}.estimate-fields input:focus,.estimate-fields select:focus,.estimate-fields textarea:focus{border-color:#2f5241;outline:1px solid #2f5241}.estimate-fields .wide{grid-column:1/-1}.estimate-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:30px}.estimate-bottom p{font-size:12px;line-height:1.5;max-width:450px}.estimate-bottom button{background:#2f5241;color:#f8f6eb;border:0;padding:20px 30px;cursor:pointer;font:inherit;font-size:14px;font-weight:700;letter-spacing:.06em;white-space:nowrap;transition:background .2s}.estimate-bottom button:hover{background:#203e30}.estimate-bottom button span{display:inline-block;transition:transform .2s}.estimate-bottom button:hover span{transform:translate(4px,-4px)}.honey{position:absolute;left:-9999px;opacity:0;pointer-events:none}.form-feedback{padding:18px 22px;margin:0 0 28px;border:1px solid #2f5241}.form-feedback.error{border-color:#a5573e;color:#a5573e}@media(max-width:700px){.estimate{padding-top:60px;padding-bottom:70px}.estimate-fields{grid-template-columns:1fr;gap:20px}.estimate-bottom{align-items:stretch;flex-direction:column}.estimate-bottom button{white-space:normal}}

/* V12 : bandeau « Un événement en vue ? » plus compact */
.quote{padding:48px 5% 55px}
.quote h2{font-size:clamp(36px,4.3vw,64px);margin:14px auto 22px}
.quote .round-link{width:126px;height:126px;font-size:10px;gap:9px}
.quote .round-link span{font-size:18px}
@media(max-width:540px){.quote{padding:42px 20px 48px}.quote h2{font-size:42px;margin:14px auto 20px}.quote .round-link{width:120px;height:120px}}
