@font-face{font-family:"Etna";src:url("fonts/etna-bold.woff") format("woff"),url("fonts/etna-bold.otf") format("opentype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Wigrum";src:url("fonts/wigrum-regular.woff") format("woff"),url("fonts/wigrum-regular.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap}
:root{--cream:#EADBC2;--ink:#181918;--brown:#8C5830;--sand:#C0AE9E;--ochre:#C98127;--red:var(--ochre);--line:rgba(24,25,24,.2);--display:"Etna",Georgia,serif;--body:"Wigrum",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:16px}a{color:inherit;text-decoration:none}em{font-style:normal;color:var(--red)}
.site-header{height:82px;position:absolute;z-index:20;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;color:var(--cream);border-bottom:1px solid rgba(234,219,194,.22)}.brand{display:flex;align-items:flex-end;width:max-content;font-family:var(--display);font-weight:900;line-height:.78}.brand span{font-size:2.2rem}.brand small{font:600 .62rem var(--body);letter-spacing:.12em;margin:0 0 1px 5px}.site-header nav{display:flex;gap:2.4rem;font-size:.82rem}.site-header nav a{opacity:.75;transition:.2s}.site-header nav a:hover{opacity:1}.lang{justify-self:end;border:1px solid rgba(234,219,194,.4);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:.72rem}
.hero{min-height:100vh;background:#10110f;color:var(--cream);position:relative;overflow:hidden;display:flex;align-items:center;padding:130px 8vw 80px}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,17,15,.98) 0%,rgba(16,17,15,.8) 34%,rgba(16,17,15,.12) 68%,rgba(16,17,15,.38) 100%),linear-gradient(0deg,rgba(16,17,15,.9) 0%,transparent 35%),url("vital-mfg-usine-sauces-montreal.png") center/cover no-repeat;filter:saturate(.75)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(234,219,194,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(234,219,194,.055) 1px,transparent 1px);background-size:7.5vw 7.5vw;mask-image:linear-gradient(90deg,#000,transparent 78%)}.hero-copy{position:relative;z-index:2;width:min(820px,72vw)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600;margin:0 0 1.5rem}.eyebrow:before{content:"";display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}.eyebrow.dark{color:#56514a}.hero h1,.story h2,.services h2,.brands h2,.cta h2{font-family:var(--display);font-weight:800;line-height:.8;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(5rem,11vw,10.5rem)}.hero .lead{font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.65;max-width:690px;color:rgba(234,219,194,.78);margin:2.2rem 0 2rem}.button{display:inline-flex;align-items:center;gap:2rem;border:1px solid rgba(234,219,194,.6);border-radius:100px;padding:1rem 1.15rem 1rem 1.5rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.button span{background:var(--red);color:white;width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.hero-side{position:absolute;right:3.2vw;top:50%;transform:translateY(-50%);z-index:2;display:flex;flex-direction:column;gap:1rem;align-items:flex-end;text-transform:uppercase;font-size:.66rem;letter-spacing:.16em;color:rgba(234,219,194,.7)}.hero-side span:after{content:"";display:inline-block;width:18px;height:1px;background:var(--red);vertical-align:middle;margin-left:10px}.scroll-cue{position:absolute;bottom:2rem;right:4vw;z-index:2;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.scroll-cue span{margin-left:10px;color:var(--red)}
.ticker{overflow:hidden;background:var(--red);color:var(--cream);height:74px;display:flex;align-items:center}.ticker-track{display:flex;align-items:center;gap:2.2rem;white-space:nowrap;font:800 2.2rem var(--display);animation:ticker 22s linear infinite}.ticker i{font-style:normal;font-size:1rem}@keyframes ticker{to{transform:translateX(-50%)}}
.story{position:relative;padding:9rem 8vw 10rem;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.section-number{position:absolute;top:3rem;right:4vw;font:700 .8rem var(--body);border:1px solid var(--line);border-radius:50%;width:44px;height:44px;display:grid;place-items:center}.story h2,.brands h2{font-size:clamp(4.2rem,7.2vw,8rem)}.story-copy{padding-top:5rem;max-width:620px}.story-copy p{color:#57524b;line-height:1.75;margin:0 0 1.5rem}.story-copy .large{font-size:1.45rem;line-height:1.5;color:var(--ink);font-weight:500}.stat{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line);display:flex;align-items:flex-end;gap:1rem}.stat strong{font:800 7rem/.7 var(--display);color:var(--red)}.stat span{text-transform:uppercase;font-size:.68rem;letter-spacing:.12em;line-height:1.6}
.services{background:var(--ink);color:var(--cream);padding:8rem 8vw}.services-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6rem}.services h2{font-size:clamp(4.2rem,7vw,7.8rem)}.section-number.light{position:static;border-color:rgba(234,219,194,.24)}.service-list{border-top:1px solid rgba(234,219,194,.2)}.service-list article{display:grid;grid-template-columns:minmax(250px,1fr) 1fr 40px;gap:2rem;align-items:center;padding:2.1rem 0;border-bottom:1px solid rgba(234,219,194,.2);transition:.25s}.service-list article:hover{padding-left:1rem;background:rgba(234,219,194,.035)}.service-list article>span{font-size:.68rem;color:var(--red)}.service-list h3{font:700 clamp(1.8rem,3vw,3.2rem) var(--display);margin:0}.service-list p{color:rgba(234,219,194,.62);line-height:1.6;max-width:420px}.service-list b{font-size:1.5rem;color:var(--red)}
.brands{padding:9rem 4vw;background:var(--cream)}.brands-intro{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;padding:0 4vw 5rem}.brands-intro>p{line-height:1.7;color:#57524b;max-width:430px}.brand-wall{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.brand-wall span{min-height:120px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;place-items:center;text-align:center;padding:1rem;font-family:var(--display);font-size:1.25rem;font-weight:800;letter-spacing:.035em;transition:.2s}.brand-wall span:hover{background:var(--ink);color:var(--cream)}.brand-wall .featured{background:var(--red);color:var(--cream);font-size:2rem}
.cta{background:var(--red);color:var(--cream);padding:9rem 8vw;position:relative;overflow:hidden}.cta:after{content:"V";position:absolute;right:-3vw;bottom:-12vw;font:900 48vw/.7 var(--display);color:rgba(24,25,24,.12)}.cta h2{font-size:clamp(5rem,10vw,11rem);position:relative;z-index:1}.cta h2 em{color:var(--ink)}.button.cream{position:relative;z-index:2;margin-top:3rem;border-color:var(--cream)}.button.cream span{background:var(--ink)}
footer{padding:4rem 4vw;background:#0f100f;color:var(--cream);display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:2rem;align-items:end}footer>div:not(.brand),footer address{display:flex;flex-direction:column;gap:.5rem;font-size:.8rem}footer address{font-style:normal}footer>div span,footer>div a,footer address span,footer>small{color:rgba(234,219,194,.56)}.footer-brand span{font-size:4rem}.footer-brand small{font-size:.7rem}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{padding-left:6vw;padding-right:6vw}.hero-copy{width:100%}.hero-side{display:none}.story{grid-template-columns:1fr;padding:7rem 6vw}.story-copy{padding-top:0}.services{padding:7rem 6vw}.service-list article{grid-template-columns:1fr 30px}.service-list p{grid-column:1/2;margin:0}.brands{padding:7rem 4vw}.brands-intro{grid-template-columns:1fr;gap:2rem}.brand-wall{grid-template-columns:repeat(3,1fr)}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:560px){.hero{min-height:780px;align-items:flex-end;padding-bottom:6rem}.hero h1{font-size:4.6rem}.hero .lead{font-size:.95rem}.ticker{height:58px}.ticker-track{font-size:1.7rem}.story h2,.brands h2,.services h2{font-size:3.8rem}.story-copy .large{font-size:1.2rem}.stat strong{font-size:5rem}.services-head{margin-bottom:4rem}.service-list article{gap:1rem}.service-list h3{font-size:1.8rem}.brand-wall{grid-template-columns:repeat(2,1fr)}.brand-wall span{min-height:96px;font-size:1rem}.brands-intro{padding-left:2vw;padding-right:2vw}.cta{padding:7rem 6vw}.cta h2{font-size:4.6rem}footer{grid-template-columns:1fr}.footer-brand{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}}
.section-number{display:none!important}
@media(max-width:560px){.legal-main{padding-left:5vw;padding-right:5vw}.legal-wrap{width:100%;max-width:none;min-width:0}.legal-main h1{font-size:clamp(2.55rem,11.5vw,4rem);line-height:.9;overflow-wrap:normal;word-break:normal;margin-bottom:2rem}.legal-main h2{font-size:1.65rem;line-height:1.08;overflow-wrap:normal;word-break:normal}.legal-main p{font-size:1rem;overflow-wrap:normal;word-break:normal}.legal-date{font-size:.72rem!important;letter-spacing:.08em;line-height:1.5}.legal-main a{overflow-wrap:normal;word-break:normal}}
.site-header{transition:background .25s}.site-header.scrolled{position:fixed;background:rgba(15,16,15,.94);backdrop-filter:blur(12px)}
.brand{display:block;width:124px}.brand img{display:block;width:100%;height:auto}.header-actions{justify-self:end;display:flex;align-items:center;gap:.75rem}.lang{justify-self:auto}.menu-toggle{display:none;width:44px;height:44px;border:1px solid rgba(234,219,194,.4);border-radius:50%;background:transparent;padding:0;place-items:center;position:relative}.menu-toggle span{position:absolute;width:18px;height:1px;background:var(--cream);transition:.2s}.menu-toggle span:first-child{transform:translateY(-4px)}.menu-toggle span:last-child{transform:translateY(4px)}.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:rotate(-45deg)}
.hero h1{font-size:clamp(3.6rem,7.8vw,8.2rem);line-height:.84}
.cta{display:grid;grid-template-columns:1.05fr .75fr;gap:8vw}.cta-copy,.project-form{position:relative;z-index:1}.cta h2{font-size:clamp(4.3rem,7vw,8rem)}.cta-copy>p:last-child{max-width:520px;line-height:1.6;color:rgba(234,219,194,.78)}.project-form{align-self:center;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field{display:flex;flex-direction:column;gap:.45rem}.field label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.field input,.field select{width:100%;min-height:48px;border:0;border-bottom:1px solid rgba(234,219,194,.55);border-radius:0;background:rgba(24,25,24,.08);color:var(--cream);padding:.7rem;font:inherit}.field input::placeholder{color:rgba(234,219,194,.5)}.field input:focus,.field select:focus{outline:2px solid var(--cream);outline-offset:2px}.form-submit{grid-column:1/-1;justify-self:start;margin-top:1.2rem;background:transparent;color:var(--cream)}.footer-brand{width:190px}.footer-brand img{width:100%}
@media(max-width:900px){.menu-toggle{display:grid}.site-header nav{display:none;position:fixed;top:82px;left:0;right:0;background:#0f100f;padding:2rem 6vw 3rem;flex-direction:column;gap:1.5rem;font:700 2rem var(--display);border-top:1px solid rgba(234,219,194,.15)}.site-header nav.open{display:flex}.cta{grid-template-columns:1fr;gap:4rem}}
@media(max-width:560px){.brand{width:105px}.hero h1{font-size:3.25rem}.project-form{grid-template-columns:1fr}.field,.form-submit{grid-column:1}}
.arrow-circle{width:38px;height:38px;border-radius:50%;display:inline-grid;place-items:center;background:var(--red);color:var(--cream);font:600 1rem/1 var(--body);transition:transform .25s,background .25s,color .25s}.service-list article:hover .arrow-circle{transform:rotate(45deg);background:var(--cream);color:var(--ink)}.scroll-cue{display:flex;align-items:center;gap:.7rem}.scroll-cue .arrow-circle{margin-left:0;width:34px;height:34px}.scroll-cue .arrow-down{background:var(--red);color:var(--cream)}.button>span{flex:0 0 auto;transition:transform .25s,background .25s}.button:hover>span{transform:rotate(45deg)}.cta .button>span{background:var(--ink);color:var(--cream)}
.food-showcase{background:var(--cream);padding:8rem 8vw 2rem;display:grid;grid-template-columns:1fr .78fr 1.15fr;gap:2.2vw;align-items:center}.food-card{margin:0;overflow:hidden;background:#d1c1a7}.food-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}.food-card:hover img{transform:scale(1.045);filter:saturate(1.08)}.food-card-tall{height:520px;border-radius:150px 28px 28px 28px}.food-card-round{aspect-ratio:1;border-radius:50%}.food-card-wide{height:410px;border-radius:28px 160px 28px 28px}
@media(max-width:900px){.food-showcase{padding:6rem 5vw 1rem;grid-template-columns:1fr 1fr;gap:1rem}.food-card-tall{height:430px}.food-card-round{width:82%;justify-self:center}.food-card-wide{grid-column:1/-1;height:360px;border-radius:24px 120px 24px 24px}}
@media(max-width:560px){.food-showcase{grid-template-columns:1fr;padding:5rem 6vw 1rem}.food-card-tall,.food-card-wide{height:370px;border-radius:24px 110px 24px 24px}.food-card-round{width:88%;grid-column:1}.food-card-wide{border-radius:110px 24px 24px 24px}}

/* Brand-led motion system */
.hero-photo{transform:translate3d(0,var(--hero-photo-y,0),0) scale(1.045);will-change:transform}
.hero-grid{transform:translate3d(0,var(--hero-grid-y,0),0);will-change:transform}
.food-card img{transform:translate3d(0,var(--food-drift,0),0) scale(1.08);will-change:transform}
.food-card:hover img{transform:translate3d(0,var(--food-drift,0),0) scale(1.13)}
.js .reveal{opacity:0;transform:translate3d(0,34px,0);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--reveal-index,0) * 55ms)}
.js .reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
.js .brand-wall span.reveal{transform:translate3d(0,22px,0) scale(.96)}
.js .brand-wall span.reveal.is-visible{transform:translate3d(0,0,0) scale(1)}
.year-counter{font-variant-numeric:tabular-nums}
.button,.arrow-circle,.brand-wall span{transition-timing-function:cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){.hero-photo,.hero-grid,.food-card img,.food-card:hover img{transform:none!important}.js .reveal,.js .brand-wall span.reveal{opacity:1!important;transform:none!important;transition:none!important}}
@media(max-width:560px){
  .services,.cta,.faq-section,.story,.local-proof,.food-showcase{padding-left:6vw;padding-right:6vw}
  .services h2,.cta h2,.faq-head h1,.story h2,.brands h2{max-width:100%;overflow-wrap:break-word;word-break:normal}
  .services h2{font-size:clamp(2.7rem,12.5vw,3.8rem);line-height:.88}
  .cta h2{font-size:clamp(2.7rem,12vw,4.3rem);line-height:.88}
  .faq-head h1{font-size:clamp(3rem,14vw,4.4rem)}
  .story h2,.brands h2{font-size:clamp(2.8rem,12vw,3.8rem)}
  .services-head{gap:1.2rem}
  .services-head .section-number{flex:0 0 auto}
  .cta-copy>p:last-child{max-width:100%;overflow-wrap:break-word}
}
.hero{background:var(--ink)}
.eyebrow.dark,.story-copy p,.brands-intro>p{color:var(--brown)}
.food-card{background:var(--sand)}
.site-header.scrolled,footer{background:var(--ink)}
.cta-simple{display:block}.cta-simple .cta-copy{max-width:980px}.cta-simple .button{margin-top:2.5rem}
.contact-page{background:var(--ink)}.contact-page .site-header{position:fixed;background:rgba(24,25,24,.95);backdrop-filter:blur(12px)}
.language-switch{display:flex;align-items:center;gap:.45rem}.language-switch .lang{width:40px;height:40px;border:0;color:var(--cream);font-size:.68rem;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s}.language-switch .lang.fr{background:var(--brown)}.language-switch .lang.en{background:var(--ochre)}.language-switch .lang:hover{transform:translateY(-2px)}.language-switch .lang.active{box-shadow:0 0 0 2px var(--cream);opacity:1}.language-switch .lang:not(.active){opacity:.78}
.brand img{mix-blend-mode:normal}
.ticker-track{width:max-content;gap:0;will-change:transform}.ticker-group{display:flex;align-items:center;gap:2.2rem;flex:0 0 auto;padding-right:2.2rem}.story-title h2{font-size:clamp(3.55rem,6.15vw,7rem)}.story-title-line{white-space:nowrap}
.ticker-track.ticker-js{animation:none!important}
@keyframes ticker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:560px){.story-title h2{font-size:3.35rem}.ticker-group{gap:1.5rem;padding-right:1.5rem}}
.contact-title-line,.contact-last-line{display:block;white-space:normal;font-size:clamp(2rem,4.1vw,4.4rem);line-height:.92;letter-spacing:-.045em}
@media(max-width:560px){.contact-title-line,.contact-last-line{font-size:clamp(1.85rem,8.15vw,2.15rem)}}
.brands-title-line{display:block;white-space:normal}.brands h2{font-size:clamp(2.25rem,6.25vw,7rem)}
.hero-title-en{font-size:clamp(2.8rem,5.45vw,6rem)!important}.hero-title-en>span,.hero-title-en>em{display:block;white-space:normal}
footer{grid-template-columns:minmax(180px,1.2fr) minmax(230px,1fr) minmax(180px,.8fr) auto;align-items:center}footer>*{min-width:0}footer>*+*{border-left:1px solid rgba(234,219,194,.22);padding-left:2rem}footer small{white-space:nowrap}
@media(max-width:900px){footer{grid-template-columns:1fr 1fr}footer>*+*{border-left:0;padding-left:0}footer>*:nth-child(even){border-left:1px solid rgba(234,219,194,.22);padding-left:2rem}}
@media(max-width:560px){.hero-title-en{font-size:2rem!important}footer{grid-template-columns:1fr}footer>*:nth-child(even),footer>*+*{border-left:0;border-top:1px solid rgba(234,219,194,.18);padding:1.5rem 0 0}}
.brands-title-line+.brands-title-line{margin-top:.08em}
.brands-title-en>span{display:inline-block;white-space:nowrap}.brands-title-en>br+span{margin-top:.2em}
.food-showcase{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;align-items:center;padding-bottom:4rem}.food-card,.food-card-tall,.food-card-round,.food-card-wide{width:100%;height:auto;aspect-ratio:1;border-radius:34px;grid-column:auto;box-shadow:0 24px 54px rgba(24,25,24,.14);animation:food-float 6s ease-in-out infinite}.food-card:nth-child(2){animation-delay:-2s}.food-card:nth-child(3){animation-delay:-4s}@keyframes food-float{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -13px;rotate:.35deg}}
@media(max-width:900px){.food-showcase{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.food-card,.food-card-tall,.food-card-round,.food-card-wide{height:auto;grid-column:auto;border-radius:26px}}
@media(max-width:560px){.food-showcase{grid-template-columns:1fr;gap:1.5rem}.food-card,.food-card-tall,.food-card-round,.food-card-wide{width:100%;height:auto;grid-column:auto;border-radius:24px}}
@media(prefers-reduced-motion:reduce){.food-card,.food-card-tall,.food-card-round,.food-card-wide{animation:none}}
.legal-main{overflow-x:hidden}
@media(max-width:560px){
  .legal-main{padding:125px 5vw 5rem;overflow-x:hidden}
  .legal-wrap{width:100%;max-width:none;min-width:0}
  .legal-main h1{font-size:clamp(2.35rem,10.5vw,3.6rem)!important;line-height:.9;letter-spacing:-.045em;overflow-wrap:normal;word-break:normal;margin-bottom:2rem}
  .legal-main h2{font-size:1.55rem!important;line-height:1.1;overflow-wrap:normal;word-break:normal}
  .legal-main p{font-size:1rem;line-height:1.65;overflow-wrap:normal;word-break:normal}
  .legal-main .legal-date{font-size:.72rem!important;line-height:1.5;letter-spacing:.06em}
  .legal-main a{overflow-wrap:normal;word-break:normal}
}
.contact-main{min-height:100vh;padding:150px 8vw 8rem;background:linear-gradient(135deg,var(--ink) 0 56%,#211f1b 100%);color:var(--cream);position:relative;overflow:hidden}.contact-main:after{content:"V";position:absolute;right:-4vw;bottom:-9vw;font:700 42vw/.7 var(--display);color:rgba(201,129,39,.08);pointer-events:none}.contact-intro{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(340px,.72fr);gap:4vw;align-items:end;margin-bottom:6rem}.contact-intro h1{font:700 clamp(3.8rem,7.25vw,8.1rem)/.82 var(--display);letter-spacing:-.035em;margin:0}.contact-title-line,.contact-last-line{display:block;white-space:nowrap}.contact-intro h1 em{color:var(--ochre)}.contact-intro-copy{max-width:650px;color:rgba(234,219,194,.75);line-height:1.7;margin:0 0 .45em;font-size:clamp(1rem,1.2vw,1.16rem)}.contact-layout{position:relative;z-index:1;display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;padding-top:4rem;border-top:1px solid rgba(234,219,194,.2)}.contact-details{display:flex;flex-direction:column;gap:2.3rem}.contact-detail{display:flex;flex-direction:column;gap:.55rem}.contact-detail small{text-transform:uppercase;letter-spacing:.15em;color:var(--ochre)}.contact-detail a,.contact-detail strong{font:700 clamp(1.35rem,2.2vw,2rem) var(--display)}.contact-main .project-form{align-self:start}.contact-main .field input,.contact-main .field select{background:rgba(234,219,194,.05)}.contact-main .field select option{background:#f4ead6;color:#181918}
@media(max-width:900px){.contact-intro,.contact-layout{grid-template-columns:1fr}.contact-intro{gap:2rem}.contact-title-line,.contact-last-line{white-space:normal}.contact-layout{gap:4rem}.contact-main{padding-left:6vw;padding-right:6vw}}
@media(max-width:560px){.contact-main{padding-top:125px}.contact-intro h1{font-size:3.6rem}.contact-intro{margin-bottom:4rem}}

/* Production readiness: performance, conversion and accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ochre);outline-offset:4px}
.hero-photo{background-image:linear-gradient(90deg,rgba(16,17,15,.98) 0%,rgba(16,17,15,.8) 34%,rgba(16,17,15,.12) 68%,rgba(16,17,15,.38) 100%),linear-gradient(0deg,rgba(16,17,15,.9) 0%,transparent 35%),url("vital-mfg-usine-sauces-montreal.webp");background-position:center;background-size:cover;background-repeat:no-repeat}
.local-proof{display:grid;grid-template-columns:repeat(3,1fr);padding:0 8vw 8rem;background:var(--cream)}
.local-proof article{padding:2rem;border-top:1px solid var(--line);border-right:1px solid var(--line)}
.local-proof article:first-child{border-left:1px solid var(--line)}
.local-proof span{display:block;color:var(--ochre);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.4rem}
.local-proof strong{display:block;font:700 clamp(1.55rem,2.4vw,2.5rem)/1 var(--display);margin-bottom:1rem}
.local-proof p{margin:0;color:var(--brown);line-height:1.6}
.footer-meta a{text-decoration:underline;text-decoration-color:rgba(234,219,194,.35);text-underline-offset:4px}
.field input,.field select,.field textarea{width:100%;min-height:48px;border:0;border-bottom:1px solid rgba(234,219,194,.55);border-radius:0;background:rgba(24,25,24,.08);color:var(--cream);padding:.7rem;font:inherit}
.field textarea{resize:vertical;min-height:120px}.field input::placeholder,.field textarea::placeholder{color:rgba(234,219,194,.5)}
.field label span{opacity:.65;text-transform:none;letter-spacing:0}.field-wide{grid-column:1/-1}
.form-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.consent{display:flex;align-items:flex-start;gap:.75rem;color:rgba(234,219,194,.72);font-size:.8rem;line-height:1.5}.consent input{width:18px;height:18px;accent-color:var(--ochre);flex:0 0 auto;margin-top:.1rem}.consent a{text-decoration:underline;text-underline-offset:3px}
.form-status{min-height:1.2em;margin:0;color:var(--cream);font-size:.8rem}.form-submit{margin-top:.3rem}.form-submit[disabled]{opacity:.65;cursor:wait}
.contact-main .field textarea{background:rgba(234,219,194,.05)}
.legal-main,.thanks-main{min-height:100vh;padding:150px 8vw 8rem;background:var(--cream);color:var(--ink)}.legal-wrap,.thanks-wrap{max-width:900px}.legal-main h1,.thanks-main h1{font:700 clamp(3.5rem,7vw,7rem)/.85 var(--display);letter-spacing:-.035em;margin:0 0 3rem}.legal-main h2{font:700 2rem/1 var(--display);margin:3rem 0 1rem}.legal-main p,.legal-main li,.thanks-main p{line-height:1.75;color:var(--brown)}.legal-main a,.thanks-main a{text-decoration:underline;text-underline-offset:3px}.legal-date{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.thanks-main .button{margin-top:2rem;border-color:var(--ink);text-decoration:none}
@media(max-width:900px){.local-proof{padding:0 6vw 6rem;grid-template-columns:1fr}.local-proof article,.local-proof article:first-child{border-left:1px solid var(--line)}.legal-main,.thanks-main{padding-left:6vw;padding-right:6vw}}
@media(max-width:560px){.legal-main,.thanks-main{padding-top:125px}.local-proof article{padding:1.5rem}}

/* FAQ: service-list inspired accordion */
.faq-section{background:var(--ink);color:var(--cream);padding:8rem 8vw;position:relative}
.faq-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6rem}
.faq-head .eyebrow.dark{color:rgba(234,219,194,.72)}
.faq-head h1{font-family:var(--display);font-weight:800;line-height:.8;letter-spacing:-.035em;margin:0;font-size:clamp(3.9rem,6.15vw,7rem)}
.faq-title-line,.faq-last-line{display:block;white-space:nowrap}
.faq-list{width:100%;max-width:none;margin-left:0;border-top:1px solid rgba(234,219,194,.2)}
.faq-list details{border-bottom:1px solid rgba(234,219,194,.2);padding:0;transition:background .25s,padding-left .25s}
.faq-list details:hover,.faq-list details[open]{background:rgba(234,219,194,.035)}
.faq-list details:hover{padding-left:1rem}
.faq-list summary{cursor:pointer;list-style:none;padding:2.1rem 4.5rem 2.1rem 0;font:700 clamp(1.75rem,3vw,3.15rem)/1 var(--display);position:relative;max-width:min(680px,55vw)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:-4.5rem;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:var(--red);display:grid;place-items:center;font:600 1.1rem/1 var(--body);color:var(--cream);transition:transform .25s,background .25s,color .25s}
.faq-list details[open] summary:after{content:"−";transform:translateY(-50%) rotate(180deg);background:var(--cream);color:var(--ink)}
.faq-list details p{max-width:520px;margin:-5.1rem 6rem 2.1rem auto;padding:0;color:rgba(234,219,194,.68);line-height:1.65}
.faq-list summary:focus-visible{outline:3px solid var(--ochre);outline-offset:5px}
@media(max-width:900px){.faq-section{padding:7rem 6vw}.faq-head{margin-bottom:3.5rem}.faq-title-line,.faq-last-line{white-space:normal}.faq-list{margin-left:0}.faq-list summary{max-width:none;font-size:clamp(1.55rem,6vw,2.8rem)}.faq-list details p{max-width:720px;margin:0 4.5rem 2rem 0}}
@media(max-width:560px){.faq-section{padding:5rem 6vw}.faq-head h1{font-size:3.5rem}.faq-list summary{font-size:1.45rem;line-height:1.08;padding:1.45rem 3rem 1.45rem 0}.faq-list details:hover{padding-left:0}.faq-list details p{margin:0 0 1.55rem 0;font-size:.98rem;padding-right:2.5rem}.faq-list summary:after{right:0;width:32px;height:32px}}
.faq-page .site-header{position:fixed;background:rgba(24,25,24,.95);backdrop-filter:blur(12px)}
.faq-page .faq-section{padding-top:12rem}
@media(max-width:900px){.faq-page .faq-section{padding-top:10rem}}
@media(max-width:560px){.faq-page .faq-section{padding-top:9rem}}
