:root{
    --turq:#16b6c1;
    --turq-dark:#078d99;
    --turq-soft:#dff7f8;
    --ink:#15333a;
    --ink-2:#0c2429;
    --cream:#fff8ed;
    --soft:#f4f8f7;
    --white:#fff;
    --muted:#637174;
    --line:#dce6e5;
    --gold:#e6a63e;
    --radius:26px;
    --shadow:0 24px 70px rgba(15,55,60,.13);
    --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(var(--container),calc(100% - 40px));margin:auto}
.narrow{max-width:900px}
.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}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px 16px;z-index:1000}
.skip-link:focus{left:8px}
.topbar{background:var(--ink-2);color:#fff;font-size:12px}
.topbar-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar a{color:#9ce8ec;font-weight:800}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(15px);border-bottom:1px solid rgba(21,51,58,.09)}
.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand img{width:60px;height:60px}
.brand span{display:flex;flex-direction:column;line-height:1.1}
.brand strong{font-family:Georgia,serif;font-size:19px}
.brand small{font-size:10px;letter-spacing:.15em;color:var(--turq-dark);font-weight:900;margin-top:5px}
.main-nav{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:800}
.main-nav a{padding:10px 0;position:relative}
.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--turq);transform:scaleX(0);transition:.2s}
.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}
.nav-cta{background:var(--turq);color:#082f34!important;padding:12px 17px!important;border-radius:999px}
.menu-toggle{display:none;background:none;border:0;padding:8px}
.menu-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:var(--ink);margin:5px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:11px;color:var(--turq-dark)}
.eyebrow-white{color:#c2f5f7}
.eyebrow-dark{color:#0a5960}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--turq);color:#062e33;box-shadow:0 10px 35px rgba(22,182,193,.28)}
.btn-dark{background:var(--ink);color:#fff}
.btn-white{background:#fff;color:var(--ink)}
.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-glass{border-color:rgba(255,255,255,.46);color:#fff;background:rgba(255,255,255,.10);backdrop-filter:blur(8px)}
.btn-large{min-height:58px;padding:0 28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.centered{justify-content:center}
.home-hero{position:relative;min-height:780px;background-image:var(--hero);background-size:cover;background-position:center;display:flex;align-items:end;color:#fff}
.home-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,32,36,.94) 0%,rgba(8,32,36,.72) 42%,rgba(8,32,36,.14) 72%),linear-gradient(0deg,rgba(5,25,29,.55),transparent 50%)}
.home-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 260px;gap:60px;align-items:end;padding:120px 0 95px}
.home-hero-copy{max-width:790px}
.home-hero h1,.internal-hero h1,.section h2,.legal-mini h1,.success-card h1{font-family:Georgia,serif;line-height:1.03;letter-spacing:-.035em}
.home-hero h1{font-size:clamp(52px,6.6vw,92px);margin:16px 0 22px}
.home-hero p{font-size:21px;max-width:680px;color:rgba(255,255,255,.88)}
.hero-seal{align-self:center;text-align:center;padding:25px;border:1px solid rgba(255,255,255,.32);border-radius:999px 999px 30px 30px;background:rgba(7,28,31,.24);backdrop-filter:blur(8px)}
.hero-seal img{width:190px;margin:auto}
.hero-seal span{font-family:Georgia,serif;font-style:italic}
.hero-proof{display:flex;gap:34px;margin-top:45px;padding-top:24px;border-top:1px solid rgba(255,255,255,.22)}
.hero-proof strong,.hero-proof span{display:block}
.hero-proof strong{font-family:Georgia,serif;font-size:24px}
.hero-proof span{font-size:12px;color:rgba(255,255,255,.7)}
.internal-hero{position:relative;min-height:560px;background-image:var(--hero);background-size:cover;background-position:center;display:flex;align-items:end;color:#fff}
.internal-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,32,36,.92),rgba(8,32,36,.58) 54%,rgba(8,32,36,.12))}
.internal-hero-inner{position:relative;z-index:2;padding:110px 0 75px;max-width:900px;margin-left:max(calc((100vw - min(var(--container),calc(100% - 40px)))/2),20px);margin-right:auto;width:min(900px,calc(100% - 40px))}
.internal-hero h1{font-size:clamp(46px,6vw,78px);margin:14px 0 20px}
.internal-hero h1 em{color:#a9edf0;font-weight:400}
.internal-hero p{font-size:19px;max-width:720px;color:rgba(255,255,255,.86)}
.section{padding:96px 0}
.section-soft{background:var(--soft)}
.section-ink{background:var(--ink-2);color:#fff}
.section-turquoise{background:var(--turq)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}
.section-head h2,.split h2,.anthony-grid h2,.pro-truck-grid h2,.producers-grid h2,.anthony-profile h2,.quote-skill h2,.truck-intro h2{font-size:clamp(36px,4.2vw,58px);margin:10px 0}
.light-head h2{color:#fff}
.text-link,.inline-links a{font-weight:900;color:var(--turq-dark)}
.inline-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:25px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.lead{font-size:19px;color:var(--muted)}
.dark-lead{color:#103e44}
.truck-intro{padding:100px 0;background:linear-gradient(180deg,#fff,#f4fbfa)}
.truck-intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}
.truck-cutout{margin:0;position:relative}
.truck-cutout img{width:100%;height:520px;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}
.truck-cutout figcaption{position:absolute;left:24px;bottom:24px;background:#fff;padding:10px 16px;border-radius:999px;font-size:12px;font-weight:900}
.event-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.photo-card{position:relative;min-height:430px;border-radius:24px;overflow:hidden;background-image:linear-gradient(0deg,rgba(4,24,27,.82),rgba(4,24,27,.05) 55%),var(--photo);background-size:cover;background-position:center;padding:26px;display:flex;flex-direction:column;justify-content:end;transition:.25s}
.photo-card:hover{transform:translateY(-6px)}
.photo-card span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#bceff2;font-weight:900}
.photo-card strong{font-family:Georgia,serif;font-size:28px}
.anthony-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}
.anthony-photo-stack{position:relative}
.anthony-main{width:100%;height:560px;object-fit:cover;border-radius:32px}
.anthony-card{position:absolute;right:-20px;bottom:28px;background:var(--turq);padding:20px 24px;border-radius:20px;box-shadow:var(--shadow)}
.anthony-card span,.anthony-card strong,.anthony-card small{display:block}
.anthony-card strong{font-family:Georgia,serif;font-size:26px}
.ingredients-section{background:var(--cream)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px}
.review-card.featured{background:var(--cream)}
.stars{color:var(--gold);letter-spacing:.12em}
.review-card blockquote,.testimonial-xl blockquote{font-family:Georgia,serif;font-size:28px;line-height:1.2;margin:16px 0}
.review-card p{color:var(--muted)}
.review-card footer{font-weight:900;font-size:12px}
.gallery-strip{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:16px}
.gallery-strip img{width:100%;height:360px;object-fit:cover;border-radius:22px}
.center-btn{margin:28px auto 0;display:flex;width:max-content}
.service-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.big-service-card{border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 12px 35px rgba(10,50,55,.06)}
.big-service-card img{width:100%;height:330px;object-fit:cover}
.big-service-card>div{padding:30px}
.big-service-card span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--turq-dark)}
.big-service-card h2{font-size:34px}
.big-service-card p{color:var(--muted)}
.big-service-card a{font-weight:900;color:var(--turq-dark)}
.truck-tech{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}
.truck-tech img{width:100%;height:430px;object-fit:cover;border-radius:28px}
.spec-list{list-style:none;padding:0;margin:25px 0 0;border-top:1px solid var(--line)}
.spec-list li{padding:15px 0;border-bottom:1px solid var(--line)}
.wedding-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.wedding-collage{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.wedding-collage img{height:520px;width:100%;object-fit:cover;border-radius:28px}
.wedding-collage img:last-child{height:330px;align-self:end}
.check-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}
.check-list li{position:relative;padding-left:28px}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--turq-dark);font-weight:900}
.testimonial-xl{text-align:center;max-width:850px}
.testimonial-xl blockquote{font-size:50px}
.testimonial-xl p{font-size:19px;color:var(--muted)}
.testimonial-xl a{font-weight:900;color:var(--turq-dark)}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.icon-card{border:1px solid var(--line);border-radius:26px;padding:32px}
.icon{display:flex;width:46px;height:46px;border-radius:50%;align-items:center;justify-content:center;background:var(--turq-soft);font-weight:900;color:var(--turq-dark)}
.icon-card h2{font-size:30px}
.icon-card p{color:var(--muted)}
.pro-truck-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center}
.pro-truck-grid img{width:100%;height:520px;object-fit:cover;border-radius:30px}
.brief-panel{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}
.brief-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:13px}
.brief-list li{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:15px;font-weight:800}
.brief-list span{display:flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;background:var(--turq-soft);color:var(--turq-dark)}
.pricing-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.price-card{border:1px solid var(--line);border-radius:22px;padding:28px 20px;position:relative;background:#fff}
.price-card.recommended{background:var(--ink);color:#fff}
.price-card h2{font-size:22px;min-height:52px}
.price-card strong{display:block;font-family:Georgia,serif;font-size:34px}
.price-card small{color:var(--muted)}
.price-card.recommended small{color:#b9c8ca}
.price-badge{position:absolute;top:-13px;left:16px;background:var(--turq);color:var(--ink);padding:5px 10px;border-radius:999px;font-size:10px;font-weight:900}
.pricing-note{font-size:13px;color:var(--muted);margin-top:24px}
.menu-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.menu-dark h2{font-size:36px}
.menu-list{list-style:none;padding:0;border-top:1px solid rgba(255,255,255,.18)}
.menu-list li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.producers-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}
.producers-grid img{width:100%;height:520px;object-fit:cover;border-radius:30px}
.partner-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}
.partner-list span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:10px 13px;font-size:13px}
.anthony-profile{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.portrait-frame{position:relative}
.portrait-frame img{width:100%;height:600px;object-fit:cover;border-radius:32px}
.portrait-caption{position:absolute;left:24px;bottom:24px;background:#fff;padding:16px 20px;border-radius:18px}
.portrait-caption strong,.portrait-caption span{display:block}
.portrait-caption strong{font-family:Georgia,serif;font-size:25px}
.skill-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.skill-badges span{background:var(--turq-soft);color:#0b6269;padding:9px 13px;border-radius:999px;font-weight:800;font-size:13px}
.press-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.press-cards article{border:1px solid var(--line);border-radius:24px;padding:28px}
.press-cards article>span{font-size:11px;color:var(--turq-dark);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.press-cards h3{font-family:Georgia,serif;font-size:27px}
.press-cards p{color:var(--muted)}
.press-cards a{font-weight:900;color:var(--turq-dark)}
.quote-skill{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.quote-skill img{width:100%;height:430px;object-fit:cover;border-radius:28px}
.gallery-masonry{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.gallery-masonry figure{margin:0;position:relative}
.gallery-masonry figure.wide{grid-column:1/-1}
.gallery-masonry img{width:100%;height:470px;object-fit:cover;border-radius:28px}
.gallery-masonry .wide img{height:650px}
.gallery-masonry figcaption{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.94);padding:9px 13px;border-radius:999px;font-size:12px;font-weight:800}
.photo-credit{text-align:center;color:var(--muted);font-size:12px;margin-top:22px}
.rating-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:26px;overflow:hidden}
.rating-strip div{text-align:center;padding:28px;border-right:1px solid var(--line)}
.rating-strip div:last-child{border-right:0}
.rating-strip strong{display:block;font-family:Georgia,serif;font-size:40px}
.rating-strip span{color:var(--muted);font-size:12px}
.source-panel{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;background:var(--cream);border-radius:28px;padding:42px}
.source-links{display:grid;gap:10px}
.source-links a{font-weight:900;color:var(--turq-dark)}
.form-section{background:var(--soft)}
.form-layout{display:grid;grid-template-columns:1fr 350px;gap:38px;align-items:start}
.booking-form{background:#fff;border:1px solid var(--line);border-radius:30px;padding:40px;box-shadow:var(--shadow)}
.form-block{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}
.form-block:not(:first-of-type){margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
.form-step{display:flex;min-width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:var(--turq);font-weight:900}
.form-block h2{font-size:30px;margin:0}
.form-block p{margin:4px 0 0;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.field{display:grid;gap:7px;font-size:13px;font-weight:800}
.field.full{grid-column:1/-1}
.field input,.field select,.field textarea{border:1px solid #cdd9d8;border-radius:14px;padding:13px 14px;outline:none;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--turq-dark);box-shadow:0 0 0 3px rgba(22,182,193,.13)}
.consent{display:flex;gap:12px;margin:25px 0;font-size:12px;color:var(--muted)}
.form-note{font-size:12px;color:var(--muted)}
.form-errors{background:#fff0ec;border:1px solid #e7b4a8;padding:17px 20px;border-radius:16px;margin-bottom:25px}
.form-aside{display:grid;gap:18px;position:sticky;top:130px}
.aside-photo img{width:100%;height:250px;object-fit:cover;border-radius:24px}
.aside-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px}
.aside-card h2,.aside-card h3{font-family:Georgia,serif}
.aside-card a{display:block;margin-top:7px;color:var(--turq-dark);font-weight:900;overflow-wrap:anywhere}
.contact-big{font-family:Georgia,serif;font-size:27px}
.hp-field{position:absolute!important;left:-99999px!important;width:1px;height:1px;overflow:hidden}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.contact-card{border:1px solid var(--line);border-radius:24px;padding:32px;min-height:220px;display:flex;flex-direction:column;justify-content:center}
.contact-card.accent{background:var(--turq);border-color:var(--turq)}
.contact-card span,.contact-card small{color:var(--muted)}
.contact-card strong{font-family:Georgia,serif;font-size:25px;line-height:1.15;margin:10px 0;overflow-wrap:anywhere}
.legal-mini{padding:75px 0;background:var(--turq-soft);text-align:center}
.legal-mini img{margin:0 auto 14px}
.legal-mini h1{font-size:55px;margin:10px 0}
.legal-content h2{font-size:32px;margin-top:40px}
.legal-content p{color:var(--muted)}
.success-page{position:relative;padding:110px 0;background-image:var(--hero);background-size:cover;background-position:center}
.success-shade{position:absolute;inset:0;background:rgba(6,31,35,.72)}
.success-card{position:relative;background:rgba(255,255,255,.96);padding:55px;border-radius:30px;text-align:center;box-shadow:var(--shadow)}
.success-card img{margin:0 auto 18px}
.success-card h1{font-size:52px}
.success-card p{font-size:18px;color:var(--muted);max-width:650px;margin:0 auto}
.truck-footer-band{background:var(--turq);padding:34px 0}
.truck-footer-inner{display:grid;grid-template-columns:200px 1fr auto;gap:35px;align-items:center}
.truck-footer-inner img{width:200px;height:125px;object-fit:cover;border-radius:20px;border:4px solid rgba(255,255,255,.65)}
.truck-footer-inner h2{font-family:Georgia,serif;font-size:35px;line-height:1.08;margin:7px 0}
.truck-footer-inner p{margin:0}
.site-footer{background:#0a2024;color:#fff;padding:70px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:45px}
.brand-footer strong{color:#fff}
.brand-footer small{color:#8adce1}
.footer-copy{color:rgba(255,255,255,.62);font-size:13px;max-width:360px}
.site-footer h3{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#88a4a8}
.site-footer a{display:block;color:rgba(255,255,255,.72);margin:8px 0;font-size:13px}
.site-footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.5);font-size:11px}
.footer-bottom a{display:inline;margin:0;font-size:inherit}
.mobile-book{display:none}

@media(max-width:1050px){
    .main-nav{gap:11px;font-size:12px}
    .brand strong{font-size:17px}
    .event-cards{grid-template-columns:repeat(2,1fr)}
    .pricing-grid{grid-template-columns:repeat(3,1fr)}
    .footer-grid{grid-template-columns:1.3fr 1fr 1fr}
    .footer-grid>div:last-child{grid-column:2/4}
}
@media(max-width:850px){
    .container{width:min(var(--container),calc(100% - 28px))}
    .topbar{display:none}
    .nav-wrap{min-height:70px}
    .brand img{width:48px;height:48px}
    .brand strong{font-size:15px}
    .brand small{font-size:9px}
    .menu-toggle{display:block}
    .main-nav{position:fixed;left:0;right:0;top:70px;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:18px 20px 28px;border-top:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.09)}
    .main-nav.is-open{display:flex}
    .main-nav a{padding:10px 6px}
    .nav-cta{text-align:center}
    .home-hero{min-height:720px}
    .home-hero-grid{grid-template-columns:1fr;padding:100px 0 75px}
    .hero-seal{display:none}
    .home-hero-shade{background:linear-gradient(90deg,rgba(8,32,36,.91),rgba(8,32,36,.44)),linear-gradient(0deg,rgba(5,25,29,.55),transparent 55%)}
    .internal-hero{min-height:520px}
    .internal-hero-inner{margin:0 auto;padding:100px 0 65px}
    .truck-intro-grid,.anthony-grid,.split,.truck-tech,.wedding-grid,.pro-truck-grid,.brief-panel,.producers-grid,.anthony-profile,.quote-skill,.form-layout,.source-panel{grid-template-columns:1fr;gap:38px}
    .service-photo-grid{grid-template-columns:1fr}
    .cards-3,.press-cards{grid-template-columns:1fr}
    .review-grid{grid-template-columns:repeat(2,1fr)}
    .wedding-collage{grid-template-columns:1fr 1fr}
    .form-aside{position:static}
    .truck-footer-inner{grid-template-columns:140px 1fr}
    .truck-footer-inner .btn{grid-column:1/-1}
    .truck-footer-inner img{width:140px;height:100px}
    .footer-grid{grid-template-columns:1fr 1fr}
    .footer-grid>div:last-child{grid-column:auto}
}
@media(max-width:580px){
    body{padding-bottom:66px}
    .brand span{max-width:170px}
    .brand small{display:none}
    .home-hero{min-height:760px;background-position:55% center}
    .home-hero-grid{padding:105px 0 80px}
    .home-hero h1{font-size:44px}
    .home-hero p{font-size:17px}
    .hero-actions .btn{width:100%}
    .hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .internal-hero{min-height:570px;background-position:center}
    .internal-hero h1{font-size:44px}
    .internal-hero p{font-size:17px}
    .section,.truck-intro{padding:70px 0}
    .section h2,.truck-intro h2,.anthony-grid h2,.pro-truck-grid h2,.producers-grid h2,.anthony-profile h2,.quote-skill h2{font-size:38px}
    .truck-cutout img,.anthony-main,.portrait-frame img{height:380px}
    .event-cards,.review-grid,.pricing-grid,.menu-columns,.gallery-strip,.rating-strip,.contact-grid{grid-template-columns:1fr}
    .photo-card{min-height:360px}
    .anthony-card{right:10px;bottom:15px}
    .gallery-strip img{height:280px}
    .wedding-collage{grid-template-columns:1fr}
    .wedding-collage img,.wedding-collage img:last-child{height:320px}
    .testimonial-xl blockquote{font-size:37px}
    .brief-list{grid-template-columns:1fr}
    .gallery-masonry{grid-template-columns:1fr}
    .gallery-masonry figure.wide{grid-column:auto}
    .gallery-masonry img,.gallery-masonry .wide img{height:360px}
    .rating-strip div{border-right:0;border-bottom:1px solid var(--line)}
    .rating-strip div:last-child{border-bottom:0}
    .form-grid{grid-template-columns:1fr}
    .field.full{grid-column:auto}
    .booking-form{padding:22px}
    .truck-footer-inner{grid-template-columns:1fr;text-align:center}
    .truck-footer-inner img{width:100%;height:220px}
    .truck-footer-inner h2{font-size:32px}
    .footer-grid{grid-template-columns:1fr}
    .footer-bottom{flex-direction:column}
    .mobile-book{display:flex;position:fixed;left:10px;right:10px;bottom:9px;z-index:130;min-height:50px;align-items:center;justify-content:center;background:var(--ink);color:#fff;border-radius:999px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.3)}
}

/* =========================================================
   PRODUITS LOCAUX — mise en avant premium
   ========================================================= */
.local-signature{
    padding:96px 0 78px;
    background:
        radial-gradient(circle at 78% 18%, rgba(22,182,193,.12), transparent 25%),
        var(--cream);
}
.local-signature-grid{
    display:grid;
    grid-template-columns:.86fr 1.14fr;
    gap:70px;
    align-items:center;
}
.local-signature-copy h2,
.local-manifesto h2,
.local-focus-section h2,
.local-near-grid h2,
.local-charcuterie-grid h2{
    font-family:Georgia,serif;
    font-size:clamp(38px,4.3vw,60px);
    line-height:1.05;
    letter-spacing:-.035em;
    margin:10px 0 22px;
}
.local-signature-copy p{
    color:var(--muted);
    font-size:18px;
    margin-bottom:28px;
}
.local-ingredients-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}
.local-ingredients-grid article{
    min-height:190px;
    border:1px solid rgba(21,51,58,.11);
    border-radius:24px;
    background:rgba(255,255,255,.72);
    padding:25px;
    display:flex;
    flex-direction:column;
}
.local-ingredients-grid article>span{
    width:35px;height:35px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:var(--turq);
    font-size:11px;font-weight:900;
}
.local-ingredients-grid strong{
    font-family:Georgia,serif;
    font-size:27px;
    margin-top:auto;
}
.local-ingredients-grid small{
    color:var(--muted);
    line-height:1.4;
}
.local-route{
    margin-top:55px;
    display:flex;
    align-items:center;
    gap:10px;
    color:#527073;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.11em;
    font-weight:900;
    white-space:nowrap;
    overflow:hidden;
}
.local-route i{
    height:1px;
    min-width:25px;
    flex:1;
    background:#b9cfce;
}

.local-intro{color:var(--muted);font-size:16px}
.local-more-link{display:inline-block;margin-top:24px}

.wedding-local-band{
    background:var(--cream);
    padding:58px 0;
    border-top:1px solid #efe5d6;
    border-bottom:1px solid #efe5d6;
}
.wedding-local-inner{
    display:grid;
    grid-template-columns:1.1fr 1.2fr auto;
    gap:45px;
    align-items:center;
}
.wedding-local-inner h2{
    font-family:Georgia,serif;
    font-size:36px;
    line-height:1.08;
    margin:8px 0 0;
}
.wedding-local-points{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.wedding-local-points span{
    border-left:2px solid var(--turq);
    padding-left:12px;
    font-size:12px;
    color:var(--muted);
}
.wedding-local-points strong{display:block;color:var(--ink);font-size:14px}
.wedding-local-inner>a{font-weight:900;color:var(--turq-dark)}

.anthony-local{background:var(--cream)}
.anthony-local-grid{
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:70px;
    align-items:center;
}
.local-quote{
    min-height:330px;
    border-radius:32px;
    background:var(--ink);
    color:#fff;
    padding:42px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
.local-quote span{
    color:#9be7ea;
    font-size:11px;
    letter-spacing:.15em;
    font-weight:900;
}
.local-quote strong{
    font-family:Georgia,serif;
    font-size:35px;
    line-height:1.12;
}

.local-manifesto{
    padding:92px 0;
    background:var(--cream);
}
.local-manifesto-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:start;
}
.local-groups-section{background:#fff}
.local-groups{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}
.local-group-card{
    position:relative;
    overflow:hidden;
    min-height:390px;
    border:1px solid var(--line);
    border-radius:28px;
    padding:35px;
    background:#fff;
}
.local-group-card:nth-child(2),
.local-group-card:nth-child(3){background:var(--soft)}
.local-group-number{
    position:absolute;
    right:24px;
    top:18px;
    font-family:Georgia,serif;
    font-size:75px;
    color:rgba(22,182,193,.13);
    line-height:1;
}
.local-group-card h2{
    font-family:Georgia,serif;
    font-size:34px;
    line-height:1.08;
    max-width:390px;
    margin:12px 0 15px;
}
.local-group-card p{color:var(--muted);max-width:520px}
.local-group-items{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:26px;
}
.local-group-items span{
    padding:8px 11px;
    border:1px solid #cee2e1;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    background:#fff;
}
.local-focus-section{
    padding:90px 0;
    background:var(--ink-2);
    color:#fff;
}
.local-focus-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:70px;
    align-items:center;
}
.local-focus-section p{color:rgba(255,255,255,.72);font-size:18px}
.local-focus-ingredient{
    min-height:340px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:32px;
    padding:38px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background:linear-gradient(135deg,rgba(22,182,193,.25),rgba(22,182,193,.03));
}
.local-focus-big{
    font-family:Georgia,serif;
    font-size:clamp(42px,6vw,78px);
    line-height:.9;
    color:#aaf0f3;
    margin-bottom:auto;
}
.local-focus-ingredient strong{
    font-family:Georgia,serif;
    font-size:30px;
}
.local-focus-ingredient small{color:rgba(255,255,255,.62)}
.local-near-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:start;
}
.local-place-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.local-place-list article{
    min-height:155px;
    border-radius:22px;
    border:1px solid var(--line);
    padding:23px;
    background:#fff;
}
.local-place-list strong{
    display:block;
    font-family:Georgia,serif;
    font-size:25px;
    margin-bottom:12px;
}
.local-place-list span{
    display:block;
    color:var(--muted);
    font-size:13px;
    margin-top:5px;
}
.local-charcuterie-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:70px;
    align-items:center;
}
.local-stamp-card{
    min-height:320px;
    border:2px solid var(--turq);
    border-radius:50% 50% 28px 28px;
    padding:45px;
    text-align:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#fff;
}
.local-stamp-card span{
    letter-spacing:.16em;
    font-size:11px;
    font-weight:900;
    color:var(--turq-dark);
}
.local-stamp-card strong{
    font-family:Georgia,serif;
    font-size:48px;
    line-height:1;
    margin:18px 0 8px;
}
.local-stamp-card small{font-weight:900}
.local-stamp-card i{margin-top:16px;color:var(--muted)}
.local-drinks{background:#fff}

@media(max-width:1050px){
    .main-nav{gap:9px;font-size:11px}
}
@media(max-width:850px){
    .local-signature-grid,
    .local-manifesto-grid,
    .local-focus-grid,
    .local-near-grid,
    .local-charcuterie-grid,
    .anthony-local-grid,
    .wedding-local-inner{
        grid-template-columns:1fr;
        gap:35px;
    }
    .wedding-local-inner>a{margin-top:0}
}
@media(max-width:580px){
    .local-signature{padding:68px 0 55px}
    .local-ingredients-grid,
    .local-groups,
    .local-place-list,
    .wedding-local-points{
        grid-template-columns:1fr;
    }
    .local-ingredients-grid article{min-height:150px}
    .local-route{
        flex-wrap:wrap;
        white-space:normal;
        gap:8px 10px;
    }
    .local-route i{flex:none;width:18px}
    .local-group-card{min-height:0;padding:27px}
    .local-group-number{font-size:58px}
    .local-focus-ingredient{min-height:290px;padding:28px}
    .local-focus-big{font-size:49px}
    .local-stamp-card{min-height:280px}
}


/* ==========================================================
   RÉSERVATION ET PHOTOS — 5 OCTOBRE 2026
   Ajouts ciblés, après les styles existants.
   ========================================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid var(--turq-dark);
    outline-offset: 4px;
    box-shadow: 0 0 0 2px #fff;
}

.field input:focus-visible,
.field select:focus-visible,
.field textarea:focus-visible {
    outline: 3px solid var(--turq-dark);
    outline-offset: 2px;
    border-color: var(--turq-dark);
}

.booking-request-page .internal-hero {
    min-height: 0;
}

.booking-request-page .internal-hero-inner {
    padding-top: 54px;
    padding-bottom: 48px;
}

.booking-request-page .internal-hero h1 {
    font-size: clamp(34px, 4.5vw, 56px);
    line-height: 1.08;
    max-width: 840px;
}

.booking-request-page .internal-hero p {
    font-size: 17px;
    max-width: 720px;
}

.booking-request-page .form-section {
    padding-top: 48px;
}

.booking-form,
.booking-request-page #demande {
    scroll-margin-top: 104px;
    min-width: 0;
}

.booking-form [hidden] {
    display: none !important;
}

.booking-form .field,
.booking-form .field input,
.booking-form .field select,
.booking-form .field textarea {
    min-width: 0;
}

.booking-form .field input,
.booking-form .field select,
.booking-form .field textarea {
    min-height: 48px;
    background: #fff;
    color: var(--ink);
    font-size: 16px;
}

.booking-form.was-validated .field input:invalid,
.booking-form.was-validated .field select:invalid,
.booking-form.was-validated .field textarea:invalid {
    border-color: #a83d2c;
    box-shadow: 0 0 0 2px rgba(168, 61, 44, .12);
}

.booking-estimate,
#booking-estimate {
    margin-top: 20px;
    background: var(--turq-soft);
    border: 1px solid #a8dfe2;
    border-radius: 18px;
    padding: 20px;
    color: var(--ink);
    overflow-wrap: anywhere;
}

.booking-estimate-title,
.booking-estimate-detail,
.booking-estimate-note {
    margin: 0;
}

.booking-estimate-title {
    font-size: 13px;
    font-weight: 800;
}

.booking-estimate-total {
    display: block;
    margin: 4px 0;
    font-family: Georgia, serif;
    font-size: clamp(28px, 4vw, 38px);
    line-height: 1.2;
}

.booking-estimate-detail {
    font-size: 14px;
}

.booking-estimate-note {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.5;
}

.booking-summary {
    margin-top: 28px;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--soft);
}

.booking-summary h3 {
    margin: 0 0 16px;
    font-family: Georgia, serif;
    font-size: 24px;
    line-height: 1.2;
}

.success-card .booking-reference {
    width: fit-content;
    max-width: 100%;
    margin: 22px auto;
    padding: 12px 18px;
    border: 1px solid #a8dfe2;
    border-radius: 14px;
    background: var(--turq-soft);
    color: var(--ink);
    font-size: clamp(16px, 3vw, 22px);
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.success-card .booking-summary p {
    margin-bottom: 12px;
    font-size: 16px;
    line-height: 1.5;
}

.success-card .form-errors {
    margin-top: 24px;
    text-align: left;
}

.success-card .form-errors p {
    color: #7e2e20;
    font-size: 16px;
}

.booking-recap-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
    margin: 0;
}

.booking-recap-list > div {
    min-width: 0;
}

.booking-recap-list dt {
    color: var(--muted);
    font-size: 12px;
}

.booking-recap-list dd {
    margin: 2px 0 0;
    font-size: 14px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.booking-feedback {
    margin: 16px 0 0;
    padding: 12px 15px;
    border-radius: 12px;
    background: var(--turq-soft);
    font-size: 14px;
}

.booking-feedback.is-error {
    background: #fff0ec;
    color: #7e2e20;
}

.booking-form button[type="submit"] {
    max-width: 100%;
    white-space: normal;
    line-height: 1.35;
    text-align: center;
    padding-top: 12px;
    padding-bottom: 12px;
}

.booking-form button[type="submit"]:disabled {
    cursor: wait;
    opacity: .75;
    transform: none;
}

.consent input[type="checkbox"] {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-top: 0;
    accent-color: var(--turq-dark);
}

/* Les images de galerie conservent leur ratio et leur largeur réelle. */
.gallery-masonry figure {
    width: 100%;
    max-width: 1180px;
    min-width: 0;
    justify-self: center;
}

.gallery-masonry img,
.gallery-masonry .wide img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.gallery-masonry figcaption {
    position: static;
    display: block;
    margin-top: 8px;
    padding: 9px 13px;
    border-radius: 14px;
    line-height: 1.45;
}

/* Les photos de la remorque et d’Anthony restent entières, sans zoom portrait. */
.hero-v4-photo {
    aspect-ratio: auto;
}

.hero-v4-photo img,
.anthony-main,
.portrait-frame img,
.quote-skill img,
.truck-cutout img {
    height: auto;
    object-fit: contain;
}

.anthony-card,
.portrait-caption,
.truck-cutout figcaption {
    position: static;
    margin-top: 12px;
    width: fit-content;
    max-width: 100%;
}

@media (max-width: 780px) {
    .booking-request-page .internal-hero-inner {
        padding-top: 34px;
        padding-bottom: 30px;
    }

    .booking-request-page .internal-hero h1 {
        font-size: clamp(30px, 7vw, 42px);
        margin-top: 12px;
        margin-bottom: 16px;
    }

    .booking-request-page .internal-hero p {
        font-size: 16px;
        margin-bottom: 0;
    }

    .booking-request-page .hero-actions {
        margin-top: 20px;
    }

    .booking-request-page .form-section {
        padding-top: 30px;
    }

    .booking-form,
    .booking-request-page #demande {
        scroll-margin-top: 88px;
    }
}

@media (max-width: 580px) {
    body {
        padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px));
    }

    .mobile-book {
        bottom: calc(9px + env(safe-area-inset-bottom, 0px));
    }

    /* Le formulaire dispose déjà de son CTA ; aucun bouton fixe devant les champs. */
    .booking-request-page {
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    .booking-request-page .mobile-book {
        display: none;
    }

    .booking-form .form-block {
        gap: 12px;
    }

    .booking-form .form-block h2 {
        font-size: 27px;
    }

    .booking-recap-list {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .booking-summary,
    .booking-estimate,
    #booking-estimate {
        padding: 17px;
    }

    .booking-form button[type="submit"] {
        width: 100%;
    }

    .success-card {
        padding: 30px 20px;
    }

    .success-card h1 {
        font-size: clamp(34px, 8vw, 44px);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .btn,
    .photo-card,
    .main-nav a::after {
        transition: none;
    }
}


/* Identité visuelle — la remorque turquoise et une palette crème chaleureuse. */
:root{--turq:#16b6c1;--turq-dark:#087b83;--turq-soft:#e5f6f2;--ink:#173b3a;--ink-2:#103330;--cream:#fcf6e9;--soft:#f2f6f2;--muted:#61736e;--line:#dbe5dc;--gold:#b77928;--shadow:0 18px 48px rgba(23,59,58,.08);--container:1240px}
html{scroll-padding-top:104px}
body{background:#fffefb;line-height:1.7}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.14;letter-spacing:-.028em;text-wrap:balance}
p{margin:0 0 18px}p:last-child{margin-bottom:0}
.container{width:min(var(--container),calc(100% - 56px))}
.section{padding:clamp(60px,6.5vw,90px) 0}
.section-head{margin-bottom:34px;gap:32px}
.section-head h2,.split h2,.anthony-grid h2,.pro-truck-grid h2,.producers-grid h2,.anthony-profile h2,.quote-skill h2,.truck-intro h2,.local-signature-copy h2{font-size:clamp(30px,3.5vw,46px);line-height:1.14;margin:12px 0 22px;max-width:850px}
.section-head h2{margin-bottom:0}
.eyebrow{font-size:10px;font-weight:750;letter-spacing:.15em;line-height:1.6}
.eyebrow-white{color:#bee9df}
.lead{font-size:18px;line-height:1.75}
.section-turquoise{background:#c8eae0}
.text-link,.inline-links a,.big-service-card a,.press-cards a,.testimonial-xl a,.source-links a{font-size:14px;font-weight:750;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.btn{padding:12px 24px;min-height:50px;font-size:14px;font-weight:750;line-height:1.4;text-align:center;transition:background .2s,transform .2s,box-shadow .2s}
.btn-primary{box-shadow:0 8px 24px rgba(22,182,193,.16)}
.btn-primary:hover{background:#19c2c7;box-shadow:0 10px 26px rgba(22,182,193,.24)}
.btn-dark:hover{background:var(--turq-dark)}
.btn-outline{border-color:#91a8a1}.btn-outline:hover{background:var(--soft)}
.center-btn{max-width:100%;width:fit-content;margin-top:30px}

/* Navigation adaptée aux libellés explicites, sans tassement. */
.topbar-inner{min-height:36px}.topbar a{color:#b6eddf}
.site-header{background:rgba(255,254,251,.97);border-bottom:1px solid var(--line)}
.nav-wrap{min-height:88px;gap:24px}
.brand{min-width:0;flex:0 0 auto}.brand img{width:64px;height:64px;flex:0 0 64px;object-fit:contain;background:#fff;border-radius:50%}
.legal-mini img,.success-card>img{object-fit:contain;background:#fff;border-radius:50%}
.brand strong{font-size:18px;font-weight:700;white-space:nowrap}
.brand small{font-size:9px;font-weight:750;letter-spacing:.14em;margin-top:6px}
.main-nav{gap:13px;font-size:12px;font-weight:650;white-space:nowrap}
.main-nav a{padding:10px 0}.main-nav a.active{color:var(--turq-dark)}
.main-nav .nav-cta{padding:11px 16px!important;border:1px solid var(--ink);background:var(--ink);color:#fff!important;font-weight:750}
.main-nav .nav-cta:hover{background:var(--turq-dark);border-color:var(--turq-dark)}
.menu-toggle{align-items:center;justify-content:center;flex-direction:column;width:46px;height:46px;padding:9px;border:1px solid var(--line);border-radius:50%;background:#fff}
.menu-toggle span:not(.sr-only){width:23px;margin:3px 0}

/* Accueil : une vraie photo entière, sur un premier écran clair. */
.hero-v4{padding:70px 0 66px;background:var(--cream);color:var(--ink);border-bottom:1px solid #e9e3d3}
.hero-v4-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:64px;align-items:center}
.hero-v4-copy{min-width:0}.hero-v4-copy .eyebrow-white{color:var(--turq-dark)}
.hero-v4-copy h1{margin:18px 0 24px;color:var(--ink);font-size:clamp(44px,4.9vw,68px);line-height:1.04;letter-spacing:-.035em;max-width:650px}
.hero-v4-lead{margin:0;max-width:610px;color:#4e6a64;font-size:18px;line-height:1.7}
.hero-v4 .btn-glass{color:var(--ink);border-color:#94aba2;background:transparent}
.hero-v4 .btn-glass:hover{background:#fffdf6}
.hero-v4-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px;padding-top:24px;border-top:1px solid #dadfce}
.hero-v4-proof strong{display:block;color:var(--ink);font-family:Georgia,serif;font-size:24px;font-weight:500;line-height:1.2}
.hero-v4-proof span{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.4}
.hero-v4-visual{position:relative;min-width:0}
.hero-v4-photo{width:100%;padding:8px;border:1px solid #dbe1d2;border-radius:26px;background:#fffdf7;box-shadow:0 22px 46px rgba(45,63,44,.10);aspect-ratio:auto}
.hero-v4-photo img{display:block;width:100%;height:auto;object-fit:contain;border-radius:19px}
.hero-v4-badge{position:static;width:fit-content;max-width:100%;margin:14px 0 0 auto;padding:8px 16px;border:1px solid #cadad0;border-radius:999px;background:#fffdf7;color:var(--ink);box-shadow:none}
.hero-v4-badge img{display:none}.hero-v4-badge span{color:var(--ink);font-family:Georgia,serif;font-size:16px;font-style:italic}

/* Pages intérieures : des titres plus courts visuellement. */
.internal-hero{min-height:390px;align-items:center;background-color:var(--ink-2);background-position:center 52%}
.internal-hero-shade{background:linear-gradient(90deg,rgba(16,51,48,.95),rgba(16,51,48,.8) 50%,rgba(16,51,48,.22))}
.internal-hero-inner{width:min(var(--container),calc(100% - 56px));max-width:none;margin:0 auto;padding:58px 0}
.internal-hero h1{max-width:800px;margin:16px 0 22px;font-size:clamp(38px,4.3vw,60px);line-height:1.07}
.internal-hero h1 em{color:#b3e7dc;font-weight:500}
.internal-hero p{max-width:710px;color:#e0ebe5;font-size:17px;line-height:1.7}

/* Cartes et photos : proportions respectées et légendes hors image. */
.truck-intro{padding:86px 0;background:#fffefb}
.truck-intro-grid{grid-template-columns:1.06fr .94fr;gap:70px}
.truck-cutout img,.anthony-main,.portrait-frame img,.quote-skill img,.truck-tech img,.pro-truck-grid img,.producers-grid img{height:auto;object-fit:contain;border-radius:24px}
.truck-cutout figcaption{padding:0;margin-top:13px;background:transparent;color:var(--muted);font-size:12px;font-weight:400}
.event-cards{gap:20px}.photo-card{min-height:355px;padding:25px;border:1px solid rgba(255,255,255,.17);border-radius:22px;background-image:linear-gradient(0deg,rgba(12,40,36,.94),rgba(12,40,36,.32) 54%,rgba(12,40,36,.03)),var(--photo)}
.photo-card span{margin-bottom:8px;font-size:10px;font-weight:750;letter-spacing:.13em;color:#b7e8df}
.photo-card strong{font-size:27px;font-weight:500;line-height:1.14}
.anthony-card,.portrait-caption{width:100%;margin-top:14px;padding:18px 22px;border-left:3px solid var(--turq);border-radius:0 14px 14px 0;background:var(--cream);box-shadow:none}
.anthony-card strong,.portrait-caption strong{font-size:24px;font-weight:500;margin:3px 0}
.anthony-card span,.portrait-caption span{font-size:13px;color:var(--muted)}
.gallery-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gallery-strip img{height:320px;padding:8px;object-fit:contain;background:var(--cream);border:1px solid #e6e3d5;border-radius:20px}
.cards-3,.press-cards,.review-grid{gap:24px}
.icon-card,.press-cards article{padding:30px;background:#fffefb;border-radius:22px}
.icon{width:44px;height:44px;font-size:13px;font-weight:750}
.icon-card h2,.icon-card h3{margin:21px 0 14px;font-size:27px;line-height:1.17}
.icon-card p,.press-cards p{font-size:15px;color:var(--muted)}
.service-photo-grid{gap:28px}.big-service-card{border:1px solid var(--line);background:#fffefb;border-radius:24px;box-shadow:0 10px 28px rgba(23,59,58,.04)}
.big-service-card img{height:300px;object-fit:contain;background:var(--cream)}
.big-service-card>div{padding:28px 30px 32px}.big-service-card h2{margin:10px 0 14px;font-size:31px}
.wedding-collage{grid-template-columns:1fr;gap:18px}.wedding-collage img,.wedding-collage img:last-child{height:auto;object-fit:contain}
.local-signature{padding:82px 0 64px;background:var(--cream)}
.local-ingredients-grid{gap:18px}.local-ingredients-grid article{min-height:184px;padding:25px;border-color:#d8dfce;border-radius:20px;background:#fffdf6}
.local-ingredients-grid article>span{width:30px;height:30px;background:#e0eee0;color:#38725e;font-size:10px}
.local-ingredients-grid strong{font-size:26px;font-weight:500;line-height:1.2}.local-ingredients-grid small{margin-top:8px;line-height:1.5}
.local-route{flex-wrap:wrap;white-space:normal;font-size:10px;color:#648172}
.local-quote{min-height:280px;border-radius:24px;background:var(--ink);gap:30px;justify-content:center}
.local-quote strong{font-size:32px;font-weight:500;line-height:1.2}

/* Tarifs : le choix de formule est un bouton, pas un lien discret. */
.pricing-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;padding-top:12px}
.price-card{display:flex;flex-direction:column;min-width:0;padding:32px 22px 24px;border:1px solid #cfded3;border-radius:22px;box-shadow:0 8px 24px rgba(23,59,58,.04)}
.price-card h2{min-height:58px;margin:4px 0 20px;font-size:23px;line-height:1.23}
.price-card strong{font-size:42px;font-weight:500;line-height:1.12;letter-spacing:-.035em;white-space:nowrap}
.price-card small{display:block;margin:7px 0 22px;font-size:12px}.price-card.recommended small{color:#d4e6de}
.price-badge{left:17px;padding:5px 12px;background:#b7ece1;color:#153d35;border:1px solid #94ded8;font-size:10px;font-weight:750}
.formula-choice{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:auto;padding:9px 10px;border:1px solid #cadbd0;border-radius:999px;font-size:12px;line-height:1.4;text-align:center;text-decoration:none}
.formula-choice:hover{background:var(--turq-soft)}.price-card.recommended .formula-choice{color:#fff;border-color:#779d91}.price-card.recommended .formula-choice:hover{background:#2b5650}
.pricing-note{margin-top:20px;font-size:13px;line-height:1.6}.pricing-note+.pricing-note{margin-top:8px}
.menu-columns{gap:46px}.menu-list li{font-size:15px;color:#e1eee5;line-height:1.5;border-color:#35564f}
.partner-list span{border-radius:14px;font-size:12px;color:#49655b}

/* Album de photos naturelles : deux colonnes, puis une sur téléphone. */
.gallery-page{background:var(--cream)}
.gallery-masonry{display:block;columns:2;column-gap:26px}
.gallery-masonry figure{display:inline-block;width:100%;max-width:1180px;margin:0 0 26px;padding:10px;border:1px solid #dedfd2;border-radius:22px;background:#fffefb;break-inside:avoid;vertical-align:top}
.gallery-masonry img,.gallery-masonry .wide img{width:100%;height:auto;object-fit:contain;border-radius:14px}
.gallery-masonry figcaption{padding:14px 9px 7px;margin:0;color:#4e6960;background:transparent;font-size:13px;font-weight:400;line-height:1.55}
.review-card{display:flex;flex-direction:column;padding:30px;border-radius:22px}
.review-card.featured{background:var(--cream);border-color:#e4dcc8}
.review-card blockquote{margin:20px 0 18px;font-size:28px;line-height:1.22;letter-spacing:-.02em}
.review-card p{font-size:15px}.review-card footer{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);color:#546c62;font-size:11px;font-weight:650}
.rating-strip{background:var(--cream);border-radius:22px}.rating-strip strong{font-size:38px;font-weight:500;line-height:1.2;margin-bottom:8px}

/* Réservation calme, devis visible, coordonnées faciles à retrouver. */
.booking-request-page .internal-hero{background-image:none;background-color:var(--cream);color:var(--ink);border-bottom:1px solid #e3dfce}
.booking-request-page .internal-hero-shade{display:none}
.booking-request-page .internal-hero-inner{padding:48px 0 42px}
.booking-request-page .internal-hero .eyebrow-white{color:var(--turq-dark)}
.booking-request-page .internal-hero h1{font-size:clamp(34px,4vw,54px);max-width:900px}
.booking-request-page .internal-hero h1 em{color:var(--turq-dark)}
.booking-request-page .internal-hero p{color:#516d64;font-size:16px;max-width:760px}
.booking-request-page .btn-glass{background:transparent;color:var(--ink);border-color:#99b0a5}
.form-layout{grid-template-columns:minmax(0,1fr) 330px;gap:36px}
.booking-form{padding:36px;border-color:#d3e0d4;border-radius:24px}
.form-step{min-width:38px;width:38px;height:38px;background:var(--turq-soft);color:var(--turq-dark);font-size:14px;font-weight:750}
.form-block h2{font-size:29px;margin-bottom:8px}.form-block p{font-size:13px;line-height:1.6}
.booking-form .form-block-start{margin-top:0;padding-top:0;border-top:0}
.form-grid{gap:19px}.field{font-size:13px;font-weight:650;gap:8px}
.field input,.field select,.field textarea{min-height:50px;padding:13px 15px;border-color:#becfc3;border-radius:12px;font-weight:400;line-height:1.5}
.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#7b8b82;opacity:1;font-size:14px}
.booking-estimate,#booking-estimate{margin-top:24px;padding:22px 24px;border-color:#b1dac9;border-left:4px solid var(--turq-dark);border-radius:15px;background:#edf8f2}
.booking-estimate-total{font-size:40px;font-weight:500;margin:7px 0;line-height:1.13;letter-spacing:-.025em}
.booking-estimate-note{color:#577165}
.booking-estimate>strong:not(.booking-estimate-total),.booking-estimate>span{display:block}
.booking-summary{padding:24px;border-color:#e1dfcf;border-radius:16px;background:#fcf8ed}
.booking-recap-list{gap:16px 24px}.booking-recap-list dt{font-size:11px}.booking-recap-list dd{font-weight:650}
.booking-form button[type="submit"]{background:var(--ink);color:#fff;min-height:56px}.booking-form button[type="submit"]:hover{background:var(--turq-dark)}
.form-aside{top:116px}.aside-photo img{height:auto;border:1px solid #ccdaca;border-radius:20px}
.aside-card{padding:25px;border-color:#d6dfd0;border-radius:20px;background:#fffef8}
.aside-card h2,.aside-card h3{margin:8px 0 16px;font-size:24px}.aside-card a{font-size:13px;font-weight:650;line-height:1.6}.aside-card .contact-big{font-size:27px;font-weight:500}
.contact-card{background:#fff;min-width:0;min-height:210px;border-radius:22px}.contact-card.accent{background:var(--turq-soft);border-color:#b4dcca}
.contact-card strong{font-size:25px;font-weight:500;line-height:1.25}
.success-page{padding:72px 0}.success-card{padding:48px;background:#fffef8;border-radius:26px}.success-card h1{font-size:clamp(34px,4vw,50px)}.success-card p{font-size:16px}
.truck-footer-band{background:#d2ecdf;border-top:1px solid #c3dece}
.truck-footer-inner{grid-template-columns:170px 1fr auto;gap:32px}.truck-footer-inner img{width:170px;height:auto;border:5px solid #edf6e9;border-radius:18px}
.truck-footer-inner .eyebrow-white{color:var(--turq-dark)}.truck-footer-inner h2{font-size:32px;margin:8px 0 12px}.truck-footer-inner p{color:#4b6d5d;font-size:14px}
.truck-footer-inner .btn-white{background:var(--ink);color:#fff}
.site-footer{background:var(--ink-2);padding:62px 0 26px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}.footer-grid>div:last-child{grid-column:auto}
.site-footer .brand{display:flex;margin-top:0}.brand-footer strong{font-size:17px;white-space:normal}.brand-footer small{color:#b1dfce;letter-spacing:.08em;font-size:9px}
.footer-copy{margin-top:22px;color:#c1d5cb;line-height:1.75}
.site-footer h3{font-family:inherit;font-size:10px;letter-spacing:.15em;color:#b2d5c4;margin:6px 0 19px}
.site-footer a{margin:11px 0;color:#e0eae3;line-height:1.65;overflow-wrap:anywhere}.site-footer a:hover{color:#a6e7d5}
.footer-bottom{color:#a6c0b1;border-color:#365c4e}.footer-bottom a{color:inherit;margin:0}

/* Harmonisation douce de la page producteurs qui possède son propre CSS. */
body .local-page{--lp-turq:var(--turq);--lp-turq-dark:var(--turq-dark);--lp-ink:var(--ink);--lp-ink2:var(--ink-2);--lp-cream:var(--cream);--lp-soft:var(--soft);--lp-line:var(--line);--lp-muted:var(--muted)}
body .local-page .lp-hero{padding:64px 0;background:var(--ink-2)}
body .local-page .lp-hero h1{font-size:clamp(38px,4.8vw,66px);line-height:1.07;font-weight:500}
body .local-page h2{font-size:clamp(30px,3.5vw,46px);line-height:1.14;font-weight:500}
body .local-page .lp-hero-mark{min-height:270px;border-radius:24px}
body .local-page .lp-hero-mark img{height:auto;object-fit:contain;background:#fff;border-radius:50%}
body .local-page .lp-producer{border-radius:22px;box-shadow:none}
body .local-page .lp-btn{font-size:14px;font-weight:750}

@media(max-width:1280px){
 .topbar{display:none}.nav-wrap{min-height:76px}.brand img{width:60px;height:60px;flex-basis:60px}.menu-toggle{display:flex}
 .main-nav{position:fixed;top:76px;left:0;right:0;display:none;max-height:calc(100dvh - 76px);overflow-y:auto;grid-template-columns:1fr 1fr;gap:12px;padding:22px max(28px,calc((100vw - 800px)/2)) 30px;border-top:1px solid var(--line);background:#fffefb;box-shadow:0 18px 32px rgba(23,59,58,.12);font-size:14px;white-space:normal}
 .main-nav.is-open{display:grid}.main-nav a{padding:12px 16px;min-height:48px;border:1px solid #d8e2d6;border-radius:12px}.main-nav a.active{background:var(--turq-soft)}.main-nav a:not(.nav-cta)::after{display:none}.main-nav .nav-cta{grid-column:1/-1;padding:14px 20px!important;text-align:center}body.menu-open{overflow:hidden}
}
@media(max-width:1080px){
 .hero-v4-grid{gap:40px}.hero-v4-copy h1{font-size:50px}.event-cards{grid-template-columns:repeat(2,1fr)}.photo-card{min-height:310px}
 .pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.form-layout{grid-template-columns:minmax(0,1fr) 290px;gap:24px}.booking-form{padding:28px}
 .truck-footer-inner{grid-template-columns:130px 1fr;gap:26px}.truck-footer-inner img{width:130px}.truck-footer-inner .btn{grid-column:2;justify-self:start}.footer-grid{gap:26px}
}
@media(max-width:850px){
 .container,.internal-hero-inner{width:min(var(--container),calc(100% - 40px))}.hero-v4{padding:46px 0}.hero-v4-grid{grid-template-columns:1fr;gap:34px}
 .hero-v4-copy h1{font-size:clamp(38px,6vw,54px);max-width:760px}.hero-v4-visual{max-width:700px;width:100%;margin:auto}.hero-v4-proof{max-width:600px}
 .internal-hero{min-height:0}.internal-hero-inner{padding:46px 0}.internal-hero h1{font-size:42px}.internal-hero-shade{background:rgba(16,51,48,.79)}
 .truck-intro-grid,.anthony-grid,.split,.truck-tech,.wedding-grid,.pro-truck-grid,.brief-panel,.producers-grid,.anthony-profile,.quote-skill,.form-layout,.local-signature-grid,.anthony-local-grid{grid-template-columns:1fr;gap:34px}
 .truck-intro{padding:66px 0}.cards-3,.press-cards{grid-template-columns:1fr;gap:18px}.review-grid{grid-template-columns:repeat(2,1fr)}
 .service-photo-grid{gap:20px}.big-service-card>div{padding:24px}.big-service-card img{height:245px}.big-service-card h2{font-size:27px}
 .menu-columns{grid-template-columns:1fr;gap:34px}.gallery-strip{gap:14px}.gallery-strip img{height:250px}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .form-aside{position:static;grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:18px}.contact-card{min-height:165px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-grid>div:last-child{grid-column:auto}
}
@media(max-width:580px){
 html{scroll-padding-top:90px}body{font-size:15px}.container,.internal-hero-inner{width:calc(100% - 32px)}
 .brand{gap:10px;flex:1 1 auto}.brand img{width:56px;height:56px;flex-basis:56px}.brand span{max-width:200px;min-width:0}.brand strong{font-size:16px;white-space:normal}.brand small{display:none}.menu-toggle{flex-shrink:0}.main-nav{gap:10px;padding:18px 16px 24px}.main-nav a{padding:13px 12px;font-size:13px}
 .section{padding:54px 0}.section-head{flex-direction:column;align-items:start;gap:20px;margin-bottom:28px}
 .section-head h2,.split h2,.anthony-grid h2,.pro-truck-grid h2,.producers-grid h2,.anthony-profile h2,.quote-skill h2,.truck-intro h2,.local-signature-copy h2{font-size:32px}
 .hero-v4{padding:34px 0 38px}.hero-v4-grid{gap:30px}.hero-v4-copy h1{margin:16px 0 20px;font-size:clamp(35px,8.9vw,45px);line-height:1.08}.hero-v4-lead{font-size:16px}
 .hero-v4-proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:27px;padding-top:20px}.hero-v4-proof strong{font-size:21px}.hero-v4-proof span{font-size:10px}
 .hero-v4-photo{padding:6px;border-radius:22px}.hero-v4-photo img{border-radius:16px}.hero-v4-badge{margin-left:auto;margin-right:auto}.hero-v4-badge span{font-size:14px}
 .internal-hero-inner{padding:38px 0}.internal-hero h1{font-size:34px;line-height:1.1}.internal-hero p{font-size:15px}.lead{font-size:16px}.truck-intro{padding:54px 0}
 .event-cards,.review-grid,.service-photo-grid,.gallery-strip,.form-aside{grid-template-columns:1fr}.photo-card{min-height:295px;padding:23px}.photo-card strong{font-size:29px}.gallery-strip img{height:300px;padding:8px}.big-service-card img{height:260px}
 .icon-card h2,.icon-card h3{font-size:26px}.local-ingredients-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.local-ingredients-grid article{min-height:173px;padding:18px;min-width:0}.local-ingredients-grid strong{font-size:clamp(19px,5.5vw,23px);overflow-wrap:anywhere}.local-ingredients-grid small{font-size:11px}.local-signature{padding:54px 0}
 .gallery-masonry{columns:1}.gallery-masonry figure{padding:8px;margin-bottom:22px;border-radius:19px}.gallery-masonry img{border-radius:12px}.gallery-masonry figcaption{padding:12px 6px 5px;font-size:12px}
 .pricing-grid{grid-template-columns:1fr;gap:25px}.price-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;padding:27px 24px 22px}
 .price-card h2{grid-column:1;grid-row:1/3;min-height:0;margin:0;align-self:center;font-size:23px}.price-card strong{grid-column:2;grid-row:1;font-size:36px;text-align:right}.price-card small{grid-column:2;grid-row:2;margin:0;text-align:right;font-size:11px}.formula-choice{grid-column:1/-1;margin-top:15px;font-size:13px}
 .booking-request-page .internal-hero-inner{padding:32px 0 30px}.booking-request-page .internal-hero h1{font-size:33px}.booking-request-page .internal-hero p{font-size:15px}.booking-request-page .form-section{padding-top:26px}
 .booking-form{padding:24px 20px;border-radius:21px}.form-block h2{font-size:26px}.form-block p{font-size:12px}.field{font-size:12px}.field input,.field select,.field textarea{padding:12px 13px}
 .booking-estimate,#booking-estimate{padding:18px}.booking-estimate-total{font-size:35px}.booking-estimate-detail{font-size:13px}.booking-summary{padding:20px}.success-card{padding:30px 22px}.success-card h1{font-size:34px}
 .truck-footer-inner{grid-template-columns:1fr;gap:22px;text-align:center}.truck-footer-inner img{width:130px;margin:auto}.truck-footer-inner h2{font-size:29px}.truck-footer-inner p{font-size:13px}.truck-footer-inner .btn{grid-column:auto;justify-self:center}
 .site-footer{padding:46px 0 28px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-copy{max-width:100%}.footer-bottom{flex-direction:column;gap:12px}
 .mobile-book{z-index:90;left:12px;right:12px;min-height:52px;font-size:14px;font-weight:750}
 body .local-page .lp-hero{padding:38px 0 40px}body .local-page .lp-hero h1{font-size:37px}body .local-page h2{font-size:32px}
}
.booking-request-page #demande,.booking-request-page .booking-form{scroll-margin-top:0}


/* Octobre 2026 — photographie locale et variété des événements */
.review-card .review-title{font-family:Georgia,serif;font-size:clamp(23px,2.4vw,29px);font-weight:500;line-height:1.2;margin:16px 0;color:var(--ink)}
.hero-v4-proof strong{font-size:clamp(20px,2vw,25px)}
.event-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.photo-card{background-position:center center;background-size:cover;min-height:340px}
.service-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.big-service-card img{width:100%;height:285px;object-fit:cover;object-position:center 45%;background:var(--cream)}
.big-service-card{scroll-margin-top:95px}
.press-cards.press-cards-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.google-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}
.google-highlights strong{font-size:clamp(22px,2.5vw,32px)}
.review-source-note{color:var(--muted);font-size:13px;line-height:1.65;margin:18px auto 0}
.review-card footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.testimonial-source{font-size:13px;color:var(--muted);margin-top:10px}
.testimonial-source a{color:var(--turq-dark)}
@media(max-width:1080px){.event-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.service-photo-grid{grid-template-columns:1fr}.press-cards.press-cards-two{grid-template-columns:1fr}.google-highlights{grid-template-columns:1fr}}
@media(max-width:580px){.event-cards{grid-template-columns:1fr}.photo-card{min-height:295px}.big-service-card img{height:260px}.google-highlights{grid-template-columns:1fr}}


/* ==========================================================
   Mise à jour éditoriale : chez vous, expérience & alimentation
   ========================================================== */
.section-home-gatherings{
    padding:88px 0;
    background:linear-gradient(145deg,#eaf8f6,#fff8ed 88%);
    scroll-margin-top:118px;
}
.home-gathering-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:72px;align-items:center}
.home-gathering-photo{position:relative;min-width:0}
.home-gathering-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 50%;border-radius:28px;box-shadow:var(--shadow)}
.home-photo-stamp{position:absolute;bottom:22px;left:22px;right:22px;width:max-content;max-width:calc(100% - 44px);padding:10px 17px;background:#fffdf7;border-radius:100px;font-size:12px;font-weight:900;color:var(--ink);box-shadow:0 10px 25px rgba(8,32,36,.12)}
.home-gathering-copy h2,.home-story-copy h2{font-family:Georgia,serif;font-size:clamp(37px,4.5vw,60px);letter-spacing:-.035em;line-height:1.07;margin:12px 0 23px}
.home-gathering-copy p,.home-story-copy p{line-height:1.75;color:#415a5b;font-size:17px}
.home-gathering-copy .lead,.home-story-copy .lead{font-size:19px;color:var(--ink)}
.home-gathering-tags{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0 27px}
.home-gathering-tags span{padding:8px 12px;border:1px solid #b5dbd7;background:rgba(255,255,255,.66);border-radius:100px;font-size:12px;font-weight:800;color:#26555a}
.service-home-section{background:linear-gradient(135deg,#fff8ed,#ebf7f5)}
.service-home-section .home-gathering-photo img{aspect-ratio:4/5;object-position:center 28%}
.artisan-at-home{scroll-margin-top:112px}
.artisan-at-home .home-story-grid{gap:62px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.artisan-at-home .home-story-photo{margin:0;min-width:0}
.artisan-at-home .home-story-photo img{width:100%;height:auto;object-fit:contain;border-radius:26px;box-shadow:var(--shadow)}
.artisan-at-home .home-story-photo figcaption{font-size:12px;color:var(--muted);margin-top:12px;text-align:center}
.home-story-copy .home-story-note{font-size:14px;font-weight:600;color:#526867;margin:16px 0 27px}
.press-story{scroll-margin-top:110px}
.press-story h2{font-size:clamp(36px,4.3vw,58px);line-height:1.06;letter-spacing:-.035em;margin:14px 0 28px}
.press-story-date{font-size:13px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#19555c}
.press-story-copy{font-size:17px;line-height:1.76}
.press-story-copy p{margin:0 0 18px}
.press-story-copy .press-source-note{font-size:14px;color:#194e53;margin:18px 0 26px}
.dietary-info{margin:26px 0 24px;padding:24px 26px;background:#effaf7;border:1px solid #b7ded4;border-radius:20px}
.dietary-info h3{font-family:Georgia,serif;font-size:clamp(23px,3vw,32px);line-height:1.18;margin:8px 0 14px;color:var(--ink)}
.dietary-info p{font-size:15px;line-height:1.7;color:#36575a;margin:0 0 12px}
.dietary-info p:last-child{margin-bottom:0}
.dietary-info .dietary-caution{color:#3b6060;font-size:13px;border-top:1px solid #c0e1d9;padding-top:12px}
.field-optional{font-weight:500;color:#56777a;font-size:13px}
@media(max-width:950px){
    .home-gathering-grid,.artisan-at-home .home-story-grid{grid-template-columns:1fr;gap:36px}
    .home-gathering-photo{max-width:650px;width:100%;margin:auto}
    .home-gathering-photo img{max-height:640px}
    .artisan-at-home .home-story-photo{max-width:650px;width:100%;margin:auto}
}
@media(max-width:580px){
    .section-home-gatherings{padding:62px 0}
    .home-gathering-copy h2,.home-story-copy h2{font-size:36px;line-height:1.1}
    .home-gathering-copy p,.home-story-copy p{font-size:16px}
    .home-gathering-photo img{aspect-ratio:5/5;max-height:430px;object-position:center 38%}
    .home-photo-stamp{left:12px;right:12px;bottom:12px;max-width:calc(100% - 24px);padding:8px 11px;font-size:11px}
    .home-gathering-tags{margin:19px 0 24px}
    .artisan-at-home .home-story-photo img{max-height:550px}
    .press-story h2{font-size:36px}
    .press-story-copy{font-size:16px}
    .dietary-info{padding:21px 18px;margin:18px 0}
    .dietary-info h3{font-size:26px}
}

/* Accueil : photo principale pleine largeur, photo domicile paysage et illustrations */
body .hero-v4.hero-home-cover{position:relative;isolation:isolate;min-height:550px;display:flex;align-items:center;padding:75px 0 65px;background-image:linear-gradient(90deg,rgba(9,43,43,.93) 0%,rgba(9,43,43,.79) 43%,rgba(9,43,43,.35) 100%),var(--hero-photo);background-position:center,center 44%;background-size:cover;color:white;border:0}
body .hero-home-cover .hero-v4-grid{display:block;width:min(1220px,calc(100% - 48px))}
body .hero-home-cover .hero-v4-copy{max-width:780px}
body .hero-home-cover .hero-v4-copy .eyebrow-white{color:#b6e8da}
body .hero-home-cover .hero-v4-copy h1{color:#fff;max-width:770px;font-size:clamp(43px,5.2vw,74px)}
body .hero-home-cover .hero-v4-lead{color:#fff;max-width:670px;font-size:18px}
body .hero-home-cover .btn-glass{color:#fff;border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.14)}
body .hero-home-cover .btn-glass:hover{background:rgba(255,255,255,.26)}
body .hero-home-cover .hero-v4-proof{max-width:680px;border-color:rgba(255,255,255,.38)}
body .hero-home-cover .hero-v4-proof strong{color:#fff}
body .hero-home-cover .hero-v4-proof span{color:#e0f1ed}
body .section-home-gatherings .home-gathering-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,4vw,58px)}
body .section-home-gatherings .home-gathering-photo{max-width:none}
body .section-home-gatherings .home-gathering-photo img{display:block;width:100%;height:clamp(330px,33vw,430px);aspect-ratio:4/3;object-fit:cover;object-position:center 57%}
body .section-home-gatherings .home-gathering-copy h2{font-size:clamp(36px,4vw,54px)}
.local-ingredients-grid article{position:relative;padding-right:92px}
.local-ingredients-grid .ingredient-illustration{position:absolute;right:16px;top:22px;width:65px;height:65px;object-fit:contain;opacity:.95}
@media(max-width:950px){body .section-home-gatherings .home-gathering-grid{grid-template-columns:1fr;gap:28px}body .section-home-gatherings .home-gathering-photo img{height:auto;max-height:430px;aspect-ratio:4/3}}
@media(max-width:650px){body .hero-v4.hero-home-cover{min-height:500px;padding:58px 0 45px;background-position:center,62% center;background-image:linear-gradient(90deg,rgba(9,43,43,.91),rgba(9,43,43,.58)),var(--hero-photo)}body .hero-home-cover .hero-v4-grid{width:calc(100% - 34px)}body .hero-home-cover .hero-v4-copy h1{font-size:clamp(35px,8vw,49px)}body .hero-home-cover .hero-v4-lead{font-size:15px}body .hero-home-cover .hero-v4-proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}body .section-home-gatherings .home-gathering-photo img{max-height:370px}.local-ingredients-grid article{padding-right:82px}.local-ingredients-grid .ingredient-illustration{width:56px;height:56px;right:15px;top:20px}}
